- From: Hess Yvan <yvan.hess@imtf.ch>
- Date: Thu, 11 Mar 2004 22:53:31 +0100
- To: 'Markus Seibold ' <markus.seibold@gmx.net>
- Cc: "'xmlschema-dev@w3.org '" <xmlschema-dev@w3.org>
Do you mean I have to change the schema like that ?
<xs:element name="metadata">
<xs:complexType>
<xs:all>
<xs:element name="identifier" type="xs:string"/>
<xs:any processContents="lax"/>
</xs:all>
</xs:complexType>
</xs:element>
If yes, I can say that I get an error saying that the xml schema is not
valid.
Regards. Yvan
-----Original Message-----
From: Markus Seibold
To: 'Hess Yvan'; xmlschema-dev@w3.org
Sent: 11.03.04 22:33
Subject: RE: Problem designing complexType accepting a specified element and
a llowing any others
Hi Yvan,
try <all> instead of <sequence>. This element allows the elements to
appear in random order but element declarations within the all container
cannot contain maxOccurs="unbounded" but only maxOccurs="1".
Markus
> -----Original Message-----
> From: xmlschema-dev-request@w3.org
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Hess Yvan
> Sent: Donnerstag, 11. März 2004 20:45
> To: 'xmlschema-dev@w3.org'
> Subject: Problem designing complexType accepting a specified
> element and a llowing any others
>
>
>
> I want to design a complexType named "metadata" that forces
> the presence of an "identifier" element and allows any others
> elements not predefined. Moreover the "identifier" and the
> others elements can appear in any order into the "metadata"
> element. Here are examples of valid xml instances:
>
> <metadata xmlns="http://www.imtf.com/test">
> <identifier>urn:hsc:1234</identifier>
> <name>Hess Yvan</name>
> </metadata>
>
> <metadata xmlns="http://www.imtf.com/test">
> <subject>This is the subject</subject>
> <identifier>urn:hsc:1234</identifier>
> </metadata>
>
> I implemented the following xml schema but it doesn't work:
>
> <xs:element name="metadata">
> <xs:complexType>
> <xs:choice minOccurs="0" maxOccurs="unbounded">
> <xs:element name="identifier" type="xs:string"/>
> <xs:any processContents="lax" minOccurs="0"
> maxOccurs="unbounded"/>
> </xs:choice>
> </xs:complexType>
> </xs:element>
>
>
> I get the following error with Xerces validation and a
> similar one with XSV (I violated the "Unique Particle Attribution").
>
> [Error] choice.xsd:4:23: cos-nonambig:
> "http://www.imtf.com/test":identifier
> and
> WC[##any] (or elements from their substitution group)
> violate "Unique Particle Attribution". During validation
> against this schema, ambiguity would be created for those two
> particles.
> choice.xml: 571 ms (3 elems, 1 attrs, 0 spaces, 30 chars)
>
> If I change my xml schema using sequence instead of choice as follow:
>
> <xs:element name="metadata">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="identifier" type="xs:string"/>
> <xs:any processContents="lax" minOccurs="0"
> maxOccurs="unbounded"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
>
> it works but in this case the "identifier" element must be at
> the FIRST position and I don't want that !!!
>
> Please can you help me to solve this problem. I have no idea
> how to solve it !!!
>
> Regards. Yvan Hess
>
> --------------------------------------------------------
> XML file:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <metadata xmlns="http://www.imtf.com/test"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.imtf.com/test choice.xsd">
> <identifier>urn:hsc:1234</identifier>
> <name>Hess Yvan</name>
> </metadata>
>
> --------------------------------------------------------
> XML schema file:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema targetNamespace="http://www.imtf.com/test"
> xmlns="http://www.imtf.com/test"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> elementFormDefault="qualified" attributeFormDefault="unqualified">
> <xs:element name="metadata">
> <xs:complexType>
> <xs:choice minOccurs="0" maxOccurs="unbounded">
> <xs:element name="identifier" type="xs:string"/>
> <xs:any processContents="lax" minOccurs="0"
> maxOccurs="unbounded"/>
> </xs:choice>
> </xs:complexType>
> </xs:element>
> </xs:schema>
>
>
>
>
Received on Thursday, 11 March 2004 16:59:32 UTC