aboutsummaryrefslogblamecommitdiffstats
path: root/lib/docbuilder/xsd/book.xsd
blob: b47962263a58bd45fa3aa82ead014a44cd265196 (plain) (tree)



































































































































































































































































































                                                                                       
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:include schemaLocation="common.xsd"/>
  <xs:include schemaLocation="common.table.xsd"/>
  <xs:element name="book">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="header"/>
        <xs:element minOccurs="0" ref="insidecover"/>
        <xs:element ref="pagetext"/>
        <xs:element ref="preamble"/>
        <xs:choice maxOccurs="unbounded">
          <xs:element ref="applications"/>
          <xs:element ref="parts"/>
          <xs:element ref="headline"/>
          <xs:element ref="pagetext"/>
        </xs:choice>
        <xs:sequence>
          <xs:element minOccurs="0" ref="listoffigures"/>
          <xs:element minOccurs="0" ref="listoftables"/>
          <xs:element minOccurs="0" ref="listofterms"/>
          <xs:element minOccurs="0" ref="bibliography"/>
          <xs:element minOccurs="0" ref="index"/>
        </xs:sequence>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="header">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title"/>
        <xs:element ref="prepared"/>
        <xs:element minOccurs="0" ref="responsible"/>
        <xs:element ref="docno"/>
        <xs:element minOccurs="0" ref="approved"/>
        <xs:element minOccurs="0" ref="checked"/>
        <xs:element ref="date"/>
        <xs:element ref="rev"/>
        <xs:element minOccurs="0" ref="file"/>
        <xs:element minOccurs="0" ref="abbreviation"/>
      </xs:sequence>
      <xs:attribute name="titlestyle" default="normal">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="special"/>
            <xs:enumeration value="normal"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="title">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="br"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="prepared">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="br"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="responsible">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="br"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="docno">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="br"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="approved">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="br"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="checked">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="br"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="date">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="br"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="rev">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="br"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="file">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="br"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="abbreviation">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="br"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="pagetext" type="xs:string"/>
  <xs:element name="preamble">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="preface"/>
        <xs:element minOccurs="0" ref="contents"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="preface">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="title"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="block"/>
          <xs:element ref="quote"/>
          <xs:element ref="br"/>
          <xs:element ref="marker"/>
          <xs:element ref="warning"/>
          <xs:element ref="note"/>
          <xs:element ref="table"/>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="insidecover">
    <xs:complexType mixed="true">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="br"/>
        <xs:element ref="theheader"/>
        <xs:element ref="vfill"/>
        <xs:element ref="tt"/>
        <xs:element ref="bold"/>
        <xs:element ref="include"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="tt">
    <xs:complexType mixed="true">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="br"/>
        <xs:element ref="theheader"/>
        <xs:element ref="vfill"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="bold">
    <xs:complexType mixed="true">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="br"/>
        <xs:element ref="theheader"/>
        <xs:element ref="vfill"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="vfill">
    <xs:complexType/>
  </xs:element>
  <xs:element name="theheader">
    <xs:complexType>
      <xs:attribute name="tag" default="none">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="title"/>
            <xs:enumeration value="prepared"/>
            <xs:enumeration value="responsible"/>
            <xs:enumeration value="docno"/>
            <xs:enumeration value="approved"/>
            <xs:enumeration value="checked"/>
            <xs:enumeration value="date"/>
            <xs:enumeration value="rev"/>
            <xs:enumeration value="file"/>
            <xs:enumeration value="abbreviation"/>
            <xs:enumeration value="none"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="applications">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="include"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="parts">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="title"/>
        <xs:element minOccurs="0" ref="description"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="include"/>
          <xs:element ref="onepart"/>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="lift" default="no">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="headline" type="xs:string"/>
  <xs:element name="index">
    <xs:complexType/>
  </xs:element>
  <xs:element name="listoffigures">
    <xs:complexType/>
  </xs:element>
  <xs:element name="listoftables">
    <xs:complexType/>
  </xs:element>
  <xs:element name="listofterms">
    <xs:complexType/>
  </xs:element>
  <xs:element name="bibliography">
    <xs:complexType/>
  </xs:element>
  <xs:element name="contents">
    <xs:complexType>
      <xs:attribute name="level" default="2">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="0"/>
            <xs:enumeration value="1"/>
            <xs:enumeration value="2"/>
            <xs:enumeration value="3"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="onepart">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="title"/>
        <xs:element minOccurs="0" ref="description"/>
        <xs:element maxOccurs="unbounded" ref="include"/>
      </xs:sequence>
      <xs:attribute name="lift" default="no">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="description">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="block"/>
        <xs:element ref="quote"/>
        <xs:element ref="br"/>
        <xs:element ref="marker"/>
        <xs:element ref="warning"/>
        <xs:element ref="note"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="include">
    <xs:complexType>
      <xs:attribute name="file" use="required"/>
    </xs:complexType>
  </xs:element>
</xs:schema>