Hi Folks, Just wanted to know the current status of this issue. If I can get some feedback regarding the patch I can start working on finalizing it by incorporating the changes made to the spec recently.
Thanks, Hiranya On Sat, Feb 14, 2009 at 10:12 AM, Michael Glavassevich (JIRA) < xerces-j-...@xml.apache.org> wrote: > > [ > https://issues.apache.org/jira/browse/XERCESJ-1351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel] > > Michael Glavassevich reassigned XERCESJ-1351: > --------------------------------------------- > > Assignee: Michael Glavassevich (was: Khaled Noaman) > > > Type alternatives implementation seems to be broken > > --------------------------------------------------- > > > > Key: XERCESJ-1351 > > URL: https://issues.apache.org/jira/browse/XERCESJ-1351 > > Project: Xerces2-J > > Issue Type: Bug > > Components: XML Schema 1.1 Structures > > Affects Versions: 2.9.1 > > Environment: Windows XP, JRE 1.5.0_15 > > Reporter: Mukul Gandhi > > Assignee: Michael Glavassevich > > Attachments: type-alternatives.patch > > > > > > I am running the latest Xerces-J development code from SVN repository. I > tried the following sample XML document, and the XML Schema document. > > XML document: > > <PERSON xsi:noNamespaceSchemaLocation="person.xsd" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance"> > > <FNAME>Mukul</FNAME> > > <LNAME>Gandhi</LNAME> > > <DOB>1999-06-02</DOB> > > <ADDRESS type="short">my address</ADDRESS> > > </PERSON> > > Schema: > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> > > > > <xs:element name="PERSON" type="PersonType" /> > > <xs:complexType name="PersonType"> > > <xs:sequence> > > <xs:element name="FNAME" type="xs:string" /> > > <xs:element name="LNAME" type="xs:string" /> > > <xs:element name="DOB" type="xs:date" /> > > <xs:element name="ADDRESS" type="LongAddress"> > > <xs:alternative test="@type='short'" type="ShortAddress"/> > > <xs:alternative test="@type='long'" type="LongAddress"/> > > </xs:element> > > </xs:sequence> > > </xs:complexType> > > <xs:complexType name="ShortAddress"> > > <xs:simpleContent> > > <xs:extension base="shortString"> > > <xs:attribute name="type" type="xs:string"/> > > </xs:extension> > > </xs:simpleContent> > > </xs:complexType> > > <xs:simpleType name="shortString"> > > <xs:restriction base="xs:string"> > > <xs:minLength value="1" /> > > <xs:maxLength value="50" /> > > </xs:restriction> > > </xs:simpleType> > > <xs:complexType name="LongAddress"> > > <xs:sequence> > > <xs:element name="street1" type="xs:string" /> > > <xs:element name="street2" type="xs:string" minOccurs="0" /> > > <xs:element name="city" type="xs:string" /> > > <xs:element name="state" type="xs:string" /> > > <xs:element name="pin" type="xs:string" /> > > <xs:element name="country" type="xs:string" /> > > </xs:sequence> > > <xs:attribute name="type" type="xs:string"/> > > </xs:complexType> > > </xs:schema> > > When I apply validation using the above examples, with Xerces, I get > following errors: > > [Error] person.xsd:11:69: s4s-elt-must-match.1: The content of 'ADDRESS' > must match (annotation?, (simpleType > > | complexType)?, alternative*, (unique | key | keyref)*)). A problem was > found starting at: alternative. > > [Error] person.xml:5:45: cvc-complex-type.2.3: Element 'ADDRESS' cannot > have character [children], because the > > type's content type is element-only. > > [Error] person.xml:5:45: cvc-complex-type.2.4.b: The content of element > 'ADDRESS' is not complete. One of '{st > > reet1}' is expected. > > It seems to me, that type alternative support in Xerces is not working as > expected. > > Some comments about the Java class, org.apache.xerces.impl.xpath.XPath20 > (which I think is used by type alternatives) > > The method, > > public boolean evaluateNodeTest(QName element, XMLAttributes attributes) > > doesn't use the parameter, "element" anywhere in the method body. > > Please correct me, on any of the points I have mentioned. > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: j-dev-unsubscr...@xerces.apache.org > For additional commands, e-mail: j-dev-h...@xerces.apache.org > >