elena 2003/02/19 10:07:39
Modified: java/src/org/apache/xerces/parsers
IntegratedParserConfiguration.java
Log:
If namespace feature is off, we should issue an error when validating
against XML Schema. Reorganizing IntegratedConfiguration configurePipeline() so that
the namespace aware scanner is only used in the case namespace feature is turned on.
Revision Changes Path
1.8 +61 -69
xml-xerces/java/src/org/apache/xerces/parsers/IntegratedParserConfiguration.java
Index: IntegratedParserConfiguration.java
===================================================================
RCS file:
/home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/IntegratedParserConfiguration.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- IntegratedParserConfiguration.java 8 Jan 2003 23:01:27 -0000 1.7
+++ IntegratedParserConfiguration.java 19 Feb 2003 18:07:38 -0000 1.8
@@ -193,75 +193,67 @@
/** Configures the pipeline. */
- protected void configurePipeline() {
- // setup dtd pipeline
- if (fDTDScanner != null) {
- if (fDTDProcessor != null) {
- fDTDScanner.setDTDHandler(fDTDProcessor);
- fDTDProcessor.setDTDHandler(fDTDHandler);
- fDTDScanner.setDTDContentModelHandler(fDTDProcessor);
- fDTDProcessor.setDTDContentModelHandler(fDTDContentModelHandler);
- } else {
- fDTDScanner.setDTDHandler(fDTDHandler);
- fDTDScanner.setDTDContentModelHandler(fDTDContentModelHandler);
- }
- }
-
- // setup document pipeline
- if ( fFeatures.get(XMLSCHEMA_VALIDATION) == Boolean.TRUE) {
- // If schema validator was not in the pipeline insert it.
- if (fSchemaValidator == null) {
- fSchemaValidator = new XMLSchemaValidator();
-
- // add schema component
- fProperties.put(SCHEMA_VALIDATOR, fSchemaValidator);
- addComponent(fSchemaValidator);
- // add schema message formatter
- if
(fErrorReporter.getMessageFormatter(XSMessageFormatter.SCHEMA_DOMAIN) == null) {
- XSMessageFormatter xmft = new XSMessageFormatter();
-
fErrorReporter.putMessageFormatter(XSMessageFormatter.SCHEMA_DOMAIN, xmft);
- }
-
- }
- fProperties.put(DTD_VALIDATOR, fDTDValidator);
- fProperties.put(DOCUMENT_SCANNER, fNamespaceScanner);
- fScanner = fNamespaceScanner;
- fNamespaceScanner.setDTDValidator(fDTDValidator);
- fNamespaceScanner.setDocumentHandler(fDTDValidator);
- fDTDValidator.setDocumentSource(fNamespaceScanner);
- fDTDValidator.setDocumentHandler(fSchemaValidator);
- fSchemaValidator.setDocumentSource(fDTDValidator);
- fSchemaValidator.setDocumentHandler(fDocumentHandler);
- fLastComponent = fSchemaValidator;
-
- }
- else {
-
- if (fFeatures.get(NAMESPACES) == Boolean.TRUE) {
- fScanner = fNamespaceScanner;
- fProperties.put(DTD_VALIDATOR, fDTDValidator);
- fProperties.put(DOCUMENT_SCANNER, fNamespaceScanner);
- fNamespaceScanner.setDTDValidator(fDTDValidator);
- fNamespaceScanner.setDocumentHandler(fDTDValidator);
- fDTDValidator.setDocumentSource(fNamespaceScanner);
- fDTDValidator.setDocumentHandler(fDocumentHandler);
- fDocumentHandler.setDocumentSource(fDTDValidator);
- fLastComponent = fDTDValidator;
- }
- else {
- fScanner = fNonNSScanner;
- fProperties.put(DTD_VALIDATOR, fNonNSDTDValidator);
- fProperties.put(DOCUMENT_SCANNER, fNonNSScanner);
- fNonNSScanner.setDocumentHandler(fNonNSDTDValidator);
- fNonNSDTDValidator.setDocumentSource(fNonNSScanner);
- fNonNSDTDValidator.setDocumentHandler(fDocumentHandler);
- fDocumentHandler.setDocumentSource(fNonNSDTDValidator);
- fLastComponent = fNonNSDTDValidator;
- }
+ protected void configurePipeline() {
+ // setup dtd pipeline
+ if (fDTDScanner != null) {
+ if (fDTDProcessor != null) {
+ fDTDScanner.setDTDHandler(fDTDProcessor);
+ fDTDProcessor.setDTDHandler(fDTDHandler);
+ fDTDScanner.setDTDContentModelHandler(fDTDProcessor);
+
fDTDProcessor.setDTDContentModelHandler(fDTDContentModelHandler);
+ }
+ else {
+ fDTDScanner.setDTDHandler(fDTDHandler);
+
fDTDScanner.setDTDContentModelHandler(fDTDContentModelHandler);
+ }
+ }
+
+ if (fFeatures.get(NAMESPACES) == Boolean.TRUE) {
+ fScanner = fNamespaceScanner;
+ fProperties.put(DTD_VALIDATOR, fDTDValidator);
+ fProperties.put(DOCUMENT_SCANNER, fNamespaceScanner);
+ fNamespaceScanner.setDTDValidator(fDTDValidator);
+ fNamespaceScanner.setDocumentHandler(fDTDValidator);
+ fDTDValidator.setDocumentSource(fNamespaceScanner);
+ fDTDValidator.setDocumentHandler(fDocumentHandler);
+ fDocumentHandler.setDocumentSource(fDTDValidator);
+ fLastComponent = fDTDValidator;
+ }
+ else {
+ fScanner = fNonNSScanner;
+ fProperties.put(DTD_VALIDATOR, fNonNSDTDValidator);
+ fProperties.put(DOCUMENT_SCANNER, fNonNSScanner);
+ fNonNSScanner.setDocumentHandler(fNonNSDTDValidator);
+ fNonNSDTDValidator.setDocumentSource(fNonNSScanner);
+ fNonNSDTDValidator.setDocumentHandler(fDocumentHandler);
+ fDocumentHandler.setDocumentSource(fNonNSDTDValidator);
+ fLastComponent = fNonNSDTDValidator;
+ }
+
+ // setup document pipeline
+ if (fFeatures.get(XMLSCHEMA_VALIDATION) == Boolean.TRUE) {
+ // If schema validator was not in the pipeline insert it.
+ if (fSchemaValidator == null) {
+ fSchemaValidator = new XMLSchemaValidator();
+
+ // add schema component
+ fProperties.put(SCHEMA_VALIDATOR, fSchemaValidator);
+ addComponent(fSchemaValidator);
+ // add schema message formatter
+ if
(fErrorReporter.getMessageFormatter(XSMessageFormatter.SCHEMA_DOMAIN) == null) {
+ XSMessageFormatter xmft = new
XSMessageFormatter();
+
fErrorReporter.putMessageFormatter(XSMessageFormatter.SCHEMA_DOMAIN, xmft);
+ }
+
+ }
+
+ fLastComponent.setDocumentHandler(fSchemaValidator);
+ fSchemaValidator.setDocumentSource(fLastComponent);
+ fSchemaValidator.setDocumentHandler(fDocumentHandler);
+ fLastComponent = fSchemaValidator;
- }
-
- } // configurePipeline()
+ }
+ } // configurePipeline()
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]