You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mu...@apache.org on 2011/03/25 10:34:07 UTC

svn commit: r1085298 - /xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java

Author: mukulg
Date: Fri Mar 25 09:34:07 2011
New Revision: 1085298

URL: http://svn.apache.org/viewvc?rev=1085298&view=rev
Log:
committing a slight improvement for type alternatives failure messages. The earlier codebase for this was returning an error message something like, "Type alternative 'null' is not xs:error ...". This commit fixes this problem (i.e 'null' is now shown as an existing type name's string value).

Modified:
    xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java

Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java?rev=1085298&r1=1085297&r2=1085298&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDTypeAlternativeTraverser.java Fri Mar 25 09:34:07 2011
@@ -29,6 +29,7 @@ import org.apache.xerces.impl.xs.XSEleme
 import org.apache.xerces.impl.xs.alternative.Test;
 import org.apache.xerces.impl.xs.alternative.XSTypeAlternativeImpl;
 import org.apache.xerces.impl.xs.util.XSObjectListImpl;
+import org.apache.xerces.impl.xs.util.XSTypeHelper;
 import org.apache.xerces.util.DOMUtil;
 import org.apache.xerces.xni.QName;
 import org.apache.xerces.xs.XSObjectList;
@@ -79,7 +80,7 @@ class XSDTypeAlternativeTraverser extend
 
         Object[] attrValues = fAttrChecker.checkAttributes(altElement, false, schemaDoc);
         QName typeAtt = (QName) attrValues[XSAttributeChecker.ATTIDX_TYPE];
-        String test = (String) attrValues[XSAttributeChecker.ATTIDX_XPATH];
+        String testStr = (String) attrValues[XSAttributeChecker.ATTIDX_XPATH];
         String xpathNS = (String) attrValues[XSAttributeChecker.ATTIDX_XPATHDEFAULTNS];
 
         // get 'annotation'
@@ -167,7 +168,7 @@ class XSDTypeAlternativeTraverser extend
             if (!fSchemaHandler.fXSConstraints.checkTypeDerivationOk(alternativeType, element.fType, block)) {
                 reportSchemaError(
                         "e-props-correct.7",
-                        new Object[] { element.getName(), alternativeType.getName(), element.fType.getName()},
+                        new Object[] {element.getName(), XSTypeHelper.getSchemaTypeName(alternativeType), XSTypeHelper.getSchemaTypeName(element.fType)},
                         altElement);
                 // fall back to element declaration's type
                 alternativeType = element.fType;
@@ -184,11 +185,11 @@ class XSDTypeAlternativeTraverser extend
         XSTypeAlternativeImpl typeAlternative = new XSTypeAlternativeImpl(element.fName, alternativeType, annotations);
 
         // now look for other optional attributes like test and xpathDefaultNamespace
-        if (test != null) {
+        if (testStr != null) {
             Test testExpr = null;
             //set the test attribute value
             try {
-               testExpr = new Test(new XPath20(test, fSymbolTable, schemaDoc.fNamespaceSupport),
+               testExpr = new Test(new XPath20(testStr, fSymbolTable, schemaDoc.fNamespaceSupport),
                                        typeAlternative,
                                        schemaDoc.fNamespaceSupport);
             } 
@@ -196,10 +197,10 @@ class XSDTypeAlternativeTraverser extend
                // fall back to full XPath 2.0 support, with PsychoPath engine
                try {
                   XPathParser xpp = new JFlexCupParser();
-                  XPath xp = xpp.parse("boolean(" + test + ")");
+                  XPath xp = xpp.parse("boolean(" + testStr + ")");
                   testExpr = new Test(xp, typeAlternative, schemaDoc.fNamespaceSupport);
                } catch(XPathParserException ex) {
-                  reportSchemaError("c-cta-xpath", new Object[] { test }, altElement);
+                  reportSchemaError("c-cta-xpath", new Object[] { testStr }, altElement);
                   //if the XPath is invalid, create a Test without an expression
                   testExpr = new Test((XPath20) null, typeAlternative,
                                        schemaDoc.fNamespaceSupport);



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