Class TREXGrammarReader

  • All Implemented Interfaces:
    IDContextProvider2, XSDatatypeResolver, org.relaxng.datatype.ValidationContext, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.XMLFilter, org.xml.sax.XMLReader

    public class TREXGrammarReader
    extends TREXBaseReader
    implements XSDatatypeResolver
    reads TREX grammar from SAX2 and constructs abstract grammar model.
    • Field Detail

      • currentGrammarURI

        protected java.lang.String currentGrammarURI
        TREX allows either (1) the predefined namespace for TREX or (2) default namespace "" as its namespace. This variable holds which namespace is currently in use.
      • TREXNamespace

        public static final java.lang.String TREXNamespace
        Namespace URI of TREX
        See Also:
        Constant Field Values
      • issueObsoletedXMLSchemaNamespace

        private boolean issueObsoletedXMLSchemaNamespace
    • Method Detail

      • parse

        public static TREXGrammar parse​(java.lang.String grammarURL,
                                        javax.xml.parsers.SAXParserFactory factory,
                                        GrammarReaderController controller)
        loads TREX pattern
      • parse

        public static TREXGrammar parse​(org.xml.sax.InputSource grammar,
                                        javax.xml.parsers.SAXParserFactory factory,
                                        GrammarReaderController controller)
        loads TREX pattern
      • localizeMessage

        protected java.lang.String localizeMessage​(java.lang.String propertyName,
                                                   java.lang.Object[] args)
        Description copied from class: GrammarReader
        formats localized message with arguments
        Overrides:
        localizeMessage in class TREXBaseReader
      • mapNamespace

        private java.lang.String mapNamespace​(java.lang.String namespace)
        maps obsoleted XML Schema namespace to the current one.
      • resolveXSDatatype

        public XSDatatypeExp resolveXSDatatype​(java.lang.String qName)
        Specified by:
        resolveXSDatatype in interface XSDatatypeResolver
        Parameters:
        qName - The type of this value varies in the schema language. In XML Schema, for example, in which QNames are used to designate datatypes, this parameter will be QName. In RELAX Core, in which the same syntax is used but NCName is used to designate datatypes. So this parameter will be NCName.
        Returns:
        A non-null valid object. An error should be reported and recovered by the callee.
      • resolveDatatype

        public org.relaxng.datatype.Datatype resolveDatatype​(java.lang.String qName)
        obtains a named DataType object referenced by a QName.
      • wrapUp

        public void wrapUp()
        Description copied from class: TREXBaseReader
        performs final wrap-up. This method is called from the RootState object, after the parsing is completed.

        This method has to be called after the run-away expression check is done.

        Overrides:
        wrapUp in class TREXBaseReader