You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Boris Kolpackov (JIRA)" <xe...@xml.apache.org> on 2008/04/28 22:09:55 UTC
[jira] Closed: (XERCESC-1797) The xsi:type attribute should be an
allowed field in an identity constraint
[ https://issues.apache.org/jira/browse/XERCESC-1797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Boris Kolpackov closed XERCESC-1797.
------------------------------------
> The xsi:type attribute should be an allowed field in an identity constraint
> ---------------------------------------------------------------------------
>
> Key: XERCESC-1797
> URL: https://issues.apache.org/jira/browse/XERCESC-1797
> Project: Xerces-C++
> Issue Type: Bug
> Components: Validating Parser (XML Schema)
> Affects Versions: 2.7.0
> Environment: Fedora 4 Linux (Embedded System)
> Reporter: Katrina Griffith
>
> Would someone please clarify why the following unique constraint does not
> work? It is an allowed construct in the W3C schema specification, so this may be a bug in the Parser.
> sample constraint:
> <xs:element name="ListNode" type="ListType" minOccurs="0">
> <xs:unique name="Constraint1">
> <xs:selector xpath="./Item"/>
> <xs:field xpath="@address"/>
> <xs:field xpath="@xsi:type"/>
> </xs:unique>
> </xs:element>
> In the sample xml that follows, I am expecting validation errors because more
> than one Item node of the same xsi:type share the same address value. I get no constraint error from the parser.
> sample xml:
> <RootNode xsi:noNamespaceSchemaLocation="TestSchema.xsd"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <ListNode>
> <Item xsi:type="SpecificItemType1" address="1" file="file1.xml"
> name="Item1"/>
> <Item xsi:type="SpecificItemType1" address="1" file="file2.xml"
> name="Item2"/>
> <Item xsi:type="SpecificItemType2" address="1" file="file3.xml"
> name="Item3"/>
> </ListNode>
> </RootNode>
> Here is the full schema representation.
> sample xsd:
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:cs="TestSchema.xsd" elementFormDefault="qualified"
> attributeFormDefault="unqualified">
> <xs:simpleType name="AddressType1">
> <xs:restriction base="xs:int">
> <xs:minInclusive value="1"/>
> <xs:maxInclusive value="254"/>
> </xs:restriction>
> </xs:simpleType>
> <xs:simpleType name="AddressType2">
> <xs:restriction base="xs:int">
> <xs:minInclusive value="0"/>
> <xs:maxInclusive value="655519"/>
> </xs:restriction>
> </xs:simpleType>
> <xs:complexType name="AListType">
> <xs:sequence>
> <xs:element name="Item" type="AbstractItemType" minOccurs="0"
> maxOccurs="32"/>
> </xs:sequence>
> </xs:complexType>
> <xs:complexType name="AbstractItemType" abstract="true">
> <xs:attribute name="name" type="xs:string" use="required"/>
> <xs:attribute name="file" type="xs:string" use="required"/>
> </xs:complexType>
> <xs:complexType name="SpecificItemType1">
> <xs:complexContent>
> <xs:extension base="AbstractItemType">
> <xs:attribute name="address" type="AddressType1" use="required"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> <xs:complexType name="SpecificItemType2">
> <xs:complexContent>
> <xs:extension base="AbstractItemType">
> <xs:attribute name="address" type="AddressType2" use="required"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> <xs:element name="RootNode">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="ListNode" type="AListType" minOccurs="0">
> <xs:unique name="Constraint1">
> <xs:selector xpath="./Item"/>
> <xs:field xpath="@address"/>
> <xs:field xpath="@xsi:type"/>
> </xs:unique>
> </xs:element>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
--
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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org