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]

Reply via email to