Each State-derived class is responsible for a particular type of declaration of the grammar. For example, SequenceState is responsible for parsing <sequence> element of RELAX module.
State objects interact each other. There are two ways of interaction.
In this level of inheritance, contract is somewhat abstract.
SimpleState.
this class also provides:
| Modifier and Type | Field and Description |
|---|---|
| protected String | baseURI
base URI for this state. |
| protected Locator | location
Location of the start tag. |
| protected State | parentState
parent state of this state. |
| public GrammarReader | reader
reader object who is the owner of this object. |
| protected StartTagInfo | startTag
information of the start tag. |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public static void | |
| protected final Expression | |
| public void | characters(char[]
the characters from the XML document buffer, int the start position in the array from, int the number of characters to read from the array len)Implements org. |
| public void | endPrefixMapping(String
the prefix that was being mapped.
This is the empty string when a default mapping scope ends. prefix)Implements org. |
| public String | |
| public Locator | |
| public final State | |
| public StartTagInfo | |
| public void | ignorableWhitespace(char[]
the characters from the XML document buffer, int the start position in the array from, int the number of characters to read from the array len)Implements org. |
| protected final void | |
| public void | processingInstruction(String
the processing instruction target target, String the processing instruction data, or null if
none was supplied. The data does not include any
whitespace separating it from the target data)Implements org. |
| public void | setDocumentLocator(Locator
an object that can return the location of
any SAX document event loc)Implements org. |
| public void | skippedEntity(String
the name of the skipped entity. If it is a
parameter entity, the name will begin with '%', and if
it is the external DTD subset, it will be the string
"[dtd]" name)Implements org. |
| public final void | startDocument()
Implements org. |
| public void | startPrefixMapping(String
the Namespace prefix being declared.
An empty string is used for the default element namespace,
which has no prefix. prefix, String the Namespace URI the prefix is mapped to uri)Implements org. |
| protected void |
| baseURI | back to summary |
|---|---|
| protected String baseURI base URI for this state. This information is avaiable after init method is called. | |
| location | back to summary |
|---|---|
| protected Locator location Location of the start tag. This information is avaiable after init method is called. | |
| parentState | back to summary |
|---|---|
| protected State parentState parent state of this state. In other words, the parent state is a state who is responsible for the parent element of the current element. For states responsible for the document element, the parent state is a state who is responsible for the entire document. For states responsible for the entire document, the parent state is always null. | |
| reader | back to summary |
|---|---|
| public GrammarReader reader reader object who is the owner of this object. This information is avaiable after init method is called. | |
| startTag | back to summary |
|---|---|
| protected StartTagInfo startTag information of the start tag. This information is avaiable after init method is called. | |
| State | back to summary |
|---|---|
| public State() | |
| _assert | back to summary |
|---|---|
| public static void _assert(boolean b) | |
| callInterceptExpression | back to summary |
|---|---|
| protected final Expression callInterceptExpression(Expression exp) | |
| characters | back to summary |
|---|---|
| public void characters(char[] buffer, int from, int len) throws SAXException Implements org. Doc from org. 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. Individual characters may consist of more than one Java
Your code should not assume that algorithms using
Note that some parsers will report whitespace in element
content using the
| |
| endPrefixMapping | back to summary |
|---|---|
| public void endPrefixMapping(String prefix) throws SAXException Implements org. Doc from org. End the scope of a prefix-URI mapping. See
| |
| getBaseURI | back to summary |
|---|---|
| public String getBaseURI() | |
| getLocation | back to summary |
|---|---|
| public Locator getLocation() | |
| getParentState | back to summary |
|---|---|
| public final State getParentState() | |
| getStartTag | back to summary |
|---|---|
| public StartTagInfo getStartTag() | |
| ignorableWhitespace | back to summary |
|---|---|
| public void ignorableWhitespace(char[] buffer, int from, int len) throws SAXException Implements org. Doc from org. Receive notification of ignorable whitespace in element content. Validating Parsers must use this method to report each chunk of whitespace in element content (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.
| |
| init | back to summary |
|---|---|
| protected final void init(GrammarReader reader, State parentState, StartTagInfo startTag) | |
| processingInstruction | back to summary |
|---|---|
| public void processingInstruction(String target, String data) throws SAXException Implements org. Doc from org. Receive notification of a processing instruction. The Parser will invoke this method once for each processing instruction found: note that processing instructions may occur before or after the main document element. A SAX parser must never report an XML declaration (XML 1.0, section 2.8) or a text declaration (XML 1.0, section 4.3.1) using this method. Like
| |
| setDocumentLocator | back to summary |
|---|---|
| public void setDocumentLocator(Locator loc) Implements org. Doc from org. Receive an object for locating the origin of SAX document events. SAX parsers are strongly encouraged (though not absolutely required) to supply a locator: if it does so, it must supply the locator to the application by invoking this method before invoking any of the other methods in the ContentHandler interface. The locator allows the application to determine the end position of any document-related event, even if the parser is not reporting an error. Typically, the application will use this information for reporting its own errors (such as character content that does not match an application's business rules). The information returned by the locator is probably not sufficient for use with a search engine. Note that the locator will return correct information only
during the invocation SAX event callbacks after
| |
| skippedEntity | back to summary |
|---|---|
| public void skippedEntity(String name) throws SAXException Implements org. Doc from org. Receive notification of a skipped entity. This is not called for entity references within markup constructs such as element start tags or markup declarations. (The XML recommendation requires reporting skipped external entities. SAX also reports internal entity expansion/non-expansion, except within markup constructs.) The Parser will invoke this method each time the entity is
skipped. Non-validating processors may skip entities if they
have not seen the declarations (because, for example, the
entity was declared in an external DTD subset). All processors
may skip external entities, depending on the values of the
| |
| startDocument | back to summary |
|---|---|
| public final void startDocument() throws SAXException Implements org. Doc from org. Receive notification of the beginning of a document. The SAX parser will invoke this method only once, before any
other event callbacks (except for
| |
| startPrefixMapping | back to summary |
|---|---|
| public void startPrefixMapping(String prefix, String uri) throws SAXException Implements org. Doc from org. Begin the scope of a prefix-URI Namespace mapping. The information from this event is not necessary for
normal Namespace processing: the SAX XML reader will
automatically replace prefixes for element and attribute
names when the There are cases, however, when applications need to use prefixes in character data or in attribute values, where they cannot safely be expanded automatically; the start/endPrefixMapping event supplies the information to the application to expand prefixes in those contexts itself, if necessary. Note that start/endPrefixMapping events are not
guaranteed to be properly nested relative to each other:
all startPrefixMapping events will occur immediately before the
corresponding There should never be start/endPrefixMapping events for the "xml" prefix, since it is predeclared and immutable.
| |
| startSelf | back to summary |
|---|---|
| protected void startSelf() performs a task that should be done before reading any child elements. derived-class can safely read startTag and/or parentState values. | |