You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by sa...@apache.org on 2002/09/10 18:59:56 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs XMLSchemaValidator.java

sandygao    2002/09/10 09:59:56

  Modified:    java/src/org/apache/xerces/impl/xs XMLSchemaValidator.java
  Log:
  When the "validation/schema/normalized-value" feature is off, we don't
  need to augment PSVI for characters() calls, hence don't need to go through
  the initialization process of the augmentations and PSVI augmentation item.
  
  Revision  Changes    Path
  1.90      +19 -13    xml-xerces/java/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
  
  Index: XMLSchemaValidator.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java,v
  retrieving revision 1.89
  retrieving revision 1.90
  diff -u -r1.89 -r1.90
  --- XMLSchemaValidator.java	30 Aug 2002 02:53:04 -0000	1.89
  +++ XMLSchemaValidator.java	10 Sep 2002 16:59:56 -0000	1.90
  @@ -635,25 +635,31 @@
       public void characters(XMLString text, Augmentations augs) throws XNIException {
   
           boolean emptyAug = false;
  -        if (augs == null) {
  -            emptyAug = true;
  -            augs = fAugmentations;
  -            augs.clear();
  -        }
  -        // get PSVI object
  -        fCurrentPSVI = (ElementPSVImpl)augs.getItem(Constants.ELEMENT_PSVI);
  -        if (fCurrentPSVI == null) {
  -            fCurrentPSVI = fElemPSVI;
  -            augs.putItem(Constants.ELEMENT_PSVI, fCurrentPSVI);
  +        
  +        if (fNormalizeData) {
  +            if (augs == null) {
  +                emptyAug = true;
  +                augs = fAugmentations;
  +                augs.clear();
  +            }
  +            // get PSVI object
  +            fCurrentPSVI = (ElementPSVImpl)augs.getItem(Constants.ELEMENT_PSVI);
  +            if (fCurrentPSVI == null) {
  +                fCurrentPSVI = fElemPSVI;
  +                augs.putItem(Constants.ELEMENT_PSVI, fCurrentPSVI);
  +            }
  +            else {
  +                fCurrentPSVI.reset();
  +            }
           }
           else {
  -            fCurrentPSVI.reset();
  +            fCurrentPSVI = fElemPSVI;
           }
   
           handleCharacters(text);
           // call handlers
           if (fDocumentHandler != null) {
  -            if (fUnionType) {
  +            if (fNormalizeData && fUnionType) {
                   // for union types we can't normalize data
                   // thus we only need to send augs information if any;
                   // the normalized data for union will be send
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org