[
Lists Home |
Date Index |
Thread Index
]
Ivan,
Hess Yvan wrote:
> 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?
You cannot do that in XML Schema, see:
http://www.w3.org/TR/xmlschema-1/#cos-element-consistent
The solution will be to change your document to something like:
<edoc>
<body>
<metadata>
<documenttype>BODY</documenttype>
<from>yhe</from>
<to>yvan</to>
</metadata>
<content>this is the content of the first document</content>
</body>
<part>
<metadata>
<documenttype>ATTACHMENT</documenttype>
<filename>test.doc</filename>
<filesize>100</filesize>
</metadata>
<content>this is the content of the second document</content>
</part>
<edoc>
However in Relax NG you can have something similar to:
start =
element edoc {
element document {
element metadata {
element documenttype { xsd:string },
element from { xsd:string },
element to { xsd:string }
},
element content { text }
},
element document {
element metadata {
element documenttype { xsd:string },
element filename { xsd:string },
element filesize { xsd:integer }
},
element content { text }
}*
}
Hope that helps,
George
-----------------------------------------------
George Cristian Bina
<oXygen/> XML Editor & XSLT Editor/Debugger
http://www.oxygenxml.com
|