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 2003/07/24 17:14:44 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs/util StringListImpl.java
neilg 2003/07/24 08:14:43
Modified: java/src/org/apache/xerces/impl/xs/opti ElementImpl.java
java/src/org/apache/xerces/impl/xs/traversers
XSDAbstractTraverser.java XSAttributeChecker.java
java/src/org/apache/xerces/impl/xs/psvi XSWildcard.java
java/src/org/apache/xerces/impl/xs XSWildcardDecl.java
java/src/org/apache/xerces/impl/xs/util StringListImpl.java
Log:
fixes for various small bugs (potential NPEs, problems in certain situations with well-formedness of annotation strings) in our PSVI/schema component model support. Patches by Peter McCracken.
Revision Changes Path
1.5 +2 -2 xml-xerces/java/src/org/apache/xerces/impl/xs/opti/ElementImpl.java
Index: ElementImpl.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/opti/ElementImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ElementImpl.java 3 Jul 2003 15:15:58 -0000 1.4
+++ ElementImpl.java 24 Jul 2003 15:14:42 -0000 1.5
@@ -210,7 +210,7 @@
public String getAttributeNS(String namespaceURI, String localName) {
for (int i=0; i<attrs.length; i++) {
- if (attrs[i].getName().equals(localName) && attrs[i].getNamespaceURI().equals(namespaceURI)) {
+ if (attrs[i].getLocalName().equals(localName) && attrs[i].getNamespaceURI().equals(namespaceURI)) {
return attrs[i].getValue();
}
}
1.32 +19 -4 xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractTraverser.java
Index: XSDAbstractTraverser.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractTraverser.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- XSDAbstractTraverser.java 23 Jul 2003 18:19:02 -0000 1.31
+++ XSDAbstractTraverser.java 24 Jul 2003 15:14:43 -0000 1.32
@@ -182,15 +182,30 @@
// Vector should contain rawname value pairs
int i=0;
while(i<annotationLocalAttrs.size()) {
- localStrBuffer.append((String)annotationLocalAttrs.elementAt(i++))
+ String rawname = (String)annotationLocalAttrs.elementAt(i++);
+ int colonIndex = rawname.indexOf(':');
+ String prefix, localpart;
+ if (colonIndex == -1) {
+ prefix = "";
+ localpart = rawname;
+ }
+ else {
+ prefix = rawname.substring(0,colonIndex);
+ localpart = rawname.substring(colonIndex+1);
+ }
+ String uri = schemaDoc.fNamespaceSupport.getURI(prefix.intern());
+ if (!annotationDecl.getAttributeNS(uri, localpart).equals("")) {
+ i++; // skip the next value, too
+ continue;
+ }
+ localStrBuffer.append(rawname)
.append("=\"");
String value = (String)annotationLocalAttrs.elementAt(i++);
// search for pesky "s and >s within attr value:
value = processAttValue(value);
localStrBuffer.append(value)
- .append("\"");
+ .append("\" ");
}
- localStrBuffer.append(" ");
// and now splice it into place; immediately after the annotation token, for simplicity's sake
StringBuffer contentBuffer = new StringBuffer(contents.length() + localStrBuffer.length());
int annotationTokenEnd = contents.indexOf(SchemaSymbols.ELT_ANNOTATION);
1.26 +6 -1 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.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- XSAttributeChecker.java 18 Jun 2003 15:16:52 -0000 1.25
+++ XSAttributeChecker.java 24 Jul 2003 15:14:43 -0000 1.26
@@ -1108,6 +1108,11 @@
String attrName = sattr.getName();
String attrVal = DOMUtil.getValue(sattr);
+ // we don't want to add namespace declarations to the non-schema attributes
+ if (attrName.startsWith("xmlns")) {
+ continue;
+ }
+
// skip anything starts with x/X m/M l/L
// add this to the list of "non-schema" attributes
if (attrName.toLowerCase(Locale.ENGLISH).startsWith("xml")) {
1.6 +2 -2 xml-xerces/java/src/org/apache/xerces/impl/xs/psvi/XSWildcard.java
Index: XSWildcard.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/psvi/XSWildcard.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XSWildcard.java 20 Feb 2003 23:10:41 -0000 1.5
+++ XSWildcard.java 24 Jul 2003 15:14:43 -0000 1.6
@@ -2,7 +2,7 @@
* The Apache Software License, Version 1.1
*
*
- * Copyright (c) 2001, 2002 The Apache Software Foundation. All rights
+ * Copyright (c) 2001-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -109,7 +109,7 @@
/**
* [process contents]: one of skip, lax or strict. Valid constants values
- * are: <code>SKIP_PROCESS, LAX_PROCESS, STRING_PROCESS </code>.
+ * are: <code>PC_SKIP, PC_LAX, PC_STRICT</code>.
*/
public short getProcessContents();
1.14 +2 -2 xml-xerces/java/src/org/apache/xerces/impl/xs/XSWildcardDecl.java
Index: XSWildcardDecl.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/XSWildcardDecl.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- XSWildcardDecl.java 23 Jun 2003 16:35:21 -0000 1.13
+++ XSWildcardDecl.java 24 Jul 2003 15:14:43 -0000 1.14
@@ -585,7 +585,7 @@
* disallowed namespaces.
*/
public StringList getNsConstraintList() {
- return new StringListImpl(fNamespaceList, fNamespaceList.length);
+ return new StringListImpl(fNamespaceList, fNamespaceList == null ? 0 : fNamespaceList.length);
}
/**
1.3 +3 -3 xml-xerces/java/src/org/apache/xerces/impl/xs/util/StringListImpl.java
Index: StringListImpl.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/util/StringListImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- StringListImpl.java 14 Jan 2003 20:21:48 -0000 1.2
+++ StringListImpl.java 24 Jul 2003 15:14:43 -0000 1.3
@@ -2,7 +2,7 @@
* The Apache Software License, Version 1.1
*
*
- * Copyright (c) 2002 The Apache Software Foundation. All rights
+ * Copyright (c) 2002,2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -79,7 +79,7 @@
public StringListImpl(Vector v) {
fVector = v;
- fLength = v.size();
+ fLength = (v == null) ? 0 : v.size();
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org