You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ne...@apache.org on 2002/07/04 23:38:34 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs/traversers XSAttributeChecker.java XSDWildcardTraverser.java

neilg       2002/07/04 14:38:34

  Modified:    java/src/org/apache/xerces/impl/xs/traversers
                        XSAttributeChecker.java XSDWildcardTraverser.java
  Log:
  addressing static mutability issues in XSAttributeChecker.  Since this new implementation, where XSDWildcardTraverser can rely on getting fresh objects from XSAttributeChecker also saves some copying, it stands some chance of actually being more efficient than the old approach.
  
  Revision  Changes    Path
  1.13      +7 -14     xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSAttributeChecker.java
  
  Index: XSAttributeChecker.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSAttributeChecker.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XSAttributeChecker.java	16 May 2002 18:25:55 -0000	1.12
  +++ XSAttributeChecker.java	4 Jul 2002 21:38:34 -0000	1.13
  @@ -113,7 +113,7 @@
       private static final String ATTRIBUTE_N = "attribute_n";
       private static final String ATTRIBUTE_R = "attribute_r";
   
  -    public static       int ATTIDX_COUNT           = 0;
  +    private static       int ATTIDX_COUNT           = 0;
       public static final int ATTIDX_ABSTRACT        = ATTIDX_COUNT++;
       public static final int ATTIDX_AFORMDEFAULT    = ATTIDX_COUNT++;
       public static final int ATTIDX_BASE            = ATTIDX_COUNT++;
  @@ -169,13 +169,9 @@
       private static final XInt INT_WS_COLLAPSE    = fXIntPool.getXInt(XSSimpleType.WS_COLLAPSE);
       private static final XInt INT_UNBOUNDED      = fXIntPool.getXInt(SchemaSymbols.OCCURRENCE_UNBOUNDED);
   
  -    // default wildcard to return
  -    private static final XSWildcardDecl WC_ANY   = new XSWildcardDecl();
  -    private final        XSWildcardDecl fTempWC  = new XSWildcardDecl();
  -
       // used to store the map from element name to attribute list
  -    protected static Hashtable fEleAttrsMapG = new Hashtable();
  -    protected static Hashtable fEleAttrsMapL = new Hashtable();
  +    private static final Hashtable fEleAttrsMapG = new Hashtable();
  +    private static final Hashtable fEleAttrsMapL = new Hashtable();
   
       // used to initialize fEleAttrsMap
       // step 1: all possible data types
  @@ -193,7 +189,7 @@
   
       // used to store extra datatype validators
       protected static final int DT_COUNT            = DT_XPATH1 + 1;
  -    protected static XSSimpleType[] fExtraDVs = new XSSimpleType[DT_COUNT];
  +    private static final XSSimpleType[] fExtraDVs = new XSSimpleType[DT_COUNT];
       static {
           // step 5: register all datatype validators for new types
           SchemaGrammar grammar = SchemaGrammar.SG_SchemaNS;
  @@ -387,7 +383,7 @@
           allAttrs[ATT_NAMESPACE_D]       =   new OneAttr(SchemaSymbols.ATT_NAMESPACE,
                                                           DT_NAMESPACE,
                                                           ATTIDX_NAMESPACE,
  -                                                        WC_ANY);
  +                                                        new XSWildcardDecl());
           allAttrs[ATT_NAMESPACE_N]       =   new OneAttr(SchemaSymbols.ATT_NAMESPACE,
                                                           DT_ANYURI,
                                                           ATTIDX_NAMESPACE,
  @@ -1394,20 +1390,17 @@
               break;
           case DT_NAMESPACE:
               // namespace = ((##any | ##other) | List of (anyURI | (##targetNamespace | ##local)) )
  -            XSWildcardDecl wildcard = null;
  +            XSWildcardDecl wildcard = new XSWildcardDecl();
               if (value.equals(SchemaSymbols.ATTVAL_TWOPOUNDANY)) {
                   // ##any
  -                wildcard = WC_ANY;
               } else if (value.equals(SchemaSymbols.ATTVAL_TWOPOUNDOTHER)) {
                   // ##other
  -                wildcard = fTempWC;
                   wildcard.fType = XSWildcardDecl.NSCONSTRAINT_NOT;
                   wildcard.fNamespaceList = new String[2];
                   wildcard.fNamespaceList[0] = schemaDoc.fTargetNamespace;
                   wildcard.fNamespaceList[1] = null;
               } else {
                   // list
  -                wildcard = fTempWC;
                   wildcard.fType = XSWildcardDecl.NSCONSTRAINT_LIST;
   
                   // tokenize
  
  
  
  1.7       +2 -7      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDWildcardTraverser.java
  
  Index: XSDWildcardTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDWildcardTraverser.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XSDWildcardTraverser.java	3 Apr 2002 23:48:27 -0000	1.6
  +++ XSDWildcardTraverser.java	4 Jul 2002 21:38:34 -0000	1.7
  @@ -183,14 +183,9 @@
                                            SchemaGrammar grammar) {
   
           //get all attributes
  -        XSWildcardDecl namespace = (XSWildcardDecl) attrValues[XSAttributeChecker.ATTIDX_NAMESPACE];
  +        XSWildcardDecl wildcard = (XSWildcardDecl) attrValues[XSAttributeChecker.ATTIDX_NAMESPACE];
           XInt processContentsAttr = (XInt) attrValues[XSAttributeChecker.ATTIDX_PROCESSCONTENTS];
   
  -        XSWildcardDecl wildcard = new XSWildcardDecl();
  -        
  -        // namespace
  -        wildcard.fType = namespace.fType;
  -        wildcard.fNamespaceList = namespace.fNamespaceList;
           // process contents
           wildcard.fProcessContents = processContentsAttr.shortValue();
   
  
  
  

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