Beste mensen,
Ik ben bezig een XML-Schema te maken voor iets van de volgende structuur.
de schema ziet er zo uit:
Hierbij is de attribute 'package' optioneel. Als ie niet ingevuld is moet ie de waarde van de package attribute van het root-element hebben. (Dit is nodig i.v.m. die key)
Ik heb al gegoogled en de complete schema specs doorgelezen van W3.org
Is dit mogelijk met xml-schema (en zo ja hoe?)?
Ik ben bezig een XML-Schema te maken voor iets van de volgende structuur.
XML:
1
2
3
4
5
6
7
8
9
| <root package="com.test"> <class name="Class"> .... </class> <class package="com.test2"> .... </class> </root> |
de schema ziet er zo uit:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| <xsd:element name="root" type="RootType"> <xsd:key name="className"> <xsd:selector xpath=".//class"/> <xsd:field xpath="@name"/> <xsd:field xpath="@package"/> </xsd:key> </xsd:element> <xsd:complexType name="RootType"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="1" type="ClassType" name="class"/> </xsd:sequence> <xsd:attribute name="package" use="optional" type="PackageNameType"/> </xsd:complexType> <xsd:complexType name="ClassType"> .... </xsd:complexType> <xsd:simpleType name="PackageNameType"> <xsd:restriction base="strippedString"> <xsd:pattern value="([a-z][a-zA-Z0-9]*.)*"/> </xsd:restriction> </xsd:simpleType> |
Hierbij is de attribute 'package' optioneel. Als ie niet ingevuld is moet ie de waarde van de package attribute van het root-element hebben. (Dit is nodig i.v.m. die key)
Ik heb al gegoogled en de complete schema specs doorgelezen van W3.org
Is dit mogelijk met xml-schema (en zo ja hoe?)?
edit:
een voorbeeld hiervan is xml:lang --> deze wordt door alle child-elements ge-erft. (totdat die daar opnieuw gedeclareerd word)
een voorbeeld hiervan is xml:lang --> deze wordt door alle child-elements ge-erft. (totdat die daar opnieuw gedeclareerd word)
[ Voor 40% gewijzigd door The-MeLLeR op 16-03-2006 13:38 ]