<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:cat ="http://www.iro.umontreal.ca/lapalme/wine-catalog"
targetNamespace="http://www.iro.umontreal.ca/lapalme/wine-catalog">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:element name="wine-catalog">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="wine" type="cat:Wine"/>
</xs:sequence>
<xs:attribute ref="xml:base"/>
</xs:complexType>
</xs:element>
<xs:complexType name="Wine">
<xs:sequence>
<xs:element name="properties" type="cat:Properties"/>
<xs:element name="origin" type="cat:Origin"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="tasting-note"
type="cat:Comment" minOccurs="0"/>
<xs:element name="food-pairing"
type="cat:Comment" minOccurs="0"/>
<xs:element name="comment"
type="cat:Comment" minOccurs="0"/>
</xs:choice>
<xs:element name="price" type="xs:decimal" ></xs:element>
<xs:element name="year" type="xs:gYear"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="appellation" type="xs:string"/>
<xs:attribute name="classification" type="xs:string"/>
<xs:attribute name="code" type="xs:ID"/>
<xs:attribute name="format" type="cat:Format"/>
</xs:complexType>
<xs:complexType name="Properties">
<xs:sequence>
<xs:element name="color" type="cat:Color"/>
<xs:element name="alcoholic-strength" type="cat:Percentage"/>
<xs:element name="nature" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Origin">
<xs:sequence>
<xs:element name="country" type="xs:string"/>
<xs:element name="region" type="xs:string"/>
<xs:element name="producer" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Format">
<xs:restriction base="xs:string">
<xs:enumeration value="375ml"/>
<xs:enumeration value="750ml"/>
<xs:enumeration value="1l"/>
<xs:enumeration value="magnum">
<xs:annotation>
<xs:documentation> 1.5 litres</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="jeroboam">
<xs:annotation>
<xs:documentation> 3 litres</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="rehoboam">
<xs:annotation>
<xs:documentation> 4.5 litres</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="mathusalem">
<xs:annotation>
<xs:documentation> 6 litres</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="salmanazar">
<xs:annotation>
<xs:documentation> 9 litres</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="balthazar">
<xs:annotation>
<xs:documentation>12 litres</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="nabuchodonosor">
<xs:annotation>
<xs:documentation>15 litres</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Comment" mixed="true">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:choice>
<xs:element name="emph" type="xs:string"/>
<xs:element name="bold" type="xs:string"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="Color">
<xs:restriction base="xs:string">
<xs:enumeration value="red"/>
<xs:enumeration value="white"/>
<xs:enumeration value="rosé"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Percentage">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>