Author: mukulg
Date: Sat Apr 21 20:47:17 2012
New Revision: 1328734
URL: http://svn.apache.org/viewvc?rev=1328734view=rev
Log:
committing fixes for the bug reported by Jorge Williams, with Xerces's XSD
implementation (bug reference, http://markmail.org/message/ijlswam4n6jzb7zh).
this bug appears to occur both with Xerces's XSD 1.1 and 1.0 implementations.
this also appears to be not XSD 1.1 assertion specific, and appears to be
related to use of xsi:type and an schema element declaration not existing for
the root XML element.
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java?rev=1328734r1=1328733r2=1328734view=diff
==
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
Sat Apr 21 20:47:17 2012
@@ -2293,6 +2293,15 @@ public class XMLSchemaValidator
// if no decl/type found for the current element
final boolean isSchema11 = (fSchemaVersion ==
Constants.SCHEMA_VERSION_1_1);
boolean needToPushErrorContext = false;
+
+if (fCurrentType == null xsiType != null fElementDepth == 0) {
+fXSIErrorReporter.fErrorReporter.reportError(
+XSMessageFormatter.SCHEMA_DOMAIN,
+cvc-elt.1.a,
+new Object[] { element.rawname },
+XMLErrorReporter.SEVERITY_ERROR);
+}
+
if (fCurrentType == null xsiType == null) {
// if this is the validation root, report an error, because
// we can't find eith decl or type for this element
@@ -2339,7 +2348,8 @@ public class XMLSchemaValidator
else if (wildcard != null wildcard.fProcessContents ==
XSWildcardDecl.PC_STRICT) {
// report error, because wilcard = strict
reportSchemaError(cvc-complex-type.2.4.c, new Object[] {
element.rawname });
-}
+}
+
// no element decl or type found for this element.
// Allowed by the spec, we can choose to either laxly assess this
// element, or to skip it. Now we choose lax assessment.
-
To unsubscribe, e-mail: commits-unsubscr...@xerces.apache.org
For additional commands, e-mail: commits-h...@xerces.apache.org