summaryrefslogtreecommitdiffstats
path: root/examples/xmlpatterns/schema/files/recipe.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'examples/xmlpatterns/schema/files/recipe.xsd')
-rw-r--r--examples/xmlpatterns/schema/files/recipe.xsd40
1 files changed, 40 insertions, 0 deletions
diff --git a/examples/xmlpatterns/schema/files/recipe.xsd b/examples/xmlpatterns/schema/files/recipe.xsd
new file mode 100644
index 0000000..bbbafd9
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/recipe.xsd
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="recipe">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="title" type="xsd:string"/>
+ <xsd:element name="ingredient" type="ingredientType" maxOccurs="unbounded"/>
+ <xsd:element name="time" type="timeType"/>
+ <xsd:element name="method">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="step" type="xsd:string" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="ingredientType">
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="quantity" type="xsd:positiveInteger"/>
+ <xsd:attribute name="unit" type="xsd:string"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="timeType">
+ <xsd:attribute name="quantity" type="xsd:positiveInteger"/>
+ <xsd:attribute name="unit">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="seconds"/>
+ <xsd:enumeration value="minutes"/>
+ <xsd:enumeration value="hours"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+
+</xsd:schema>