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 2003/11/10 21:44:41 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs/traversers XSDAttributeTraverser.java XSDComplexTypeTraverser.java XSDElementTraverser.java

sandygao    2003/11/10 12:44:41

  Modified:    java/src/org/apache/xerces/impl/xs/traversers
                        XSDAttributeTraverser.java
                        XSDComplexTypeTraverser.java
                        XSDElementTraverser.java
  Log:
  Committing the PSVI Writer patch propsed by Pete Lloyd,
  with minor modifications. Thx Pete.
  
  Revision  Changes    Path
  1.26      +6 -3      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAttributeTraverser.java
  
  Index: XSDAttributeTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAttributeTraverser.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- XSDAttributeTraverser.java	23 Jun 2003 16:35:22 -0000	1.25
  +++ XSDAttributeTraverser.java	10 Nov 2003 20:44:41 -0000	1.26
  @@ -263,13 +263,16 @@
           // get 'target namespace'
           String tnsAtt = null;
           XSComplexTypeDecl enclCT = null;
  -        short scope = 0;
  +        short scope = XSAttributeDecl.SCOPE_ABSENT;
           if (isGlobal) {
               tnsAtt = schemaDoc.fTargetNamespace;
               scope = XSAttributeDecl.SCOPE_GLOBAL;
           }
           else {
  -            enclCT = enclosingCT;
  +            if (enclosingCT != null) {
  +                enclCT = enclosingCT;
  +                scope = XSAttributeDecl.SCOPE_LOCAL;
  +            }
               if (formAtt != null) {
                   if (formAtt.intValue() == SchemaSymbols.FORM_QUALIFIED)
                       tnsAtt = schemaDoc.fTargetNamespace;
  
  
  
  1.39      +13 -5     xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
  
  Index: XSDComplexTypeTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- XSDComplexTypeTraverser.java	25 Sep 2003 22:59:21 -0000	1.38
  +++ XSDComplexTypeTraverser.java	10 Nov 2003 20:44:41 -0000	1.39
  @@ -225,10 +225,18 @@
           fName = complexTypeName;
           fComplexTypeDecl.setName(fName);
           fTargetNamespace = schemaDoc.fTargetNamespace;
  -        fBlock = blockAtt == null ?
  -                             schemaDoc.fBlockDefault : blockAtt.shortValue();
  -        fFinal = finalAtt == null ?
  -                             schemaDoc.fFinalDefault : finalAtt.shortValue();
  +        if (blockAtt == null) {
  +            fBlock = (short)(schemaDoc.fBlockDefault&(XSConstants.DERIVATION_EXTENSION | XSConstants.DERIVATION_RESTRICTION));
  +        }
  +        else {
  +            fBlock = blockAtt.shortValue();
  +        }
  +        if (finalAtt == null) {
  +            fFinal = (short)(schemaDoc.fFinalDefault&(XSConstants.DERIVATION_EXTENSION | XSConstants.DERIVATION_RESTRICTION));
  +        }
  +        else {
  +            fFinal = finalAtt.shortValue();
  +        }
           if (abstractAtt != null && abstractAtt.booleanValue())
               fIsAbstract = true;
   
  
  
  
  1.26      +13 -3     xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDElementTraverser.java
  
  Index: XSDElementTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDElementTraverser.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- XSDElementTraverser.java	23 Jun 2003 16:35:22 -0000	1.25
  +++ XSDElementTraverser.java	10 Nov 2003 20:44:41 -0000	1.26
  @@ -310,8 +310,18 @@
           }
   
           // get 'block', 'final', 'nillable', 'abstract'
  -        element.fBlock = blockAtt == null ? schemaDoc.fBlockDefault : blockAtt.shortValue();
  -        element.fFinal = finalAtt == null ? schemaDoc.fFinalDefault : finalAtt.shortValue();
  +        if (blockAtt == null) {
  +            element.fBlock = (short)(schemaDoc.fBlockDefault&(XSConstants.DERIVATION_EXTENSION | XSConstants.DERIVATION_RESTRICTION | XSConstants.DERIVATION_SUBSTITUTION));
  +        }
  +        else {
  +            element.fBlock = blockAtt.shortValue();
  +        }
  +        if (finalAtt == null) {
  +            element.fFinal = (short)(schemaDoc.fFinalDefault&(XSConstants.DERIVATION_EXTENSION | XSConstants.DERIVATION_RESTRICTION));
  +        }
  +        else {
  +            element.fFinal = finalAtt.shortValue();
  +        }
           if (nillableAtt.booleanValue())
               element.setIsNillable();
           if (abstractAtt != null && abstractAtt.booleanValue())
  
  
  

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