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/01/21 18:20:38 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs/traversers XSDWildcardTraverser.java XSAttributeChecker.java
sandygao 02/01/21 09:20:38
Modified: java/src/org/apache/xerces/impl/xs/traversers
XSDWildcardTraverser.java XSAttributeChecker.java
Log:
Fixing bug [5884] and [5929]:
In the old implementation, when there are multiple <any>/<anyAttribute>
elements in the xsd file, it's possible that the "process contents" value in one
wildcard is overwritten by that value from another wildcard.
Now it's fixed.
Revision Changes Path
1.2 +7 -2 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.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XSDWildcardTraverser.java 25 Oct 2001 20:36:04 -0000 1.1
+++ XSDWildcardTraverser.java 21 Jan 2002 17:20:37 -0000 1.2
@@ -92,7 +92,7 @@
* @author Rahul Srivastava, Sun Microsystems Inc.
* @author Sandy Gao, IBM
*
- * @version $Id: XSDWildcardTraverser.java,v 1.1 2001/10/25 20:36:04 elena Exp $
+ * @version $Id: XSDWildcardTraverser.java,v 1.2 2002/01/21 17:20:37 sandygao Exp $
*/
class XSDWildcardTraverser extends XSDAbstractTraverser {
@@ -180,9 +180,14 @@
SchemaGrammar grammar) {
//get all attributes
- XSWildcardDecl wildcard = (XSWildcardDecl) attrValues[XSAttributeChecker.ATTIDX_NAMESPACE];
+ XSWildcardDecl namespace = (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();
1.7 +4 -3 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.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- XSAttributeChecker.java 17 Jan 2002 17:59:33 -0000 1.6
+++ XSAttributeChecker.java 21 Jan 2002 17:20:37 -0000 1.7
@@ -101,7 +101,7 @@
* - use symbol table instead of many hashtables
*
* @author Sandy Gao, IBM
- * @version $Id: XSAttributeChecker.java,v 1.6 2002/01/17 17:59:33 neilg Exp $
+ * @version $Id: XSAttributeChecker.java,v 1.7 2002/01/21 17:20:37 sandygao Exp $
*/
public class XSAttributeChecker {
@@ -173,6 +173,7 @@
// 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();
@@ -1405,14 +1406,14 @@
wildcard = WC_ANY;
} else if (value.equals(SchemaSymbols.ATTVAL_TWOPOUNDOTHER)) {
// ##other
- wildcard = new XSWildcardDecl();
+ wildcard = fTempWC;
wildcard.fType = XSWildcardDecl.WILDCARD_OTHER;
wildcard.fNamespaceList = new String[2];
wildcard.fNamespaceList[0] = schemaDoc.fTargetNamespace;
wildcard.fNamespaceList[1] = null;
} else {
// list
- wildcard = new XSWildcardDecl();
+ wildcard = fTempWC;
wildcard.fType = XSWildcardDecl.WILDCARD_LIST;
// tokenize
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org