[
Lists Home |
Date Index |
Thread Index
]
I have a XML situation that have many time the same element but with a
different defininiton as illustrated bellow and I would like to create the
XML schema that can validate this document. As you can see only the
<metadata> element differs from the first and second <document> element. The
first <document> element must occur only once and the second <document>
element can appears 0..unbounded. How can solve my problem?
Thanks for your answer.
Regards. Yvan
-------------
XML document:
-------------
<edoc>
<document>
<metadata>
<documenttype>BODY</documenttype>
<from>yhe</from>
<to>yvan</to>
</metadata>
<content>this is the content of the first document</content>
</document>
<document>
<metadata>
<documenttype>ATTACHMENT</documenttype>
<filename>test.doc</filename>
<filesize>100</filesize>
</metadata>
<content>this is the content of the second document</content>
</document>
</edoc>
-------------
XML schema:
-------------
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="edoc">
<xs:complexType>
<xs:sequence>
<xs:element name="document">
<xs:complexType>
<xs:sequence>
<xs:element name="metadata">
<xs:complexType>
<xs:sequence>
<xs:element name="documenttype"
type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="to" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="content" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="document" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="metadata">
<xs:complexType>
<xs:sequence>
<xs:element name="documenttype"
type="xs:string"/>
<xs:element name="filename" type="xs:string"/>
<xs:element name="filesize" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="content" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Yvan Hess
Chief Software Architect
e-mail: yvan.hess@imtf.ch
phone : +41 (0)26 460 66 66
fax : +41 (0)26 460 66 60
Informatique-MTF SA
Route du Bleuet 1
CH-1762 Givisiez
Systemintegrators for eDocuments
http://www.imtf.com
DISCLAIMER
This message is intended only for use by the person to whom it is addressed.
It may contain information that is privileged and confidential. Its content
does not constitute a formal commitment by IMTF. If you are not the intended
recipient of this message, kindly notify the sender immediately and destroy
this message. Thank You.
|