AbstractXMLDocumentParser.java revision 286
0N/A * reserved comment block 0N/A * DO NOT REMOVE OR ALTER! 0N/A * Copyright 2001, 2002,2004 The Apache Software Foundation. 0N/A * Licensed under the Apache License, Version 2.0 (the "License"); 0N/A * you may not use this file except in compliance with the License. 0N/A * You may obtain a copy of the License at 0N/A * Unless required by applicable law or agreed to in writing, software 0N/A * distributed under the License is distributed on an "AS IS" BASIS, 0N/A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 0N/A * See the License for the specific language governing permissions and 0N/A * limitations under the License. 0N/A * This is the base class for all XML document parsers. XMLDocumentParser 0N/A * provides a common implementation shared by the various document parsers 0N/A * in the Xerces package. While this class is provided for convenience, it 0N/A * does not prevent other kinds of parsers to be constructed using the XNI 0N/A * @author Arnaud Le Hors, IBM 0N/A * @author Andy Clark, IBM /** True if inside DTD. */ /** DTD content model source*/ * Constructs a document parser using the default symbol table }
// <init>(XMLParserConfiguration) // XMLDocumentHandler methods * The start of the document. * @param locator The system identifier of the entity if the entity * is external, null otherwise. * @param encoding The auto-detected IANA encoding name of the entity * stream. This value will be null in those situations * where the entity encoding is not auto-detected (e.g. * internal entities or a document entity that is * parsed from a java.io.Reader). * @param namespaceContext * The namespace context in effect at the * start of this document. * This object represents the current context. * Implementors of this class are responsible * for copying the namespace bindings from the * the current context (and its parent contexts) * if that information is important. * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. }
// startDocument(XMLLocator,String) * Notifies of the presence of an XMLDecl line in the document. If * present, this method will be called immediately following the * @param version The XML version. * @param encoding The IANA encoding name of the document, or null if * @param standalone The standalone value, or null if not specified. * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. }
// xmlDecl(String,String,String) * Notifies of the presence of the DOCTYPE line in the document. * @param rootElement The name of the root element. * @param publicId The public identifier if an external DTD or null * if the external DTD is specified using SYSTEM. * @param systemId The system identifier if an external DTD, null * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. }
// doctypeDecl(String,String,String) * The start of an element. If the document specifies the start element * by using an empty tag, then the startElement method will immediately * be followed by the endElement method, with no intervening methods. * @param element The name of the element. * @param attributes The element attributes. * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. }
// startElement(QName,XMLAttributes) * @param element The name of the element. * @param attributes The element attributes. * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. }
// emptyElement(QName,XMLAttributes) * @param text The content. * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. }
// characters(XMLString) * Ignorable whitespace. For this method to be called, the document * source must have some way of determining that the text containing * only whitespace characters should be considered ignorable. For * example, the validator can determine if a length of whitespace * characters in the document are ignorable based on the element * @param text The ignorable whitespace. * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. }
// ignorableWhitespace(XMLString) * @param element The name of the element. * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. * The start of a CDATA section. * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. * The end of a CDATA section. * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. * The end of the document. * @param augs Additional information that may include infoset augmentations * @throws XNIException Thrown by handler to signal an error. * This method notifies the start of an entity. * <strong>Note:</strong> This method is not called for entity references * appearing as part of attribute values. * @param name The name of the entity. * @param identifier The resource identifier. * @param encoding The auto-detected IANA encoding name of the entity * stream. This value will be null in those situations * where the entity encoding is not auto-detected (e.g. * internal entities or a document entity that is * parsed from a java.io.Reader). * @param augs Additional information that may include infoset augmentations * @exception XNIException Thrown by handler to signal an error. }
// startGeneralEntity(String,XMLResourceIdentifier,String,Augmentations) * Notifies of the presence of a TextDecl line in an entity. If present, * this method will be called immediately following the startEntity call. * <strong>Note:</strong> This method will never be called for the * document entity; it is only called for external general entities * referenced in document content. * <strong>Note:</strong> This method is not called for entity references * appearing as part of attribute values. * @param version The XML version, or null if not specified. * @param encoding The IANA encoding name of the entity. * @param augs Additional information that may include infoset augmentations * @exception XNIException * Thrown by handler to signal an error. }
// textDecl(String, String, Augmentations) * This method notifies the end of an entity. * <strong>Note:</strong> This method is not called for entity references * appearing as part of attribute values. * @param name The name of the entity. * @param augs Additional information that may include infoset augmentations * @exception XNIException * Thrown by handler to signal an error. }
// endGeneralEntity(String,Augmentations) * @param text The text in the comment. * @param augs Additional information that may include infoset augmentations * @exception XNIException * Thrown by application to signal an error. }
// comment (XMLString, Augmentations) * A processing instruction. Processing instructions consist of a * target name and, optionally, text data. The data is only meaningful * Typically, a processing instruction's data will contain a series * of pseudo-attributes. These pseudo-attributes follow the form of * element attributes but are <strong>not</strong> parsed or presented * to the application as anything other than text. The application is * responsible for parsing the data. * @param target The target. * @param data The data or null if none specified. * @param augs Additional information that may include infoset augmentations * @exception XNIException * Thrown by handler to signal an error. }
// processingInstruction(String, XMLString, Augmentations) /** Sets the document source */ /** Returns the document source */ * @param locator The document locator, or null if the document * location cannot be reported during the parsing of * the document DTD. However, it is <em>strongly</em> * recommended that a locator be supplied that can * at least report the base system identifier of the * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// startDTD(XMLLocator) * The start of the DTD external subset. * @param augmentations Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// startExternalSubset(Augmentations) * The end of the DTD external subset. * @param augmentations Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// endExternalSubset(Augmentations) * This method notifies the start of an entity. * <strong>Note:</strong> This method is not called for entity references * appearing as part of attribute values. * @param name The name of the entity. * @param identifier The resource identifier. * @param encoding The auto-detected IANA encoding name of the entity * stream. This value will be null in those situations * where the entity encoding is not auto-detected (e.g. * internal entities or a document entity that is * parsed from a java.io.Reader). * @param augs Additional information that may include infoset augmentations * @exception XNIException Thrown by handler to signal an error. }
// startParameterEntity(String,XMLResourceIdentifier,String,Augmentations) * This method notifies the end of an entity. * <strong>Note:</strong> This method is not called for entity references * appearing as part of attribute values. * @param name The name of the entity. * @param augs Additional information that may include infoset augmentations * @exception XNIException * Thrown by handler to signal an error. }
// endParameterEntity(String,Augmentations) * Characters within an IGNORE conditional section. * @param text The ignored text. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// ignoredCharacters(XMLString, Augmentations) * An element declaration. * @param name The name of the element. * @param contentModel The element content model. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// elementDecl(String,String) * The start of an attribute list. * @param elementName The name of the element that this attribute * list is associated with. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// startAttlist(String) * An attribute declaration. * @param elementName The name of the element that this attribute * @param attributeName The name of the attribute. * @param type The attribute type. This value will be one of * the following: "CDATA", "ENTITY", "ENTITIES", * "ENUMERATION", "ID", "IDREF", "IDREFS", * "NMTOKEN", "NMTOKENS", or "NOTATION". * @param enumeration If the type has the value "ENUMERATION" or * "NOTATION", this array holds the allowed attribute * values; otherwise, this array is null. * @param defaultType The attribute default type. This value will be * one of the following: "#FIXED", "#IMPLIED", * @param defaultValue The attribute default value, or null if no * default value is specified. * @param nonNormalizedDefaultValue The attribute default value with no normalization * performed, or null if no default value is specified. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// attributeDecl(String,String,String,String[],String,XMLString, XMLString, Augmentations) * The end of an attribute list. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. * An internal entity declaration. * @param name The name of the entity. Parameter entity names start with * '%', whereas the name of a general entity is just the * @param text The value of the entity. * @param nonNormalizedText The non-normalized value of the entity. This * value contains the same sequence of characters that was in * the internal entity declaration, without any entity * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// internalEntityDecl(String,XMLString,XMLString) * An external entity declaration. * @param name The name of the entity. Parameter entity names start * with '%', whereas the name of a general entity is just * @param identifier An object containing all location information * pertinent to this entity. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// externalEntityDecl(String,XMLResourceIdentifier, Augmentations) * An unparsed entity declaration. * @param name The name of the entity. * @param identifier An object containing all location information * pertinent to this entity. * @param notation The name of the notation. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// unparsedEntityDecl(String,XMLResourceIdentifier, String, Augmentations) * @param name The name of the notation. * @param identifier An object containing all location information * pertinent to this notation. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// notationDecl(String,XMLResourceIdentifier, Augmentations) * The start of a conditional section. * @param type The type of the conditional section. This value will * either be CONDITIONAL_INCLUDE or CONDITIONAL_IGNORE. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. * @see #CONDITIONAL_INCLUDE * @see #CONDITIONAL_IGNORE }
// startConditional(short) * The end of a conditional section. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. // set the source of this handler // return the source from which this handler derives its events // XMLDTDContentModelHandler methods * The start of a content model. Depending on the type of the content * model, specific methods may be called between the call to the * startContentModel method and the call to the endContentModel method. * @param elementName The name of the element. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// startContentModel(String, Augmentations) * A content model of ANY. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. * A content model of EMPTY. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// empty(Augmentations) * A start of either a mixed or children content model. A mixed * content model will immediately be followed by a call to the * <code>pcdata()</code> method. A children content model will * contain additional groups and/or elements. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// stargGroup(Augmentations) * The appearance of "#PCDATA" within a group signifying a * mixed content model. This method will be the first called * following the content model's <code>startGroup()</code>. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// pcdata(Augmentations) * A referenced element in a mixed or children content model. * @param elementName The name of the referenced element. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// element(String, Augmentations) * The separator between choices or sequences of a mixed or children * @param separator The type of children separator. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. * @see #SEPARATOR_SEQUENCE }
// separator(short, Augmentations) * The occurrence count for a child in a children content model or * for the mixed content model group. * @param occurrence The occurrence count for the last element * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. * @see #OCCURS_ZERO_OR_ONE * @see #OCCURS_ZERO_OR_MORE * @see #OCCURS_ONE_OR_MORE }
// occurence(short, Augmentations) * The end of a group for mixed or children content models. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// endGroup(Augmentations) * The end of a content model. * @param augs Additional information that may include infoset * @throws XNIException Thrown by handler to signal an error. }
// endContentModel(Augmentations) // set content model source // get content model source * reset all components before parsing }
// class AbstractXMLDocumentParser