multifocal-0.0.1: examples/imdb.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="imdb" type="IMDB"/>
<xsd:complexType name="Movie">
<xsd:sequence>
<xsd:element name="year" type="xsd:integer"/>
<xsd:element name="title" type="xsd:string"/>
<xsd:group ref="reviews"/>
<xsd:element name="director" type="xsd:string"/>
<xsd:group ref="boxoffices"/>
</xsd:sequence>
</xsd:complexType>
<xsd:group name="reviews">
<xsd:sequence>
<xsd:element name="review" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="user" type="xsd:string" use="required"/>
<xsd:attribute name="comment" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:group name="boxoffices">
<xsd:sequence>
<xsd:element name="boxoffice" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="country" type="xsd:string" use="required"/>
<xsd:attribute name="value" type="xsd:nonNegativeInteger" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:complexType name="Series">
<xsd:sequence>
<xsd:element name="year" type="xsd:integer"/>
<xsd:element name="title" type="xsd:string"/>
<xsd:group ref="reviews"/>
<xsd:element name="season" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="year" type="xsd:integer"/>
<xsd:element name="episode" type="xsd:integer" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Actor">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="played" type="Played" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="IMDB">
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="movie" type="Movie"/>
<xsd:element name="series" type="Series"/>
</xsd:choice>
<xsd:element name="actor" type="Actor" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Played">
<xsd:sequence>
<xsd:element name="year" type="xsd:integer"/>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="role" type="xsd:string"/>
<xsd:element name="award" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="result" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>