⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 movie-watcher.xsd

📁 Delphi XML & XPATH源代码
💻 XSD
字号:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">

  <xs:annotation>
    <xs:documentation>
      Movie-watcher schema.
      Data about movies and when and where they are showing.
      Written by Keith Wood, 7 August, 2000.
    </xs:documentation>
  </xs:annotation>

  <xs:attributeGroup name="commonAttrs">
    <xs:annotation>
      <xs:documentation>Attributes common to both movies and cinemas</xs:documentation>
    </xs:annotation>
    <xs:attribute name="id" type="xs:ID" use="required"/>
    <xs:attribute name="logo-url" type="xs:ENTITY" use="optional"/>
    <xs:attribute name="url" type="xs:ENTITY" use="optional"/>
  </xs:attributeGroup>

  <xs:element name="name" type="xs:string"/>

  <xs:element name="starring">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="star" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="synopsis">
    <xs:complexType mixed="true">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="emph" type="xs:string"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>

  <xs:element name="movie">
    <xs:annotation>
      <xs:documentation>Details about a single movie</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name"/>
        <xs:element name="length" type="xs:positiveInteger" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Length of movie in minutes</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="director" type="xs:string" minOccurs="0"/>
        <xs:element ref="starring" minOccurs="0"/>
        <xs:element ref="synopsis" minOccurs="0"/>
      </xs:sequence>
      <xs:attributeGroup ref="commonAttrs"/>
      <xs:attribute name="rating" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="NR"/>
            <xs:enumeration value="G"/>
            <xs:enumeration value="PG"/>
            <xs:enumeration value="PG-13"/>
            <xs:enumeration value="R"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>

  <xs:element name="movies">
    <xs:annotation>
      <xs:documentation>The list of movies</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="movie" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="candy-bar">
    <xs:complexType/>
  </xs:element>

  <xs:element name="disabled-access">
    <xs:complexType/>
  </xs:element>

  <xs:element name="facilities">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="candy-bar" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="disabled-access" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="prices">
    <xs:annotation>
      <xs:documentation>Details about a single pricing scheme</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name"/>
        <xs:element name="period" type="xs:string"/>
        <xs:element name="adult" type="xs:decimal"/>
        <xs:element name="child" type="xs:decimal"/>
        <xs:element name="discount" type="xs:decimal" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:ID" use="required"/>
    </xs:complexType>
  </xs:element>

  <xs:element name="pricing">
    <xs:annotation>
      <xs:documentation>The list of pricing schemes for a cinema</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="prices" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="cinema">
    <xs:annotation>
      <xs:documentation>Details about a single cinema</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name"/>
        <xs:element name="phone" type="xs:string"/>
        <xs:element name="address" type="xs:string"/>
        <xs:element name="directions" type="xs:string" minOccurs="0"/>
        <xs:element ref="facilities" minOccurs="0"/>
        <xs:element ref="pricing"/>
      </xs:sequence>
      <xs:attributeGroup ref="commonAttrs"/>
    </xs:complexType>
  </xs:element>

  <xs:element name="cinemas">
    <xs:annotation>
      <xs:documentation>The list of cinemas</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="cinema" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="features">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="digital-sound" type="xs:string" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="no-passes">
    <xs:complexType/>
  </xs:element>

  <xs:element name="restrictions">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="no-passes" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="session">
    <xs:annotation>
      <xs:documentation>Details about a single show time</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:time">
          <xs:attribute name="price-id" type="xs:IDREF" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>

  <xs:element name="sessions">
    <xs:annotation>
      <xs:documentation>The list of show times</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="session" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="screening">
    <xs:annotation>
      <xs:documentation>Details about one movie showing at one cinema</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="start-date" type="xs:date"/>
        <xs:element name="end-date" type="xs:date"/>
        <xs:element ref="features" minOccurs="0"/>
        <xs:element ref="restrictions" minOccurs="0"/>
        <xs:element ref="sessions"/>
      </xs:sequence>
      <xs:attribute name="movie-id" type="xs:IDREF" use="required"/>
      <xs:attribute name="cinema-id" type="xs:IDREF" use="required"/>
    </xs:complexType>
  </xs:element>

  <xs:element name="screenings">
    <xs:annotation>
      <xs:documentation>The list of movie screenings as cinemas</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="screening" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="movie-watcher">
    <xs:annotation>
      <xs:documentation>The main element for this type of document</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="movies"/>
        <xs:element ref="cinemas"/>
        <xs:element ref="screenings"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -