- 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