Author: mukulg Date: Mon Jul 4 11:40:41 2011 New Revision: 1142631 URL: http://svn.apache.org/viewvc?rev=1142631&view=rev Log: doing a small fix to schema 1.1 type alternative implementation. if xpathDefaultNamespace is not present on xs:alternative, the implementation was not taking it's value from the ancestor xs:schema node (if it was present there). this commit solves this problem.
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=1142631&r1=1142630&r2=1142631&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 Mon Jul 4 11:40:41 2011 @@ -83,7 +83,7 @@ class XSDTypeAlternativeTraverser extend Object[] attrValues = fAttrChecker.checkAttributes(altElement, false, schemaDoc); QName typeAtt = (QName) attrValues[XSAttributeChecker.ATTIDX_TYPE]; String testStr = (String) attrValues[XSAttributeChecker.ATTIDX_XPATH]; - String xpathNS = (String) attrValues[XSAttributeChecker.ATTIDX_XPATHDEFAULTNS]; + String xpathDefaultNS = (String) attrValues[XSAttributeChecker.ATTIDX_XPATHDEFAULTNS]; // get 'annotation' Element childNode = DOMUtil.getFirstChildElement(altElement); @@ -183,7 +183,7 @@ class XSDTypeAlternativeTraverser extend reportSchemaError("s4s-elt-must-match.1", new Object[]{"type alternative", "(annotation?, (simpleType | complexType)?)", DOMUtil.getLocalName(childNode)}, childNode); } - // create type alternative + // create type alternative component XSTypeAlternativeImpl typeAlternative = new XSTypeAlternativeImpl(element.fName, alternativeType, annotations); // now look for other optional attributes like test and xpathDefaultNamespace @@ -214,9 +214,12 @@ class XSDTypeAlternativeTraverser extend // REVISIT : is using Document.getDocumentURI() correct to retrieve base URI in every case, for type alternatives? typeAlternative.setBaseURI(fXsdHandler.getDocumentURI()); - if (xpathNS != null) { + if (xpathDefaultNS == null) { + xpathDefaultNS = schemaDoc.fXpathDefaultNamespace; + } + if (xpathDefaultNS != null) { //set the xpathDefaultNamespace attribute value - typeAlternative.setXPathDefauleNamespace(xpathNS); + typeAlternative.setXPathDefauleNamespace(xpathDefaultNS); } grammar.addTypeAlternative(element, typeAlternative); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@xerces.apache.org For additional commands, e-mail: commits-h...@xerces.apache.org