1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <xs:schema attributeFormDefault=
"unqualified" elementFormDefault=
"qualified"
3 version=
"1.0" xmlns:
xs=
"http://www.w3.org/2001/XMLSchema"
4 targetNamespace=
"http://xml.bruzgys.eu/patisserie"
5 xmlns:
ns=
"http://xml.bruzgys.eu/patisserie">
6 <xs:element name=
"patisserie">
9 <xs:element name=
"meta" type=
"ns:metaType" />
10 <xs:element name=
"authors">
13 <xs:element name=
"author" type=
"ns:authorTypeAddKey"
14 minOccurs=
"1" maxOccurs=
"unbounded" />
18 <xs:element name=
"recipes">
21 <xs:element name=
"recipe" type=
"ns:recipeType"
22 minOccurs=
"1" maxOccurs=
"unbounded" />
28 <xs:key name=
"authorKey">
29 <xs:selector xpath=
"ns:authors/ns:author" />
30 <xs:field xpath=
"@id" />
32 <xs:keyref name=
"recipeRefer" refer=
"ns:authorKey">
33 <xs:selector xpath=
"ns:recipes/ns:recipe" />
34 <xs:field xpath=
"ns:author" />
38 <xs:complexType name=
"metaType">
40 <xs:element name=
"title" type=
"xs:string" />
41 <xs:element name=
"founded" type=
"xs:date" />
45 <xs:complexType name=
"authorType">
47 <xs:element name=
"name" type=
"ns:nameType" />
48 <xs:element name=
"birth" type=
"xs:date" />
52 <xs:complexType name=
"authorTypeAddKey">
54 <xs:extension base=
"ns:authorType">
55 <xs:attribute name=
"id" type=
"ns:keyType" use=
"required" />
60 <xs:complexType name=
"recipeType">
62 <xs:element name=
"author" type=
"ns:keyType" />
63 <xs:element name=
"title" type=
"xs:string" />
64 <xs:element name=
"created" type=
"xs:date" />
65 <xs:element name=
"price" type=
"ns:priceTypeAddCurrency" />
66 <xs:element name=
"ingredients">
69 <xs:element name=
"ingredient" type=
"xs:string"
70 minOccurs=
"0" maxOccurs=
"unbounded"/>
74 <xs:element name=
"description" minOccurs=
"0"
75 type=
"ns:descriptionTypeAddRestriction" />
77 <xs:attribute name=
"type" type=
"xs:string" />
80 <xs:simpleType name=
"priceType">
81 <xs:restriction base=
"xs:decimal">
82 <xs:minInclusive value=
"0" />
86 <xs:complexType name=
"priceTypeAddCurrency">
88 <xs:extension base=
"ns:priceType">
89 <xs:attribute name=
"currency" use=
"optional" default=
"LTL">
91 <xs:restriction base=
"xs:string">
92 <xs:enumeration value=
"LTL" />
93 <xs:enumeration value=
"USD" />
94 <xs:enumeration value=
"EUR" />
102 <xs:complexType name=
"descriptionType" mixed=
"true">
104 <xs:any namespace=
"http://www.w3.org/1999/xhtml" minOccurs=
"0"
105 maxOccurs=
"unbounded" />
107 <xs:attribute name=
"lang" type=
"xs:string" use=
"optional" />
110 <xs:complexType name=
"descriptionTypeAddRestriction">
112 <xs:restriction base=
"ns:descriptionType">
113 <xs:attribute name=
"lang" default=
"en">
115 <xs:restriction base=
"xs:language">
116 <xs:enumeration value=
"lt" />
117 <xs:enumeration value=
"en" />
125 <xs:simpleType name=
"nameSubType">
126 <xs:restriction base=
"xs:string">
127 <xs:maxLength value=
"50" />
131 <xs:simpleType name=
"nameType">
132 <xs:restriction base=
"ns:nameSubType">
133 <xs:pattern value=
"[A-Z][a-z]+[ ]([A-Z][a-z]*[ ])?[A-Z][a-z]+" />
137 <xs:simpleType name=
"keyType">
138 <xs:list itemType=
"xs:int" />