TREXGrammar object that exactly matches to
the parsed DTD.
Each element declaration will have its own ReferenceExp by the name of the element.
Note that this class does NOT extend GrammarReader, because DTD is not written in XML format.
| Modifier and Type | Class and Description |
|---|---|
| private static class | |
| protected class |
| Modifier and Type | Field and Description |
|---|---|
| protected static final String | ABANDON_URI_SNIFFING
when this value is in the above set, that indicates we couldn't detect what URIs are going to be used with that prefix. |
| protected final Map | attributeDecls
map from element name to (map from attribute name to AttModel). |
| protected final short | |
| protected short | |
| protected Expression | |
| protected DTDReader. | |
| protected final Controller | |
| private DatatypeLibrary | datatypeLibrary
Used to create Datatype objects. |
| private final Map | declaredLocations
this map remembers where ReferenceExps are defined, and where user defined types are defined. |
| protected final Map | elementDecls
map from element name to its content model. |
| public static final String | |
| public static final String | |
| protected final TREXGrammar | |
| protected Locator | |
| protected final Map | namespaces
map from prefix to set of possible namespace URI. |
| private boolean | reportedXmlnsWarning
this flag is set to true after reporting WRN_ATTEMPT_TO_USE_NAMESPACE. |
| public static final String |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public void | attributeDecl(String elementName, String attributeName, String attributeType, String[] enums, short attributeUse, String defaultValue)
Implements com. |
| public void | characters(char[]
The characters from the DTD. ch, int The start position in the array. start, int The number of characters to read from the array. length)Implements com. |
| public void | childElement(String elementName, short occurence)
Implements com. |
| protected void | |
| public void | comment(String
the text within the comment delimiters. n)Implements com. |
| public void | connector(short type)
Implements com. |
| protected Expression | |
| public Datatype | |
| protected ReferenceExp | Returns: ReferenceExp that corresponds to the created element declaration.Creates an element declaration in the grammar object by using the parsed result. |
| protected Expression | Returns: An expression that corresponds to the choice of all element declarations. This will be used to implement "ANY".Creates element declarations from the parsed result. |
| protected static final Map | |
| public void | endCDATA()
Implements com. |
| public void | endContentModel(String elementName, short type)
Implements com. |
| public void | endDTD()
Implements com. |
| public void | |
| public void | |
| public void | externalGeneralEntityDecl(String
The entity name. n, String The entity's public identifier, or null if
none was given. p, String The entity's system identifier. s)Implements com. |
| public void | externalParameterEntityDecl(String
The parameter entity name. n, String The entity's public identifier, or null if
none was given. p, String The entity's system identifier. s)Implements com. |
| public void | |
| protected final ReferenceExp | |
| public Locator | |
| protected NameClass | |
| private Set | |
| public TREXGrammar | Returns: null if there was an error. Otherwise a parsed grammar object will be returned.Obtains the parsed grammar object. |
| public void | ignorableWhitespace(char[]
The characters from the DTD. ch, int The start position in the array. start, int The number of characters to read from the array. length)Implements com. |
| public void | internalGeneralEntityDecl(String
The internal general entity name. n, String The value of the entity, which may include unexpanded
entity references. Character references will have been
expanded. v)Implements com. |
| public void | internalParameterEntityDecl(String
The internal parameter entity name. n, String The value of the entity, which may include unexpanded
entity references. Character references will have been
expanded. v)Implements com. |
| public boolean | |
| public void | mixedElement(String elementName)
Implements com. |
| public void | notationDecl(String
The notation name, referred to by entities and
elements. name, String The public identifier publicId, String The system identifier systemId)Implements com. |
| public static TREXGrammar | |
| public static TREXGrammar | |
| public void | processingInstruction(String
The target of the proceessing instruction
which should have meaning to the application. target, String The instruction itself which should contain
valid XML characters. data)Implements com. |
| protected Expression | |
| public String | |
| public void | |
| public void | |
| public void | |
| protected String[] | |
| public void | startCDATA()
Implements com. |
| public void | startContentModel(String
name of the element whose content model is going to be defined. elementName, short CONTENT_MODEL_EMPTY
this element has EMPTY content model. This notification
will be immediately followed by the corresponding endContentModel.
CONTENT_MODEL_ANY
this element has ANY content model. This notification
will be immediately followed by the corresponding endContentModel.
CONTENT_MODEL_MIXED
this element has mixed content model. #PCDATA will not be reported.
each child element will be reported by mixedElement method.
CONTENT_MODEL_CHILDREN
this elemen has child content model. The actual content model will
be reported by childElement, startModelGroup, endModelGroup, and
connector methods. Possible call sequences are:
START := MODEL_GROUP
MODEL_GROUP := startModelGroup TOKEN (connector TOKEN)* endModelGroup
TOKEN := childElement
| MODEL_GROUPImplements com. |
| public void | startDTD(InputEntity
Current input entity. in)Implements com. |
| public void | |
| public void | unparsedEntityDecl(String
The name of the unparsed entity. name, String The public identifier publicId, String The system identifier systemId, String The associated notation notationName)Implements com. |
| public void |
| ABANDON_URI_SNIFFING | back to summary |
|---|---|
| protected static final String ABANDON_URI_SNIFFING when this value is in the above set, that indicates we couldn't detect what URIs are going to be used with that prefix. | |
| attributeDecls | back to summary |
|---|---|
| protected final Map<String, Map<String, Object>> attributeDecls map from element name to (map from attribute name to AttModel). | |
| CONNECTOR_UNKNOWN | back to summary |
|---|---|
| protected final short CONNECTOR_UNKNOWN | |
| connectorType | back to summary |
|---|---|
| protected short connectorType | |
| contentModel | back to summary |
|---|---|
| protected Expression contentModel | |
| contextStack | back to summary |
|---|---|
| protected DTDReader. | |
| controller | back to summary |
|---|---|
| protected final Controller controller | |
| datatypeLibrary | back to summary |
|---|---|
| private DatatypeLibrary datatypeLibrary Used to create Datatype objects. This datatype library should be able to handle XML Schema datatypes because those are the names we ask to this library. | |
| declaredLocations | back to summary |
|---|---|
| private final Map<Object, Locator> declaredLocations this map remembers where ReferenceExps are defined, and where user defined types are defined. some ReferenceExp can be defined in more than one location. In those cases, the last one is always memorized. This behavior is essential to correctly implement TREX constraint that no two <define> is allowed in the same file. | |
| elementDecls | back to summary |
|---|---|
| protected final Map<String, Object> elementDecls map from element name to its content model. | |
| ERR_UNDECLARED_PREFIX | back to summary |
|---|---|
| public static final String ERR_UNDECLARED_PREFIX | |
| ERR_UNDEFINED_ELEMENT | back to summary |
|---|---|
| public static final String ERR_UNDEFINED_ELEMENT | |
| grammar | back to summary |
|---|---|
| protected final TREXGrammar grammar | |
| locator | back to summary |
|---|---|
| protected Locator locator | |
| namespaces | back to summary |
|---|---|
| protected final Map<String, Set<String>> namespaces map from prefix to set of possible namespace URI. default namespace (without prefix) is stored by using "" as a key. | |
| reportedXmlnsWarning | back to summary |
|---|---|
| private boolean reportedXmlnsWarning this flag is set to true after reporting WRN_ATTEMPT_TO_USE_NAMESPACE. this is used to prevent issuing the same warning more than once. | |
| WRN_ATTEMPT_TO_USE_NAMESPACE | back to summary |
|---|---|
| public static final String WRN_ATTEMPT_TO_USE_NAMESPACE | |
| DTDReader | back to summary |
|---|---|
| public DTDReader(GrammarReaderController controller, ExpressionPool pool) | |
| attributeDecl | back to summary |
|---|---|
| public void attributeDecl(String elementName, String attributeName, String attributeType, String[] enums, short attributeUse, String defaultValue) throws SAXException Implements com. Doc from com. For each entry in an ATTLIST declaration, this event will be fired. DTD allows the same attributes to be declared more than once, and in that case the first one wins. I think this method will be only fired for the first one, but I need to check. | |
| characters | back to summary |
|---|---|
| public void characters(char[] ch, int start, int length) throws SAXException Implements com. Doc from com. Receive notification of character data. The Parser will call this method to report each chunk of character data. SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity, so that the Locator provides useful information. The application must not attempt to read from the array outside of the specified range. Note that some parsers will report whitespace using the ignorableWhitespace() method rather than this one (validating parsers must do so).
| |
| childElement | back to summary |
|---|---|
| public void childElement(String elementName, short occurence) Implements com. | |
| combineToContentModel | back to summary |
|---|---|
| protected void combineToContentModel(Expression exp) | |
| comment | back to summary |
|---|---|
| public void comment(String n) throws SAXException Implements com. Doc from com. Receive notification that a comment has been read. Note that processing instructions are the mechanism designed to hold information for consumption by applications, not comments. XML systems may rely on applications being able to access information found in processing instructions; this is not true of comments, which are typically discarded.
| |
| connector | back to summary |
|---|---|
| public void connector(short type) throws SAXException Implements com. Doc from com. Connectors in one model group is guaranteed to be the same. IOW, you'll never see an event sequence like (a|b,c) | |
| createAttributeBody | back to summary |
|---|---|
| protected Expression createAttributeBody(String elementName, String attributeName, String attributeType, String[] enums, short attributeUse, String defaultValue) throws SAXException Creates an attribute body from the declaration found in the DTD. | |
| createDatatype | back to summary |
|---|---|
| public Datatype createDatatype(String name) Obtains a Datatype object from its name. | |
| createElementDeclaration | back to summary |
|---|---|
| protected ReferenceExp createElementDeclaration(String elementName) Creates an element declaration in the grammar object by using the parsed result.
| |
| createElementDeclarations | back to summary |
|---|---|
| protected Expression createElementDeclarations() Creates element declarations from the parsed result.
| |
| createInitialNamespaceMap | back to summary |
|---|---|
| protected static final Map | |
| endCDATA | back to summary |
|---|---|
| public void endCDATA() throws SAXException Implements com. Doc from com. Receive notification that the CDATA section finished. | |
| endContentModel | back to summary |
|---|---|
| public void endContentModel(String elementName, short type) Implements com. Doc from com. receives notification that parsing of content model is finished. | |
| endDTD | back to summary |
|---|---|
| public void endDTD() throws SAXException Implements com. Doc from com. Receive notification of the end of a DTD. The parser will invoke this method only once. | |
| endModelGroup | back to summary |
|---|---|
| public void endModelGroup(short occurence) Implements com. | |
| error | back to summary |
|---|---|
| public void error(SAXParseException e) throws SAXException Implements com. | |
| externalGeneralEntityDecl | back to summary |
|---|---|
| public void externalGeneralEntityDecl(String n, String p, String s) throws SAXException Implements com. Doc from com. Receive notification of an external parsed general entity declaration event. If a system identifier is present, and it is a relative URL, the parser will have resolved it fully before passing it through this method to a listener. | |
| externalParameterEntityDecl | back to summary |
|---|---|
| public void externalParameterEntityDecl(String n, String p, String s) throws SAXException Implements com. Doc from com. Receive notification of an external parameter entity declaration event. If a system identifier is present, and it is a relative URL, the parser will have resolved it fully before passing it through this method to a listener. | |
| fatalError | back to summary |
|---|---|
| public void fatalError(SAXParseException e) throws SAXException Implements com. | |
| getAnyExp | back to summary |
|---|---|
| protected final ReferenceExp getAnyExp() Gets the expression that corresponds to the "ANY". Its defeinition will be later filled by the choice of all elements. | |
| getDeclaredLocationOf | back to summary |
|---|---|
| public Locator getDeclaredLocationOf(Object o) | |
| getNameClass | back to summary |
|---|---|
| protected NameClass getNameClass(String maybeQName, boolean handleAsAttribute) | |
| getPossibleNamespaces | back to summary |
|---|---|
| private Set | |
| getResult | back to summary |
|---|---|
| public TREXGrammar getResult() Obtains the parsed grammar object.
| |
| ignorableWhitespace | back to summary |
|---|---|
| public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException Implements com. Doc from com. Receive notification of ignorable whitespace in element content. Validating Parsers must use this method to report each chunk of ignorable whitespace (see the W3C XML 1.0 recommendation, section 2.10): non-validating parsers may also use this method if they are capable of parsing and using content models. SAX parsers may return all contiguous whitespace in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity, so that the Locator provides useful information. The application must not attempt to read from the array outside of the specified range.
| |
| internalGeneralEntityDecl | back to summary |
|---|---|
| public void internalGeneralEntityDecl(String n, String v) throws SAXException Implements com. Doc from com. Receive notification of a internal general entity declaration event. | |
| internalParameterEntityDecl | back to summary |
|---|---|
| public void internalParameterEntityDecl(String n, String v) throws SAXException Implements com. Doc from com. Receive notification of a internal parameter entity declaration event. | |
| isUnparsedEntity | back to summary |
|---|---|
| public boolean isUnparsedEntity(String entityName) | |
| mixedElement | back to summary |
|---|---|
| public void mixedElement(String elementName) Implements com. Doc from com. receives notification of child element of mixed content model. this method is called for each child element. | |
| notationDecl | back to summary |
|---|---|
| public void notationDecl(String name, String publicId, String systemId) throws SAXException Implements com. Doc from com. Receive notification of a Notation Declaration. Notation declarations are used by elements and entities for identifying embedded non-XML data. | |
| parse | back to summary |
|---|---|
| public static TREXGrammar parse(InputSource source, GrammarReaderController controller) | |
| parse | back to summary |
|---|---|
| public static TREXGrammar parse(InputSource source, GrammarReaderController controller, ExpressionPool pool) | |
| processingInstruction | back to summary |
|---|---|
| public void processingInstruction(String target, String data) throws SAXException Implements com. Doc from com. Receive notification of a Processing Instruction. Processing instructions contain information meaningful to the application. | |
| processOccurs | back to summary |
|---|---|
| protected Expression processOccurs(Expression item, short occurence) processes occurence (?,+,*) of the given expression | |
| resolveNamespacePrefix | back to summary |
|---|---|
| public String resolveNamespacePrefix(String prefix) | |
| setDatatypeLibrary | back to summary |
|---|---|
| public void setDatatypeLibrary(DatatypeLibrary datatypeLibrary) | |
| setDeclaredLocationOf | back to summary |
|---|---|
| public void setDeclaredLocationOf(Object o) | |
| setDocumentLocator | back to summary |
|---|---|
| public void setDocumentLocator(Locator loc) Implements com. | |
| splitQName | back to summary |
|---|---|
| protected String[] splitQName(String maybeQName) returns an array of (URI,localName). | |
| startCDATA | back to summary |
|---|---|
| public void startCDATA() throws SAXException Implements com. Doc from com. Receive notification that a CDATA section is beginning. Data in a CDATA section is is reported through the appropriate event, either characters() or ignorableWhitespace. | |
| startContentModel | back to summary |
|---|---|
| public void startContentModel(String elementName, short type) Implements com. Doc from com. receives notification that parsing of content model is beginning.
| |
| startDTD | back to summary |
|---|---|
| public void startDTD(InputEntity in) throws SAXException Implements com. Doc from com. Receive notification of the beginning of the DTD.
| |
| startModelGroup | back to summary |
|---|---|
| public void startModelGroup() Implements com. | |
| unparsedEntityDecl | back to summary |
|---|---|
| public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException Implements com. Doc from com. Receive notification of an unparsed entity declaration. Unparsed entities are non-XML data. | |
| warning | back to summary |
|---|---|
| public void warning(SAXParseException e) throws SAXException Implements com. | |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv boolean | |
| pack-priv Expression |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| required | back to summary |
|---|---|
| pack-priv boolean required | |
| value | back to summary |
|---|---|
| pack-priv Expression value | |
| AttModel | back to summary |
|---|---|
| pack-priv AttModel(Expression value, boolean required) | |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv final short | |
| pack-priv final Expression | |
| pack-priv final DTDReader. |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| connectorType | back to summary |
|---|---|
| pack-priv final short connectorType | |
| exp | back to summary |
|---|---|
| pack-priv final Expression exp | |
| previous | back to summary |
|---|---|
| pack-priv final DTDReader. | |
| Context | back to summary |
|---|---|
| pack-priv Context(DTDReader. | |