123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?xml version="1.0"?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="recipe">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="meta" type="MetaType" />
- <xs:element name="nutrition" type="NutritionType" />
- <xs:element name="ingredients" type="IngredientsType" />
- <xs:element name="steps" type="StepsType" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="StepsType">
- <xs:sequence>
- <xs:element name="step" type="StepType" minOccurs="1" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="MetaType">
- <xs:sequence>
- <xs:element name="categories" type="CategoriesType" minOccurs="0" maxOccurs="1" />
- <xs:element name="title" type="xs:string" />
- <xs:element name="author" type="xs:string" />
- <xs:element name="date" minOccurs="0" maxOccurs="1" type="xs:date" />
- <xs:element name="collections" minOccurs="0" maxOccurs="1" type="CollectionsType" />
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="NutritionType">
- <xs:sequence>
- <xs:element name="servings" type="xs:positiveInteger" />
- <xs:element name="servingSize" type="xs:string" />
- <xs:element name="caloriesPerServing" type="xs:positiveInteger" />
- <xs:element name="fat" type="xs:positiveInteger" />
- <xs:element name="cholesterol" type="xs:positiveInteger" />
- <xs:element name="sodium" type="xs:positiveInteger" />
- <xs:element name="fiber" type="xs:positiveInteger" />
- <xs:element name="sugars" type="xs:positiveInteger" />
- <xs:element name="totalCarbs" type="xs:positiveInteger" />
- <xs:element name="protein" type="xs:positiveInteger" />
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="CollectionsType">
- <xs:sequence>
- <xs:element name="collection" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="CategoriesType">
- <xs:sequence>
- <xs:element name="category" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="IngredientCategoryType">
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="ref" type="xs:string" />
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
-
- <xs:complexType name="IngredientCategoriesType">
- <xs:sequence>
- <xs:element name="category" minOccurs="0" maxOccurs="unbounded" type="IngredientCategoryType" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="IngredientsType">
- <xs:sequence>
- <xs:element name="categories" type="IngredientCategoriesType" />
- <xs:element name="ingredient" type="IngredientType" minOccurs="1" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="IngredientType">
- <xs:attribute name="ref" type="xs:string" />
- <xs:attribute name="ingredient" type="xs:string" />
- <xs:attribute name="amount" type="xs:positiveInteger" />
- <xs:attribute name="unit" type="xs:string" />
- <xs:attribute name="categories" type="xs:string" />
- </xs:complexType>
- <xs:complexType name="StepType" mixed="true">
- <xs:sequence>
- <xs:element name="ingredient" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:attribute name="ref" type="xs:string" />
- <xs:attribute name="category" type="xs:string" />
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="ref" type="xs:string" />
- <xs:attribute name="sequence" type="xs:positiveInteger" />
- </xs:complexType>
- </xs:schema>
|