rust-xml-reader/cinema.xsd
2022-12-01 10:52:40 +01:00

79 lines
3.6 KiB
XML

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance">
<xsd:element name="cinéma">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="film" minOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="title" type="xsd:string" use="required"/>
<xsd:element name="genres" use="required">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="genre" type="xsd:string" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="director" type="xsd:string" use="required"/>
<xsd:element name="language" type="xsd:string" use="required"/>
<xsd:element name="nationalities" use="required">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="nationality" type="xsd:string" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="actors" use="required">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="actor" type="xsd:string" minOccurs="1"/>
<xsd:attribute name="href" type="xsd:anyURI" use="required"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="year" type="xsd:gYear" use="required"/>
<xsd:element name="duration" type="xsd:int" use="required"/>
<xsd:element name="notes">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="note" type="xsd:float" minValue="0.0" maxValue="5.0" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="source" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="synopsis" type="xsd:string" use="required"/>
<xsd:element name="seances" use="required">
<xsd:complexType>
<xsd:simpleType name="weekday" final="restriction">
<xsd:restriction base="xs:string">
<xsd:enumeration value="lundi"/>
<xsd:enumeration value="mardi"/>
<xsd:enumeration value="mercredi"/>
<xsd:enumeration value="jeudi"/>
<xsd:enumeration value="vendredi"/>
<xsd:enumeration value="samedi"/>
<xsd:enumeration value="dimanche"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="cinematime" final="restriction">
<xsd:restriction base="xs:NMTOKEN">
<xsd:pattern value="(08|09|1[0-9]|2[0-2]):[0-5]0"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:sequence>
<xsd:element name="seance" type="xsd:cinematime" minOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="day" type="xsd:weekday" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="category" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<!-- vim: tabstop=2 softtabstop=2 shiftwidth=2
-->