rahuls 2002/08/21 06:05:29 Modified: java/src/org/apache/xerces/impl/xs/opti Tag: jaxp-ri-1_2_0-fcs-branch DefaultXMLDocumentHandler.java SchemaDOMParser.java SchemaParsingConfig.java Log: Fixing NPE for the new schemaDOMParser. Revision Changes Path No revision No revision 1.1.2.2 +500 -2 xml-xerces/java/src/org/apache/xerces/impl/xs/opti/Attic/DefaultXMLDocumentHandler.java Index: DefaultXMLDocumentHandler.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/opti/Attic/DefaultXMLDocumentHandler.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- DefaultXMLDocumentHandler.java 14 Aug 2002 09:59:50 -0000 1.1.2.1 +++ DefaultXMLDocumentHandler.java 21 Aug 2002 13:05:29 -0000 1.1.2.2 @@ -62,7 +62,9 @@ import org.apache.xerces.xni.XMLLocator; import org.apache.xerces.xni.Augmentations; import org.apache.xerces.xni.XMLAttributes; +import org.apache.xerces.xni.XMLDTDHandler; import org.apache.xerces.xni.XMLDocumentHandler; +import org.apache.xerces.xni.XMLDTDContentModelHandler; import org.apache.xerces.xni.XMLResourceIdentifier; import org.apache.xerces.xni.XNIException; @@ -73,7 +75,9 @@ * * @version $Id$ */ -public class DefaultXMLDocumentHandler implements XMLDocumentHandler { +public class DefaultXMLDocumentHandler implements XMLDocumentHandler, + XMLDTDHandler, + XMLDTDContentModelHandler { /** Default Constructor */ public DefaultXMLDocumentHandler() { @@ -362,6 +366,500 @@ * Thrown by handler to signal an error. */ public void endDocument(Augmentations augs) throws XNIException { + } + + + // + // XMLDTDHandler methods + // + + /** + * The start of the DTD. + * + * @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 + * DTD. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void startDTD(XMLLocator locator, Augmentations augmentations) + throws XNIException { + } + + /** + * This method notifies of the start of a parameter entity. The parameter + * entity name start with a '%' character. + * + * @param name The name of the parameter 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 parameter entities). + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void startParameterEntity(String name, + XMLResourceIdentifier identifier, + String encoding, + Augmentations augmentations) throws XNIException { + } + + /** + * Notifies of the presence of a TextDecl line in an entity. If present, + * this method will be called immediately following the startEntity call. + * <p> + * <strong>Note:</strong> This method is only called for external + * parameter entities referenced in the DTD. + * + * @param version The XML version, or null if not specified. + * @param encoding The IANA encoding name of the entity. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ +/* + public void textDecl(String version, String encoding, + Augmentations augmentations) throws XNIException { + } +*/ + + /** + * This method notifies the end of a parameter entity. Parameter entity + * names begin with a '%' character. + * + * @param name The name of the parameter entity. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void endParameterEntity(String name, Augmentations augmentations) + throws XNIException { + } + + /** + * The start of the DTD external subset. + * + * @param identifier The resource identifier. + * @param augmentations + * Additional information that may include infoset + * augmentations. + * @exception XNIException + * Thrown by handler to signal an error. + */ + public void startExternalSubset(Augmentations augmentations) + throws XNIException { + } + + /** + * The end of the DTD external subset. + * + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void endExternalSubset(Augmentations augmentations) + throws XNIException { + } + + /** + * A comment. + * + * @param text The text in the comment. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by application to signal an error. + */ +/* + public void comment(XMLString text, Augmentations augmentations) + throws XNIException { + } +*/ + + /** + * A processing instruction. Processing instructions consist of a + * target name and, optionally, text data. The data is only meaningful + * to the application. + * <p> + * 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 augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ +/* + public void processingInstruction(String target, XMLString data, + Augmentations augmentations) + throws XNIException { + } +*/ + + + /** + * An element declaration. + * + * @param name The name of the element. + * @param contentModel The element content model. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void elementDecl(String name, String contentModel, + Augmentations augmentations) + throws XNIException { + } + + /** + * The start of an attribute list. + * + * @param elementName The name of the element that this attribute + * list is associated with. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void startAttlist(String elementName, + Augmentations augmentations) throws XNIException { + } + + /** + * An attribute declaration. + * + * @param elementName The name of the element that this attribute + * is associated with. + * @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", + * "#REQUIRED", or null. + * @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 augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void attributeDecl(String elementName, String attributeName, + String type, String[] enumeration, + String defaultType, XMLString defaultValue, + XMLString nonNormalizedDefaultValue, Augmentations augmentations) + throws XNIException { + } + + /** + * The end of an attribute list. + * + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void endAttlist(Augmentations augmentations) throws XNIException { + } + + /** + * 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 + * entity name. + * @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 + * references expanded. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void internalEntityDecl(String name, XMLString text, + XMLString nonNormalizedText, + Augmentations augmentations) + throws XNIException { + } + + /** + * 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 + * the entity name. + * @param identifier An object containing all location information + * pertinent to this external entity. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void externalEntityDecl(String name, + XMLResourceIdentifier identifier, + Augmentations augmentations) + throws XNIException { + } + + /** + * An unparsed entity declaration. + * + * @param name The name of the entity. + * @param identifier An object containing all location information + * pertinent to this unparsed entity declaration. + * @param notation The name of the notation. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void unparsedEntityDecl(String name, + XMLResourceIdentifier identifier, + String notation, Augmentations augmentations) + throws XNIException { + } + + /** + * A notation declaration + * + * @param name The name of the notation. + * @param identifier An object containing all location information + * pertinent to this notation. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void notationDecl(String name, XMLResourceIdentifier identifier, + Augmentations augmentations) throws XNIException { + } + + /** + * 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 augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + * + * @see #CONDITIONAL_INCLUDE + * @see #CONDITIONAL_IGNORE + */ + public void startConditional(short type, Augmentations augmentations) + throws XNIException { + } + + /** + * Characters within an IGNORE conditional section. + * + * @param text The ignored text. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void ignoredCharacters(XMLString text, Augmentations augmentations) + throws XNIException { + } + + /** + * The end of a conditional section. + * + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void endConditional(Augmentations augmentations) throws XNIException { + } + + /** + * The end of the DTD. + * + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void endDTD(Augmentations augmentations) throws XNIException { + } + + + // + // 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 augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void startContentModel(String elementName, Augmentations augmentations) + throws XNIException { + } + + /** + * A content model of ANY. + * + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + * + * @see #empty + * @see #startGroup + */ + public void any(Augmentations augmentations) throws XNIException { + } + + /** + * A content model of EMPTY. + * + * @throws XNIException Thrown by handler to signal an error. + * + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @see #any + * @see #startGroup + */ + public void empty(Augmentations augmentations) throws XNIException { + } + + /** + * 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 augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + * + * @see #any + * @see #empty + */ + public void startGroup(Augmentations augmentations) throws XNIException { + } + + /** + * 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 augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + * + * @see #startGroup + */ + public void pcdata(Augmentations augmentations) throws XNIException { + } + + /** + * A referenced element in a mixed or children content model. + * + * @param elementName The name of the referenced element. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void element(String elementName, Augmentations augmentations) + throws XNIException { + } + + /** + * The separator between choices or sequences of a mixed or children + * content model. + * + * @param separator The type of children separator. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + * + * @see #SEPARATOR_CHOICE + * @see #SEPARATOR_SEQUENCE + */ + public void separator(short separator, Augmentations augmentations) + throws XNIException { + } + + /** + * 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 + * or group. + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + * + * @see #OCCURS_ZERO_OR_ONE + * @see #OCCURS_ZERO_OR_MORE + * @see #OCCURS_ONE_OR_MORE + */ + public void occurrence(short occurrence, Augmentations augmentations) + throws XNIException { + } + + /** + * The end of a group for mixed or children content models. + * + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void endGroup(Augmentations augmentations) throws XNIException { + } + + /** + * The end of a content model. + * + * @param augmentations Additional information that may include infoset + * augmentations. + * + * @throws XNIException Thrown by handler to signal an error. + */ + public void endContentModel(Augmentations augmentations) throws XNIException { } } 1.1.2.2 +4 -92 xml-xerces/java/src/org/apache/xerces/impl/xs/opti/Attic/SchemaDOMParser.java Index: SchemaDOMParser.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/opti/Attic/SchemaDOMParser.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- SchemaDOMParser.java 14 Aug 2002 09:59:51 -0000 1.1.2.1 +++ SchemaDOMParser.java 21 Aug 2002 13:05:29 -0000 1.1.2.2 @@ -78,8 +78,7 @@ * * @version $Id$ */ -public class SchemaDOMParser extends DefaultXMLDocumentHandler - implements XMLComponent, XMLDocumentSource { +public class SchemaDOMParser extends DefaultXMLDocumentHandler { // // Data @@ -87,9 +86,7 @@ SchemaDOM schemaDOM; - /** Document handler. */ - protected XMLDocumentHandler fDocumentHandler; - + // // Constructors @@ -97,95 +94,10 @@ /** Default constructor. */ public SchemaDOMParser() { - } - - - // - // XMLComponent methods - // - - /** - * Resets the component. The component can query the component manager - * about any features and properties that affect the operation of the - * component. - * - * @param componentManager The component manager. - * - * @throws SAXException Thrown by component on initialization error. - * For example, if a feature or property is - * required for the operation of the component, the - * component manager may throw a - * SAXNotRecognizedException or a - * SAXNotSupportedException. - */ - public void reset(XMLComponentManager componentManager) - throws XNIException { - schemaDOM = new SchemaDOM(); + } - } // reset(XMLComponentManager) - - /** - * Returns a list of feature identifiers that are recognized by - * this component. This method may return null if no features - * are recognized by this component. - */ - public String[] getRecognizedFeatures() { - return null; - } // getRecognizedFeatures():String[] - - /** - * Sets the state of a feature. This method is called by the component - * manager any time after reset when a feature changes state. - * <p> - * <strong>Note:</strong> Components should silently ignore features - * that do not affect the operation of the component. - * - * @param featureId The feature identifier. - * @param state The state of the feature. - * - * @throws SAXNotRecognizedException The component should not throw - * this exception. - * @throws SAXNotSupportedException The component should not throw - * this exception. - */ - public void setFeature(String featureId, boolean state) - throws XMLConfigurationException { - } // setFeature(String,boolean) - - /** - * Returns a list of property identifiers that are recognized by - * this component. This method may return null if no properties - * are recognized by this component. - */ - public String[] getRecognizedProperties() { - return null; - } // getRecognizedProperties():String[] - - /** - * Sets the value of a property during parsing. - * - * @param propertyId - * @param value - */ - public void setProperty(String propertyId, Object value) - throws XMLConfigurationException { - - } // setProperty(String,Object) - - - // - // XMLDocumentSource methods - // - /** - * Sets the document handler to receive information about the document. - * - * @param documentHandler The document handler. - */ - public void setDocumentHandler(XMLDocumentHandler documentHandler) { - fDocumentHandler = documentHandler; - } // setDocumentHandler(XMLDocumentHandler) // // XMLDocumentHandler methods 1.1.2.2 +10 -11 xml-xerces/java/src/org/apache/xerces/impl/xs/opti/Attic/SchemaParsingConfig.java Index: SchemaParsingConfig.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/opti/Attic/SchemaParsingConfig.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- SchemaParsingConfig.java 14 Aug 2002 09:59:51 -0000 1.1.2.1 +++ SchemaParsingConfig.java 21 Aug 2002 13:05:29 -0000 1.1.2.2 @@ -322,8 +322,7 @@ NAMESPACE_BINDER, XMLGRAMMAR_POOL, DATATYPE_VALIDATOR_FACTORY, - VALIDATION_MANAGER, - "SchemaDOMParser" + VALIDATION_MANAGER }; addRecognizedProperties(recognizedProperties); @@ -361,11 +360,6 @@ addComponent(fNamespaceBinder); } - fSchemaDOMParser = createSchemaDOMParser(); - if (fSchemaDOMParser != null) { - setProperty("SchemaDOMParser", fSchemaDOMParser); - addComponent(fSchemaDOMParser); - } fDatatypeValidatorFactory = createDatatypeValidatorFactory(); if (fDatatypeValidatorFactory != null) { @@ -589,6 +583,12 @@ */ public void reset() throws XNIException { + // set handlers + fSchemaDOMParser = createSchemaDOMParser(); + fDocumentHandler = fSchemaDOMParser; + fDTDHandler = fSchemaDOMParser; + fDTDContentModelHandler = fSchemaDOMParser; + // configure the pipeline and initialize the components configurePipeline(); super.reset(); @@ -607,10 +607,9 @@ // setup document pipeline fScanner.setDocumentHandler(fNamespaceBinder); - fNamespaceBinder.setDocumentHandler(fSchemaDOMParser); - //fSchemaDOMParser.setDocumentHandler(fDocumentHandler); + fNamespaceBinder.setDocumentHandler(fDocumentHandler); - //fLastComponent = fSchemaDOMParser; + fLastComponent = fNamespaceBinder; // setup dtd pipeline
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]