<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file. Auto generated from commands.xml with sphelper. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:speedata.de:2009/publisher/en" xmlns:en="urn:speedata.de:2009/publisher/en">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
  <xs:element name="A">
    <xs:annotation>
      <xs:documentation>Insert hyperlink to a URL.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:choice>
          <xs:element ref="en:A"/>
          <xs:element ref="en:B"/>
          <xs:element ref="en:Barcode"/>
          <xs:element ref="en:Br"/>
          <xs:element ref="en:Clip"/>
          <xs:element ref="en:Color"/>
          <xs:element ref="en:Fontface"/>
          <xs:element ref="en:ForAll"/>
          <xs:element ref="en:Frame"/>
          <xs:element ref="en:HSpace"/>
          <xs:element ref="en:I"/>
          <xs:element ref="en:Image"/>
          <xs:element ref="en:Loop"/>
          <xs:element ref="en:Math"/>
          <xs:element ref="en:NoBreak"/>
          <xs:element ref="en:Sub"/>
          <xs:element ref="en:Sup"/>
          <xs:element ref="en:Span"/>
          <xs:element ref="en:Switch"/>
          <xs:element ref="en:U"/>
          <xs:element ref="en:URL"/>
          <xs:element ref="en:Value"/>
        </xs:choice>
        <xs:element ref="en:Box"/>
      </xs:choice>
      <xs:attribute name="bordercolor">
        <xs:annotation>
          <xs:documentation>Set the color of the border (Adobe Acrobat ony).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="description">
        <xs:annotation>
          <xs:documentation>An alternative text for accessibility</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="embedded">
        <xs:annotation>
          <xs:documentation>Link to an attached file. To open a page other than the first page, set the page attribute, to open a named destination, set the link attribute.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="href">
        <xs:annotation>
          <xs:documentation>The target of the hyperlink (URI). Example: https://www.speedata.de</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="link">
        <xs:annotation>
          <xs:documentation>The target of the document link (a Mark). Example: article123. When linking to embedded files, the link attribute may contain the named destination of the target.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="page">
        <xs:annotation>
          <xs:documentation>Link to a (logical) page number. When linking to embedded files, the page attribute may contain the page number of the target.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddSearchpath">
    <xs:annotation>
      <xs:documentation>Add a directory on the hard-drive to be added to the publisher's search path.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>The path to be added. System dependent.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="AtPageCreation">
    <xs:annotation>
      <xs:documentation>The contents of the element AtPageCreation is executed the first time the page is accessed. This is used in Pagetype.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:AddSearchpath"/>
        <xs:element minOccurs="0" ref="en:AttachFile"/>
        <xs:element minOccurs="0" ref="en:Bookmark"/>
        <xs:element minOccurs="0" ref="en:ClearPage"/>
        <xs:element minOccurs="0" ref="en:Copy-of"/>
        <xs:element minOccurs="0" ref="en:DefineColor"/>
        <xs:element minOccurs="0" ref="en:DefineFontfamily"/>
        <xs:element minOccurs="0" ref="en:DefineFontalias"/>
        <xs:element minOccurs="0" ref="en:DefineMatter"/>
        <xs:element minOccurs="0" ref="en:DefineTextformat"/>
        <xs:element minOccurs="0" ref="en:ForAll"/>
        <xs:element minOccurs="0" ref="en:Group"/>
        <xs:element minOccurs="0" ref="en:Hyphenation"/>
        <xs:element minOccurs="0" ref="en:Include"/>
        <xs:element minOccurs="0" ref="en:InsertPages"/>
        <xs:element minOccurs="0" ref="en:Layout"/>
        <xs:element minOccurs="0" ref="en:LoadDataset"/>
        <xs:element minOccurs="0" ref="en:LoadFontfile"/>
        <xs:element minOccurs="0" ref="en:Loop"/>
        <xs:element minOccurs="0" ref="en:Message"/>
        <xs:element minOccurs="0" ref="en:NextFrame"/>
        <xs:element minOccurs="0" ref="en:NextRow"/>
        <xs:element minOccurs="0" ref="en:Options"/>
        <xs:element minOccurs="0" ref="en:Output"/>
        <xs:element minOccurs="0" ref="en:Pagetype"/>
        <xs:element minOccurs="0" ref="en:Pageformat"/>
        <xs:element minOccurs="0" ref="en:PDFOptions"/>
        <xs:element minOccurs="0" ref="en:PlaceObject"/>
        <xs:element minOccurs="0" ref="en:ProcessNode"/>
        <xs:element minOccurs="0" ref="en:SaveDataset"/>
        <xs:element minOccurs="0" ref="en:SavePages"/>
        <xs:element minOccurs="0" ref="en:Section"/>
        <xs:element minOccurs="0" ref="en:SetGrid"/>
        <xs:element minOccurs="0" ref="en:SetVariable"/>
        <xs:element minOccurs="0" ref="en:SortSequence"/>
        <xs:element minOccurs="0" ref="en:StructureElement"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
        <xs:element minOccurs="0" ref="en:Until"/>
        <xs:element minOccurs="0" ref="en:Value"/>
        <xs:element minOccurs="0" ref="en:While"/>
      </xs:sequence>
      <xs:attribute name="graphic">
        <xs:annotation>
          <xs:documentation>The name of a metapost graphic.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="AtPageShipout">
    <xs:annotation>
      <xs:documentation>The enclosed instructions will be executed when the page is placed into the PDF file. Used in Pagetype.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:AddSearchpath"/>
        <xs:element minOccurs="0" ref="en:AttachFile"/>
        <xs:element minOccurs="0" ref="en:Bookmark"/>
        <xs:element minOccurs="0" ref="en:ClearPage"/>
        <xs:element minOccurs="0" ref="en:Copy-of"/>
        <xs:element minOccurs="0" ref="en:DefineColor"/>
        <xs:element minOccurs="0" ref="en:DefineFontfamily"/>
        <xs:element minOccurs="0" ref="en:DefineFontalias"/>
        <xs:element minOccurs="0" ref="en:DefineMatter"/>
        <xs:element minOccurs="0" ref="en:DefineTextformat"/>
        <xs:element minOccurs="0" ref="en:ForAll"/>
        <xs:element minOccurs="0" ref="en:Group"/>
        <xs:element minOccurs="0" ref="en:Hyphenation"/>
        <xs:element minOccurs="0" ref="en:Include"/>
        <xs:element minOccurs="0" ref="en:InsertPages"/>
        <xs:element minOccurs="0" ref="en:Layout"/>
        <xs:element minOccurs="0" ref="en:LoadDataset"/>
        <xs:element minOccurs="0" ref="en:LoadFontfile"/>
        <xs:element minOccurs="0" ref="en:Loop"/>
        <xs:element minOccurs="0" ref="en:Message"/>
        <xs:element minOccurs="0" ref="en:NextFrame"/>
        <xs:element minOccurs="0" ref="en:NextRow"/>
        <xs:element minOccurs="0" ref="en:Options"/>
        <xs:element minOccurs="0" ref="en:Output"/>
        <xs:element minOccurs="0" ref="en:Pagetype"/>
        <xs:element minOccurs="0" ref="en:Pageformat"/>
        <xs:element minOccurs="0" ref="en:PDFOptions"/>
        <xs:element minOccurs="0" ref="en:PlaceObject"/>
        <xs:element minOccurs="0" ref="en:ProcessNode"/>
        <xs:element minOccurs="0" ref="en:SaveDataset"/>
        <xs:element minOccurs="0" ref="en:SavePages"/>
        <xs:element minOccurs="0" ref="en:Section"/>
        <xs:element minOccurs="0" ref="en:SetGrid"/>
        <xs:element minOccurs="0" ref="en:SetVariable"/>
        <xs:element minOccurs="0" ref="en:SortSequence"/>
        <xs:element minOccurs="0" ref="en:StructureElement"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
        <xs:element minOccurs="0" ref="en:Until"/>
        <xs:element minOccurs="0" ref="en:Value"/>
        <xs:element minOccurs="0" ref="en:While"/>
      </xs:sequence>
      <xs:attribute name="graphic">
        <xs:annotation>
          <xs:documentation>The name of a metapost graphic.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="AttachFile">
    <xs:annotation>
      <xs:documentation>Attach a file to the PDF. Can be used to attach a ZUGFeRD electronic invoice.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="filename">
        <xs:annotation>
          <xs:documentation>The name of the local file to be attached to the PDF.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="description">
        <xs:annotation>
          <xs:documentation>Textual description of the attached file (for the PDF viewer).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="type" use="required">
        <xs:annotation>
          <xs:documentation>The type of the included file. Must be a mime type or ZUGFeRD invoice.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="name">
        <xs:annotation>
          <xs:documentation>Set the name of the attached file in the PDF document. Defaults to factur-x.xml if the attached file type is ZUGFeRD invoice.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="select">
        <xs:annotation>
          <xs:documentation>The contents of the file. Alternative to reading a file from the hard-drive.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Axis">
    <xs:annotation>
      <xs:documentation>Set a design axis of a variable font to a specific value. Use as a child element of LoadFontfile to create a static font instance from a variable font. Any OpenType variation axis can be specified, such as wght (weight), wdth (width), opsz (optical size), ital (italic), slnt (slant), or custom axes.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The four-letter tag of the variation axis (e.g. wght, wdth, opsz).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="value" use="required">
        <xs:annotation>
          <xs:documentation>The value to set for the axis.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Attribute">
    <xs:annotation>
      <xs:documentation>Create an attribute for the Element data structure that can be saved to the hard drive with SaveDataset.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>Name of the attribute that is created.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>The contents of the attribute</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="B">
    <xs:annotation>
      <xs:documentation>Switch to font weight “bold”</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:URL"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="Barcode">
    <xs:annotation>
      <xs:documentation>Print a 1d or 2d barcode. To be used in PlaceObject.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="color">
        <xs:annotation>
          <xs:documentation>Color of the barcode. Must be defined with DefineColor before use. Currently only used for QR codes.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="eclevel">
        <xs:annotation>
          <xs:documentation>Set the error correction level for QR-codes. If not provided, the system uses the maximum level for minimum size. The higher the level, the more error correction is in the QR-code.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="L">
              <xs:annotation>
                <xs:documentation>Set the lowest level (1) with approx. 7% recovery.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="M">
              <xs:annotation>
                <xs:documentation>Set the second lowest level (2) with approx. 15% recovery.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Q">
              <xs:annotation>
                <xs:documentation>Set the second highest level (3) with approx. 25% recovery.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H">
              <xs:annotation>
                <xs:documentation>Set the highest level (4) with approx. 35% recovery.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="fontfamily">
        <xs:annotation>
          <xs:documentation>Name of the font of the text that can be placed beneath the barcode. Not used in all codes.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="height">
        <xs:annotation>
          <xs:documentation>Height of the barcode. Since QR codes are square, the smaller value of width and height determines their size.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="keepfontsize">
        <xs:annotation>
          <xs:documentation>Try to keep the size of the requested font. Works with EAN13 only.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="overshoot">
        <xs:annotation>
          <xs:documentation>The factor denoting the extra length of the outer and middle bar. Only useful with EAN13.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>The data to be encoded in the barcode.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="showtext">
        <xs:annotation>
          <xs:documentation>Should the text be written under the barcode?</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Write text beneath the barcode.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't display text.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="type" use="required">
        <xs:annotation>
          <xs:documentation>Type of the barcode. One of EAN13, Code128 or QRCode.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="QRCode">
              <xs:annotation>
                <xs:documentation>Create an “optimal” QR code in terms of error correction and size.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Code128">
              <xs:annotation>
                <xs:documentation>Generate a code 128 barcode for numbers and text.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EAN13">
              <xs:annotation>
                <xs:documentation>Create an EAN13 barcode for 13 digits.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>Width of the barcode</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Bold">
    <xs:annotation>
      <xs:documentation>Name of the font face that should be used when switching to “bold”.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="fontface" use="required">
        <xs:annotation>
          <xs:documentation>Name of the font for bold.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="BoldItalic">
    <xs:annotation>
      <xs:documentation>Name of the font face that should be used when switching to “bold italic”.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="fontface" use="required">
        <xs:annotation>
          <xs:documentation>Name of the font for bold italic.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Bookmark">
    <xs:annotation>
      <xs:documentation>Create a bookmark for the PDF viewer (e.g. Adobe Reader). When the user clicks on a bookmark, the PDF viewer jumps to that place in the document.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="level" use="required">
        <xs:annotation>
          <xs:documentation>1 is the top level, 2 is the next level, etc.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="open">
        <xs:annotation>
          <xs:documentation>If yes, the child elements are shown. If no, the child elements are hidden.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show children.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Hide children.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>Title of the bookmark</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Box">
    <xs:annotation>
      <xs:documentation>Create a rectangular colored area. The area must fit the grid cells.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="background-color">
        <xs:annotation>
          <xs:documentation>Color of the box. If the color name is a dash (-), a transparent background is used.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-color">
        <xs:annotation>
          <xs:documentation>Color of the border. Must be used together with border-width. The border is drawn inside the box dimensions, shrinking the fill area accordingly.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-width">
        <xs:annotation>
          <xs:documentation>Width of the border. Must be used together with border-color.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="bleed">
        <xs:annotation>
          <xs:documentation>Lets the box increase its size by the amount of trim given in the options. Useful for thumb indexes. The contents of the attribute is either “left”, “right”, “top” or “bottom” or any combination such as “top,right”.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="auto">
              <xs:annotation>
                <xs:documentation>Increase the size depending on the position.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="top">
              <xs:annotation>
                <xs:documentation>Increase the size to the top.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="left">
              <xs:annotation>
                <xs:documentation>Increase the size to the left.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bottom">
              <xs:annotation>
                <xs:documentation>Increase the size to the bottom.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="right">
              <xs:annotation>
                <xs:documentation>Increase the size to the right.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="top,left">
              <xs:annotation>
                <xs:documentation>Increase the size to the top and left.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="top,right">
              <xs:annotation>
                <xs:documentation>Increase the size to the top and right.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bottom,left">
              <xs:annotation>
                <xs:documentation>Increase the size to the bottom and left.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bottom,right">
              <xs:annotation>
                <xs:documentation>Increase the size to the bottom and right.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="class">
        <xs:annotation>
          <xs:documentation>CSS class for this box.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="graphic">
        <xs:annotation>
          <xs:documentation>The name of the metapost graphic to use instead of the box.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="height" use="required">
        <xs:annotation>
          <xs:documentation>Height of the box in grid cells.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="id">
        <xs:annotation>
          <xs:documentation>CSS id for this box.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-top">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the top edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-bottom">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the bottom edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-left">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the left edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-right">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the right edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="vertical-align">
        <xs:annotation>
          <xs:documentation>Vertical alignment of the box when used inline in a paragraph. Only effective when the box appears inside a paragraph together with text or other inline elements.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="bottom">
              <xs:annotation>
                <xs:documentation>Align the bottom of the box with the bottom of the line box (below the text baseline, at the descender line).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="width" use="required">
        <xs:annotation>
          <xs:documentation>Width of the box in grid cells or in absolute values.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Br">
    <xs:annotation>
      <xs:documentation>Insert a newline</xs:documentation>
    </xs:annotation>
    <xs:complexType/>
  </xs:element>
  <xs:element name="Case">
    <xs:annotation>
      <xs:documentation>Part of a Switch construct. All cases up to the first case which evaluates to “true” will be executed. If no cases match and there is a Otherwise, this will be executed instead.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:A"/>
        <xs:element minOccurs="0" ref="en:AddSearchpath"/>
        <xs:element minOccurs="0" ref="en:AttachFile"/>
        <xs:element minOccurs="0" ref="en:Attribute"/>
        <xs:element minOccurs="0" ref="en:B"/>
        <xs:element minOccurs="0" ref="en:Barcode"/>
        <xs:element minOccurs="0" ref="en:Bookmark"/>
        <xs:element minOccurs="0" ref="en:Box"/>
        <xs:element minOccurs="0" ref="en:Br"/>
        <xs:element minOccurs="0" ref="en:ClearPage"/>
        <xs:element minOccurs="0" ref="en:Clip"/>
        <xs:element minOccurs="0" ref="en:Color"/>
        <xs:element minOccurs="0" ref="en:Column"/>
        <xs:element minOccurs="0" ref="en:Columns"/>
        <xs:element minOccurs="0" ref="en:Copy-of"/>
        <xs:element minOccurs="0" ref="en:DefineColor"/>
        <xs:element minOccurs="0" ref="en:DefineFontfamily"/>
        <xs:element minOccurs="0" ref="en:DefineFontalias"/>
        <xs:element minOccurs="0" ref="en:DefineTextformat"/>
        <xs:element minOccurs="0" ref="en:DefineMatter"/>
        <xs:element minOccurs="0" ref="en:Element"/>
        <xs:element minOccurs="0" ref="en:Fontface"/>
        <xs:element minOccurs="0" ref="en:ForAll"/>
        <xs:element minOccurs="0" ref="en:Frame"/>
        <xs:element minOccurs="0" ref="en:Group"/>
        <xs:element minOccurs="0" ref="en:HSpace"/>
        <xs:element minOccurs="0" ref="en:HTML"/>
        <xs:element minOccurs="0" ref="en:Hyphenation"/>
        <xs:element minOccurs="0" ref="en:I"/>
        <xs:element minOccurs="0" ref="en:Image"/>
        <xs:element minOccurs="0" ref="en:Initial"/>
        <xs:element minOccurs="0" ref="en:Include"/>
        <xs:element minOccurs="0" ref="en:InsertPages"/>
        <xs:element minOccurs="0" ref="en:Layout"/>
        <xs:element minOccurs="0" ref="en:Li"/>
        <xs:element minOccurs="0" ref="en:LoadDataset"/>
        <xs:element minOccurs="0" ref="en:LoadFontfile"/>
        <xs:element minOccurs="0" ref="en:Loop"/>
        <xs:element minOccurs="0" ref="en:Mark"/>
        <xs:element minOccurs="0" ref="en:Math"/>
        <xs:element minOccurs="0" ref="en:Message"/>
        <xs:element minOccurs="0" ref="en:NextFrame"/>
        <xs:element minOccurs="0" ref="en:NextRow"/>
        <xs:element minOccurs="0" ref="en:NoBreak"/>
        <xs:element minOccurs="0" ref="en:Options"/>
        <xs:element minOccurs="0" ref="en:Output"/>
        <xs:element minOccurs="0" ref="en:Overlay"/>
        <xs:element minOccurs="0" ref="en:Pagetype"/>
        <xs:element minOccurs="0" ref="en:Pageformat"/>
        <xs:element minOccurs="0" ref="en:Paragraph"/>
        <xs:element minOccurs="0" ref="en:PlaceObject"/>
        <xs:element minOccurs="0" ref="en:PositioningArea"/>
        <xs:element minOccurs="0" ref="en:PositioningFrame"/>
        <xs:element minOccurs="0" ref="en:ProcessNode"/>
        <xs:element minOccurs="0" ref="en:SaveDataset"/>
        <xs:element minOccurs="0" ref="en:SavePages"/>
        <xs:element minOccurs="0" ref="en:SetGrid"/>
        <xs:element minOccurs="0" ref="en:SetVariable"/>
        <xs:element minOccurs="0" ref="en:SortSequence"/>
        <xs:element minOccurs="0" ref="en:Section"/>
        <xs:element minOccurs="0" ref="en:Span"/>
        <xs:element minOccurs="0" ref="en:StructureElement"/>
        <xs:element minOccurs="0" ref="en:Sub"/>
        <xs:element minOccurs="0" ref="en:Sup"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
        <xs:element minOccurs="0" ref="en:Table"/>
        <xs:element minOccurs="0" ref="en:TableNewPage"/>
        <xs:element minOccurs="0" ref="en:Tablehead"/>
        <xs:element minOccurs="0" ref="en:Tablerule"/>
        <xs:element minOccurs="0" ref="en:Td"/>
        <xs:element minOccurs="0" ref="en:Tr"/>
        <xs:element minOccurs="0" ref="en:Transformation"/>
        <xs:element minOccurs="0" ref="en:Trace"/>
        <xs:element minOccurs="0" ref="en:U"/>
        <xs:element minOccurs="0" ref="en:Until"/>
        <xs:element minOccurs="0" ref="en:Value"/>
        <xs:element minOccurs="0" ref="en:VSpace"/>
        <xs:element minOccurs="0" ref="en:While"/>
      </xs:sequence>
      <xs:attribute name="test" use="required">
        <xs:annotation>
          <xs:documentation>The test that gets evaluated.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Circle">
    <xs:annotation>
      <xs:documentation>Create a circle or ellipse.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="background-color">
        <xs:annotation>
          <xs:documentation>Color of the circle.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="class">
        <xs:annotation>
          <xs:documentation>CSS class for the circle.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="framecolor">
        <xs:annotation>
          <xs:documentation>Color of the circle line.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="id">
        <xs:annotation>
          <xs:documentation>CSS id for this circle.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="radiusx" use="required">
        <xs:annotation>
          <xs:documentation>Radius of the circle in grid cells (horizontal) or as an absolute length. Use with radiusy to create an ellipse.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="radiusy">
        <xs:annotation>
          <xs:documentation>Radius of the ellipse in grid cells (vertical) or as an absolute length.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="rulewidth">
        <xs:annotation>
          <xs:documentation>The thickness of the border that is drawn around the object.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="ClearPage">
    <xs:annotation>
      <xs:documentation>Finishes the current page.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="force">
        <xs:annotation>
          <xs:documentation>Force the creation of a new page when multiple consecutive ClearPage commands occur.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="matter">
        <xs:annotation>
          <xs:documentation>Set the matter for the new page.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="openon">
        <xs:annotation>
          <xs:documentation>The next current page will be a left or a right page. E.g. when on page 1 and openon="right" then page 2 is empty and the next current page is 3.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="left">
              <xs:annotation>
                <xs:documentation>The next objects will be placed on a left page.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="right">
              <xs:annotation>
                <xs:documentation>The next objects will be placed on a right page.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="pagetype">
        <xs:annotation>
          <xs:documentation>The name of the next page type that should be used. If an InsertPage follows the NextPage, the pagetype is used for the first inserted page.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="skippagetype">
        <xs:annotation>
          <xs:documentation>The pagetype of the blank page if inserted (see the attribute openon).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Clip">
    <xs:annotation>
      <xs:documentation>Clip an image or other output</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Box"/>
        <xs:element ref="en:Circle"/>
        <xs:element ref="en:Rule"/>
        <xs:element ref="en:Textblock"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Table"/>
        <xs:element ref="en:Transformation"/>
        <xs:element ref="en:Frame"/>
      </xs:choice>
      <xs:attribute name="left">
        <xs:annotation>
          <xs:documentation>The amount of clip from the left border.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="top">
        <xs:annotation>
          <xs:documentation>The amount of clip from the top border.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="right">
        <xs:annotation>
          <xs:documentation>The amount of clip from the right border.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="bottom">
        <xs:annotation>
          <xs:documentation>The amount of clip from the bottom border.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>The clipped width of the object. Should be used with one of left or right.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="height">
        <xs:annotation>
          <xs:documentation>The clipped height of the object. Should be used with one of top or bottom.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="method">
        <xs:annotation>
          <xs:documentation>Set the resize method of the resulting object.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="clip">
                  <xs:annotation>
                    <xs:documentation>Clip and shrink the object.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="frame">
                  <xs:annotation>
                    <xs:documentation>Just hide the outer frame of the object, do not change the size.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Color">
    <xs:annotation>
      <xs:documentation>Switch to another text color</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:URL"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The name of the color. Must be pre-defined with DefineColor.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Column">
    <xs:annotation>
      <xs:documentation>Set the properties of a column in the table.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="align">
        <xs:annotation>
          <xs:documentation>The horizontal alignment of the table cells in this column. Can be overridden in a cell (Td).</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="left">
              <xs:annotation>
                <xs:documentation>The table cells are left aligned.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="center">
              <xs:annotation>
                <xs:documentation>The table cells are horizontally centered.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="right">
              <xs:annotation>
                <xs:documentation>The table cells are right aligned.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="background-color">
        <xs:annotation>
          <xs:documentation>All cells in this column have this background color.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="minwidth">
        <xs:annotation>
          <xs:documentation>Minimum width of the column. Argument can be a number (in grid cells) or a length (e.g. 2cm).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-left">
        <xs:annotation>
          <xs:documentation>Set the left padding for the column</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-right">
        <xs:annotation>
          <xs:documentation>Set the right padding for the column</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>Width of the column. Argument can be a number (in grid cells) a length (e.g. 2cm), a *-number (e.g. 4*) or the keyword min or max.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="valign">
        <xs:annotation>
          <xs:documentation>The vertical alignment of the cells in this column. Can be overridden in a cell (Td).</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="top">
              <xs:annotation>
                <xs:documentation>The table cells are top aligned.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="middle">
              <xs:annotation>
                <xs:documentation>The table cells are vertically centered.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bottom">
              <xs:annotation>
                <xs:documentation>The table cells are aligned at the bottom.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Columns">
    <xs:annotation>
      <xs:documentation>Set the widths and other properties of the columns in a table.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="en:Column"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="Compatibility">
    <xs:annotation>
      <xs:documentation>Set compatibility for older layouts</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="movecursoronplaceobject">
        <xs:annotation>
          <xs:documentation>Switch the behavior where objects at the right page margin used in PlaceObject puts the cursor in #columns + 1.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>New behavior (default): set cursor in column 1 when an object goes to the right margin.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Old behavior: set the cursor to the column + 1 past the right edge of the placed object.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Contents">
    <xs:annotation>
      <xs:documentation>Marks the contents of a Group, a virtual area.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:AddSearchpath"/>
        <xs:element minOccurs="0" ref="en:AttachFile"/>
        <xs:element minOccurs="0" ref="en:Bookmark"/>
        <xs:element minOccurs="0" ref="en:ClearPage"/>
        <xs:element minOccurs="0" ref="en:Copy-of"/>
        <xs:element minOccurs="0" ref="en:DefineColor"/>
        <xs:element minOccurs="0" ref="en:DefineFontfamily"/>
        <xs:element minOccurs="0" ref="en:DefineFontalias"/>
        <xs:element minOccurs="0" ref="en:DefineMatter"/>
        <xs:element minOccurs="0" ref="en:DefineTextformat"/>
        <xs:element minOccurs="0" ref="en:ForAll"/>
        <xs:element minOccurs="0" ref="en:Group"/>
        <xs:element minOccurs="0" ref="en:Hyphenation"/>
        <xs:element minOccurs="0" ref="en:Include"/>
        <xs:element minOccurs="0" ref="en:InsertPages"/>
        <xs:element minOccurs="0" ref="en:Layout"/>
        <xs:element minOccurs="0" ref="en:LoadDataset"/>
        <xs:element minOccurs="0" ref="en:LoadFontfile"/>
        <xs:element minOccurs="0" ref="en:Loop"/>
        <xs:element minOccurs="0" ref="en:Message"/>
        <xs:element minOccurs="0" ref="en:NextFrame"/>
        <xs:element minOccurs="0" ref="en:NextRow"/>
        <xs:element minOccurs="0" ref="en:Options"/>
        <xs:element minOccurs="0" ref="en:Output"/>
        <xs:element minOccurs="0" ref="en:Pagetype"/>
        <xs:element minOccurs="0" ref="en:Pageformat"/>
        <xs:element minOccurs="0" ref="en:PDFOptions"/>
        <xs:element minOccurs="0" ref="en:PlaceObject"/>
        <xs:element minOccurs="0" ref="en:ProcessNode"/>
        <xs:element minOccurs="0" ref="en:SaveDataset"/>
        <xs:element minOccurs="0" ref="en:SavePages"/>
        <xs:element minOccurs="0" ref="en:Section"/>
        <xs:element minOccurs="0" ref="en:SetGrid"/>
        <xs:element minOccurs="0" ref="en:SetVariable"/>
        <xs:element minOccurs="0" ref="en:SortSequence"/>
        <xs:element minOccurs="0" ref="en:StructureElement"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
        <xs:element minOccurs="0" ref="en:Until"/>
        <xs:element minOccurs="0" ref="en:Value"/>
        <xs:element minOccurs="0" ref="en:While"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Copy-of">
    <xs:annotation>
      <xs:documentation>Replace this element by the copy of the selection as an element structure. You can use it to construct more complex data structures.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>The selection (most likely a variable) that is to be copied.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="DefineColorprofile">
    <xs:annotation>
      <xs:documentation>Associate an external color profile with a name. To be used in PDFOptions.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="condition">
        <xs:annotation>
          <xs:documentation>Description of the output condition.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="colors" use="required">
        <xs:annotation>
          <xs:documentation>Number of the colors in this color profile</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="filename" use="required">
        <xs:annotation>
          <xs:documentation>Filename of the color profile.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="identifier" use="required">
        <xs:annotation>
          <xs:documentation>The official identifier for the registry.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="info" use="required">
        <xs:annotation>
          <xs:documentation>Short text about the color profile.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The internal name of the color profile. To be used in PDFOptions.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="registry">
        <xs:annotation>
          <xs:documentation>The name of the registry. Defaults to http://www.color.org/.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="DefineColor">
    <xs:annotation>
      <xs:documentation>Colors defined with DefineColors can be referenced later by their name.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="alpha">
        <xs:annotation>
          <xs:documentation>Set the opacity of the color. (0-100/255, where 0 is invisible)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="colorname">
        <xs:annotation>
          <xs:documentation>The name of the spot color if model is “spotcolor”. The name must match the required color name, such as “PANTONE 116 C”.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="model">
        <xs:annotation>
          <xs:documentation>Color model to be used for the color. Currently “rgb”, “cmyk”, “gray” and “spotcolor” are supported.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="cmyk">
              <xs:annotation>
                <xs:documentation>CMYK (cyan, magenta, yellow, key/black), values between 0 and 100 (100 = full intensity)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rgb">
              <xs:annotation>
                <xs:documentation>rgb (red, green, blue), values between 0 and 100, 100 means full intensity</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RGB">
              <xs:annotation>
                <xs:documentation>rgb (red, green, blue), values between 0 and 255, 255 means full intensity</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gray">
              <xs:annotation>
                <xs:documentation>Gray (0=black, 100=white)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="spotcolor">
              <xs:annotation>
                <xs:documentation>Use a PANTONE or HKS color.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The name of the color to be defined.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="overprint">
        <xs:annotation>
          <xs:documentation>Enable overprint for this color.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Enable overprint for this color.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Disable overprint for this color (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="saturation">
        <xs:annotation>
          <xs:documentation>The amount of color printed for the spot color (range from 0 = no color to 1 = full color). Defaults to 1</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="usecolorprofile">
        <xs:annotation>
          <xs:documentation>If yes, make this color definition based on an ICC profile (default).</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="value">
        <xs:annotation>
          <xs:documentation>Hex value of the color, such as #FA5 or #FFAA55 or rgb(255,170,85) or rgba(255,170,85,1).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="r">
        <xs:annotation>
          <xs:documentation>Red part with rgb (0-100) or RGB (0-255).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="g">
        <xs:annotation>
          <xs:documentation>Green part with rgb (0-100) or RGB (0-255) / gray part when using the model gray (0-100).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="b">
        <xs:annotation>
          <xs:documentation>Blue part with rgb (0-100) or RGB (0-255).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="c">
        <xs:annotation>
          <xs:documentation>Cyan part with cmyk (0-100).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="m">
        <xs:annotation>
          <xs:documentation>Magenta part with cmyk (0-100)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="y">
        <xs:annotation>
          <xs:documentation>Yellow part with cmyk (0-100).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="k">
        <xs:annotation>
          <xs:documentation>Black part with cmyk (0-100).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="DefineGraphic">
    <xs:annotation>
      <xs:documentation>Define a metapost graphic to be used in Box. EXPERIMENTAL!</xs:documentation>
    </xs:annotation>
    <xs:complexType mixed="true">
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The name of the graphic.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="DefineFontalias">
    <xs:annotation>
      <xs:documentation>Defines a font alias. When defining a font family, you can use the an alias for the fontname. Aliases are looked up recursively.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="alias" use="required">
        <xs:annotation>
          <xs:documentation>New (equivalent) name of the font</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="existing" use="required">
        <xs:annotation>
          <xs:documentation>The name of the existing font family.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="DefineFontfamily">
    <xs:annotation>
      <xs:documentation>Defines a font family consisting of the shapes “regular”, “bold”, “bold italic” and “italic”. To be used in Paragraph, Textblock, Fontface and Table with the attribute fontfamily.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Regular"/>
        <xs:element ref="en:Italic"/>
        <xs:element ref="en:Bold"/>
        <xs:element ref="en:BoldItalic"/>
      </xs:choice>
      <xs:attribute name="fontsize" use="required">
        <xs:annotation>
          <xs:documentation>Font size. Without unit, DTP points are assumed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="leading" use="required">
        <xs:annotation>
          <xs:documentation>Distance between two baselines. Without unit, DTP points are expected.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The symbolic name that is used as a reference to access this font family.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="scriptsize">
        <xs:annotation>
          <xs:documentation>Super/subscript font size. Defautlts to 80% of the font size.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="subshift">
        <xs:annotation>
          <xs:documentation>(Down-)shift of subscript. 0pt is on the base line, positive values move down. Defaults to 30% of the font size.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="supershift">
        <xs:annotation>
          <xs:documentation>(Up-)shift of superscript. 0pt is on the base line, positive values move up. Defaults to 30% of the font size.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="DefineMatter">
    <xs:annotation>
      <xs:documentation>Define a new section of the document.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The name of the section to be defined.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="prefix">
        <xs:annotation>
          <xs:documentation>Set the prefix of the displayed page number.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="label">
        <xs:annotation>
          <xs:documentation>Set label for the user-visible page number.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="decimal">
              <xs:annotation>
                <xs:documentation>Set the page number to decimal arabic numerals.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lowercase-romannumeral">
              <xs:annotation>
                <xs:documentation>Set the page numbering to lowercase romannumeral</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="uppercase-romannumeral">
              <xs:annotation>
                <xs:documentation>Set the page numbering to uppercase romannumeral</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lowercase-letter">
              <xs:annotation>
                <xs:documentation>Set the page numbering to lowercase letter (a-z)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="uppercase-letter">
              <xs:annotation>
                <xs:documentation>Set the page numbering to uppercase letter (A-Z)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="resetafter">
        <xs:annotation>
          <xs:documentation>Reset page numbering to 1 after this matter.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="resetbefore">
        <xs:annotation>
          <xs:documentation>Set the page number to 1 at the section start.</xs:documentation>
        </xs:annotation>
        <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="DefineTextformat">
    <xs:annotation>
      <xs:documentation>Define text formatting instructions. A textformat is used to align and indent text and create margins and rules before and after the text.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="alignment">
        <xs:annotation>
          <xs:documentation>Determines the formatting of the text. It defaults to justified.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="justified">
              <xs:annotation>
                <xs:documentation>Textblock has a rectangular shape.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="leftaligned">
              <xs:annotation>
                <xs:documentation>The text is ragged at the right margin.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rightaligned">
              <xs:annotation>
                <xs:documentation>The text is ragged right at the left margin.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="centered">
              <xs:annotation>
                <xs:documentation>The text is ragged at the left and the right margin.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="start">
              <xs:annotation>
                <xs:documentation>The text is ragged at the right margin for left-to-right texts and at the left margin for right-to-left texts.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="end">
              <xs:annotation>
                <xs:documentation>The text is ragged at the left margin for left-to-right texts and at the right margin for right-to-left texts.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="border-top">
        <xs:annotation>
          <xs:documentation>The thickness of the rule above the text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-bottom">
        <xs:annotation>
          <xs:documentation>The thickness of the rule below the text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="break-before">
        <xs:annotation>
          <xs:documentation>Force break before the text. This only works within an Output container.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="auto">
                  <xs:annotation>
                    <xs:documentation>Default: don't force a page break.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="page">
                  <xs:annotation>
                    <xs:documentation>Force page break above</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="break-below">
        <xs:annotation>
          <xs:documentation>(Dis-)Allow break below the text. This only works within an Output container.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Allow a break below this text (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Prevent a page break below this text.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="column-padding-top">
        <xs:annotation>
          <xs:documentation>The height of the padding that is inserted in a column (at the top) with Output/Text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="cssfontsize">
        <xs:annotation>
          <xs:documentation>If yes, the fontsize is interpreted as CSS fontsize (e.g. 1.2em, 150%, etc.). If no, the font size is taken from the font family setting. Default is no.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="fill-last-line">
        <xs:annotation>
          <xs:documentation>Ensure the length of the last line in a paragraph. Values from 0 (no change) to 100 (last line is full). Handle with care. Default is 0.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="hyphenchar">
        <xs:annotation>
          <xs:documentation>The character used for hyphenation (default: -)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="hyphenate">
        <xs:annotation>
          <xs:documentation>Enable or disable hyphenation (default: on).</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Enable hyphenation (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Disable hyphenation.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="indentation">
        <xs:annotation>
          <xs:documentation>The amount of indentation.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="letter-spacing">
        <xs:annotation>
          <xs:documentation>Additional space between characters in 1/1000 em. For example, a value of 50 adds 0.05 em between each character. This is font-size independent and scales with the text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="margin-bottom">
        <xs:annotation>
          <xs:documentation>Distance between the bottom rule and the text of the next paragraph.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="margin-top">
        <xs:annotation>
          <xs:documentation>Distance between the top rule and the text of the previous paragraph.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="margin-top-box-start">
        <xs:annotation>
          <xs:documentation>The top margin at the beginning of a page or column with Output. Defaults to the value of margin-top.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>Name of the textformat that is used later in the layout.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="orphan">
        <xs:annotation>
          <xs:documentation>If yes, allow orphans (first line of paragraph is on the previous page). If you provide a number, it is the number of lines that must be kept together. Default: no.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]+|yes|no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="padding-top">
        <xs:annotation>
          <xs:documentation>Distance between the top of the text and the top rule.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="rows">
        <xs:annotation>
          <xs:documentation>The number of rows with indentation given in the attribute indentation. If the number is negative, this determines the number of rows that are not indented.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="tab">
        <xs:annotation>
          <xs:documentation>What to do on the tab (&amp; #09;) character.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="space">
              <xs:annotation>
                <xs:documentation>Use tab as space</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hspace">
              <xs:annotation>
                <xs:documentation>Use tab as a stretching space</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="html-vertical-spacing">
        <xs:annotation>
          <xs:documentation>Set the vertical spacing for HTML contents. Defaults to “off”.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="all">
              <xs:annotation>
                <xs:documentation>Allow each vertical spacing.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="inner">
              <xs:annotation>
                <xs:documentation>Discard first and last vertical spacing.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="off">
              <xs:annotation>
                <xs:documentation>Ignore all vertical spacing.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="widow">
        <xs:annotation>
          <xs:documentation>If yes, allow widows (last line of paragraph is on the next page). If you provide a number, it is the number of lines that must be kept together.  Default: no.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]+|yes|no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Element">
    <xs:annotation>
      <xs:documentation>Create a data structure that can be used to save on the hard-drive between consecutive runs (with SaveDataset).</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Attribute"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:Element"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Makeindex"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:SortSequence"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>Name of the element that gets created.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Fallback">
    <xs:annotation>
      <xs:documentation>Define a fallback for LoadFontfile</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="filename" use="required">
        <xs:annotation>
          <xs:documentation>The filename of the font to be used as a fallback.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Fontface">
    <xs:annotation>
      <xs:documentation>Switch to another font family.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:URL"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="fontfamily" use="required">
        <xs:annotation>
          <xs:documentation>The name of the font family to switch to.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="ForAll">
    <xs:annotation>
      <xs:documentation>Executes the given commands for all elements in the data XML file that match the contents of the attribute select.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:AddSearchpath"/>
        <xs:element ref="en:AttachFile"/>
        <xs:element ref="en:Attribute"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Bookmark"/>
        <xs:element ref="en:Box"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:ClearPage"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Column"/>
        <xs:element ref="en:Columns"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:DefineColor"/>
        <xs:element ref="en:DefineFontfamily"/>
        <xs:element ref="en:DefineFontalias"/>
        <xs:element ref="en:DefineTextformat"/>
        <xs:element ref="en:DefineMatter"/>
        <xs:element ref="en:Element"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:Group"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:HTML"/>
        <xs:element ref="en:Hyphenation"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Initial"/>
        <xs:element ref="en:Include"/>
        <xs:element ref="en:InsertPages"/>
        <xs:element ref="en:Layout"/>
        <xs:element ref="en:Li"/>
        <xs:element ref="en:LoadDataset"/>
        <xs:element ref="en:LoadFontfile"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Mark"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:Message"/>
        <xs:element ref="en:NextFrame"/>
        <xs:element ref="en:NextRow"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Options"/>
        <xs:element ref="en:Output"/>
        <xs:element ref="en:Overlay"/>
        <xs:element ref="en:Pagetype"/>
        <xs:element ref="en:Pageformat"/>
        <xs:element ref="en:Paragraph"/>
        <xs:element ref="en:PlaceObject"/>
        <xs:element ref="en:PositioningArea"/>
        <xs:element ref="en:PositioningFrame"/>
        <xs:element ref="en:ProcessNode"/>
        <xs:element ref="en:SaveDataset"/>
        <xs:element ref="en:SavePages"/>
        <xs:element ref="en:SetGrid"/>
        <xs:element ref="en:SetVariable"/>
        <xs:element ref="en:SortSequence"/>
        <xs:element ref="en:Section"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:StructureElement"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Table"/>
        <xs:element ref="en:TableNewPage"/>
        <xs:element ref="en:Tablehead"/>
        <xs:element ref="en:Tablerule"/>
        <xs:element ref="en:Td"/>
        <xs:element ref="en:Tr"/>
        <xs:element ref="en:Transformation"/>
        <xs:element ref="en:Trace"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:Until"/>
        <xs:element ref="en:Value"/>
        <xs:element ref="en:VSpace"/>
        <xs:element ref="en:While"/>
      </xs:choice>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>Selects the child elements from the data XML</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="limit">
        <xs:annotation>
          <xs:documentation>Limits the number of children to the given number.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="start">
        <xs:annotation>
          <xs:documentation>The first entry to process. Default is 1.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Frame">
    <xs:annotation>
      <xs:documentation>Manipulate an object's appearance by drawing a frame. Can be used as a clipping path.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Box"/>
        <xs:element ref="en:Circle"/>
        <xs:element ref="en:Rule"/>
        <xs:element ref="en:Textblock"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Table"/>
        <xs:element ref="en:Transformation"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:Switch"/>
      </xs:choice>
      <xs:attribute name="background-color">
        <xs:annotation>
          <xs:documentation>Color of the background if ›background‹ is set to ›full‹.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-bottom-right-radius">
        <xs:annotation>
          <xs:documentation>Radius of corner bottom right.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-top-right-radius">
        <xs:annotation>
          <xs:documentation>Radius of corner top right.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-top-left-radius">
        <xs:annotation>
          <xs:documentation>Radius of corner top left.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-bottom-left-radius">
        <xs:annotation>
          <xs:documentation>Radius of corner bottom left.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-radius">
        <xs:annotation>
          <xs:documentation>Border radius of the four corners.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="framecolor">
        <xs:annotation>
          <xs:documentation>The color of the frame around the object. This defaults to 'black'. Can be hidden with the special color '-'.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="rulewidth">
        <xs:annotation>
          <xs:documentation>The thickness of the frame that is drawn around the object.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="class">
        <xs:annotation>
          <xs:documentation>CSS class for this element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="id">
        <xs:annotation>
          <xs:documentation>CSS id for this element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="clip">
        <xs:annotation>
          <xs:documentation>Constrain the contents of the frame to its area or allow them to protrude.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>The contents are clipped at the frame border (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>The contents are not clipped.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Function">
    <xs:annotation>
      <xs:documentation>Define a function</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="en:Param"/>
        <xs:sequence maxOccurs="unbounded">
          <xs:element minOccurs="0" ref="en:ClearPage"/>
          <xs:element minOccurs="0" ref="en:Column"/>
          <xs:element minOccurs="0" ref="en:Columns"/>
          <xs:element minOccurs="0" ref="en:Copy-of"/>
          <xs:element minOccurs="0" ref="en:ForAll"/>
          <xs:element minOccurs="0" ref="en:Group"/>
          <xs:element minOccurs="0" ref="en:LoadDataset"/>
          <xs:element minOccurs="0" ref="en:Loop"/>
          <xs:element minOccurs="0" ref="en:Message"/>
          <xs:element minOccurs="0" ref="en:NextFrame"/>
          <xs:element minOccurs="0" ref="en:NextRow"/>
          <xs:element minOccurs="0" ref="en:Output"/>
          <xs:element minOccurs="0" ref="en:Paragraph"/>
          <xs:element minOccurs="0" ref="en:PlaceObject"/>
          <xs:element minOccurs="0" ref="en:ProcessNode"/>
          <xs:element minOccurs="0" ref="en:SaveDataset"/>
          <xs:element minOccurs="0" ref="en:SetVariable"/>
          <xs:element minOccurs="0" ref="en:Switch"/>
          <xs:element minOccurs="0" ref="en:Tablehead"/>
          <xs:element minOccurs="0" ref="en:Tablefoot"/>
          <xs:element minOccurs="0" ref="en:Tablerule"/>
          <xs:element minOccurs="0" ref="en:Td"/>
          <xs:element minOccurs="0" ref="en:Tr"/>
          <xs:element minOccurs="0" ref="en:Value"/>
        </xs:sequence>
      </xs:sequence>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The name of the function (with namespace prefix).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Grid">
    <xs:annotation>
      <xs:documentation>Override the grid settings from SetGrid.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>Set the width of a grid cell.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="height">
        <xs:annotation>
          <xs:documentation>Height of a grid cell.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="nx">
        <xs:annotation>
          <xs:documentation>Number of grid cells in horizontal direction.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="ny">
        <xs:annotation>
          <xs:documentation>Number of grid cells in vertical direction.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="dx">
        <xs:annotation>
          <xs:documentation>Distance between two grid cells (horizontal)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="dy">
        <xs:annotation>
          <xs:documentation>Distance between two grid cells (horizontal)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Group">
    <xs:annotation>
      <xs:documentation>Create a virtual page that behaves like a real page but is not placed into the PDF.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Contents"/>
        <xs:element ref="en:Grid"/>
      </xs:choice>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>Name of the group that is created.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Groupcontents">
    <xs:annotation>
      <xs:documentation>Insert the contents of a group (a virtual area)</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The name of the group</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="HTML">
    <xs:annotation>
      <xs:documentation>Create HTML output</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attribute name="expand-text">
            <xs:annotation>
              <xs:documentation>If set to "yes", expressions in curly braces {expr} within the HTML content are evaluated as XPath expressions (similar to XSLT 3.0 text value templates). Use {{ and }} for literal curly braces. Default is "no".</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="yes"/>
                <xs:enumeration value="no"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="select">
            <xs:annotation>
              <xs:documentation>The HTML selection</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="Hyphenation">
    <xs:annotation>
      <xs:documentation>Suggest a hyphenation. This hyphenation will be used in the running text. See the example.</xs:documentation>
    </xs:annotation>
    <xs:complexType mixed="true">
      <xs:attribute name="language">
        <xs:annotation>
          <xs:documentation>The language for this hyphenation exception. The default is the main document language.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="--|bg|ca|cs|cy|da|de|el|en|en_GB|en_US|eo|es|et|eu|fi|fr|ga|gl|grc|gu|hi|hr|hu|hy|id|is|it|kn|ku|lt|lv|ml|nb|nl|nn|pl|pt|ro|ru|sc|sk|sl|sr|sv|tr|uk|zh"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Ancient Greek">
                  <xs:annotation>
                    <xs:documentation>Ancient Greek</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Armenian">
                  <xs:annotation>
                    <xs:documentation>Armenian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Bahasa Indonesia">
                  <xs:annotation>
                    <xs:documentation>Bahasa Indonesia</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Basque">
                  <xs:annotation>
                    <xs:documentation>Basque</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Bulgarian">
                  <xs:annotation>
                    <xs:documentation>Bulgarian (latin alphabet)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Catalan">
                  <xs:annotation>
                    <xs:documentation>Catalan</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Chinese">
                  <xs:annotation>
                    <xs:documentation>Chinese language setting.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Croatian">
                  <xs:annotation>
                    <xs:documentation>Croatian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Czech">
                  <xs:annotation>
                    <xs:documentation>Czech</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Danish">
                  <xs:annotation>
                    <xs:documentation>Danish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Dutch">
                  <xs:annotation>
                    <xs:documentation>Dutch</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="English (Great Britain)">
                  <xs:annotation>
                    <xs:documentation>British</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="English (USA)">
                  <xs:annotation>
                    <xs:documentation>American English</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Esperanto">
                  <xs:annotation>
                    <xs:documentation>Esperanto</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Estonian">
                  <xs:annotation>
                    <xs:documentation>Estonian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Finnish">
                  <xs:annotation>
                    <xs:documentation>Finnish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="French">
                  <xs:annotation>
                    <xs:documentation>French</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Galician">
                  <xs:annotation>
                    <xs:documentation>Galician</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="German">
                  <xs:annotation>
                    <xs:documentation>German</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Greek">
                  <xs:annotation>
                    <xs:documentation>Monotonic Greek</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Gujarati">
                  <xs:annotation>
                    <xs:documentation>Gujarati</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Hungarian">
                  <xs:annotation>
                    <xs:documentation>Hungarian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Hindi">
                  <xs:annotation>
                    <xs:documentation>Hindi</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Icelandic">
                  <xs:annotation>
                    <xs:documentation>Icelandic</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Irish">
                  <xs:annotation>
                    <xs:documentation>Irish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Italian">
                  <xs:annotation>
                    <xs:documentation>Italian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Kannada">
                  <xs:annotation>
                    <xs:documentation>Kannada</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Kurmanji">
                  <xs:annotation>
                    <xs:documentation>Kurmanji</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Latvian">
                  <xs:annotation>
                    <xs:documentation>Latvian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Lithuanian">
                  <xs:annotation>
                    <xs:documentation>Lithuanian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Malayalam">
                  <xs:annotation>
                    <xs:documentation>Malayalam</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Norwegian Bokmål">
                  <xs:annotation>
                    <xs:documentation>Norwegian Bokmål</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Norwegian Nynorsk">
                  <xs:annotation>
                    <xs:documentation>Norwegian Nynorsk</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Other">
                  <xs:annotation>
                    <xs:documentation>Don't any of these languages. Useful if a text does not render correctly.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Polish">
                  <xs:annotation>
                    <xs:documentation>Polish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Portuguese">
                  <xs:annotation>
                    <xs:documentation>Portuguese</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Romanian">
                  <xs:annotation>
                    <xs:documentation>Romanian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Russian">
                  <xs:annotation>
                    <xs:documentation>Russian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Sanskrit">
                  <xs:annotation>
                    <xs:documentation>Sanskrit (also transliterated)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Serbian">
                  <xs:annotation>
                    <xs:documentation>Serbian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Serbian (cyrillic)">
                  <xs:annotation>
                    <xs:documentation>Serbian (cyrillic script).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Slovak">
                  <xs:annotation>
                    <xs:documentation>Slovak</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Slovenian">
                  <xs:annotation>
                    <xs:documentation>Slovenian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Spanish">
                  <xs:annotation>
                    <xs:documentation>Spanish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Swedish">
                  <xs:annotation>
                    <xs:documentation>Swedish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Turkish">
                  <xs:annotation>
                    <xs:documentation>Turkish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Ukrainian">
                  <xs:annotation>
                    <xs:documentation>Ukrainian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Welsh">
                  <xs:annotation>
                    <xs:documentation>Welsh</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="HSpace">
    <xs:annotation>
      <xs:documentation>Two modes: with a given width, the space takes up the given amount. 
      With no width given: create a horizontal stretching space. The space will take up no width as a minimum but is able to stretch up to infinity. Useful in single line contexts. In normal text there will surprising little stretching involved due to the global paragraph optimization algorithm.
        You will see that all other word spaces will have the minimum width and the excessive whitespace is accumulated at the strechable space.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="leader">
        <xs:annotation>
          <xs:documentation>The text that should be displayed instead of the space. For example a dot (.).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="leader-width">
        <xs:annotation>
          <xs:documentation>Distance between two leader text starting points</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="minwidth">
        <xs:annotation>
          <xs:documentation>The (optional) minimum width of the inserted space.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>Optional width of the space (a length).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="I">
    <xs:annotation>
      <xs:documentation>Switch to italic text.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:URL"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="Include">
    <xs:annotation>
      <xs:documentation>Toplevel element for included layout files.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:DefineColor"/>
        <xs:element minOccurs="0" ref="en:DefineFontalias"/>
        <xs:element minOccurs="0" ref="en:DefineFontfamily"/>
        <xs:element minOccurs="0" ref="en:DefineTextformat"/>
        <xs:element minOccurs="0" ref="en:Hyphenation"/>
        <xs:element minOccurs="0" ref="en:LoadFontfile"/>
        <xs:element minOccurs="0" ref="en:Options"/>
        <xs:element minOccurs="0" ref="en:Pageformat"/>
        <xs:element minOccurs="0" ref="en:Pagetype"/>
        <xs:element minOccurs="0" ref="en:Record"/>
        <xs:element minOccurs="0" ref="en:Section"/>
        <xs:element minOccurs="0" ref="en:SetGrid"/>
        <xs:element minOccurs="0" ref="en:SetVariable"/>
        <xs:element minOccurs="0" ref="en:Stylesheet"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
      </xs:sequence>
      <xs:attribute ref="xml:base"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Initial">
    <xs:annotation>
      <xs:documentation>Make some letters appear in a larger font at the beginning of the paragraph.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="en:Value"/>
      </xs:sequence>
      <xs:attribute name="color">
        <xs:annotation>
          <xs:documentation>Set the color of the initial. Defaults to black.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fontfamily">
        <xs:annotation>
          <xs:documentation>Choose the font family. Only “Regular” shape is used at the moment.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-left">
        <xs:annotation>
          <xs:documentation>Insert space left of the initial.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-right">
        <xs:annotation>
          <xs:documentation>Insert space right of the initial.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-top">
        <xs:annotation>
          <xs:documentation>Insert space top of the initial.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-bottom">
        <xs:annotation>
          <xs:documentation>Insert space bottom of the initial.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="InsertPages">
    <xs:annotation>
      <xs:documentation>Insert previously saved pages or reserve space for pages to be generted in the future.
      There are two modes: the first mode is to first save some pages with SavePages and then insert the pages here. The second mode reserves some pages in the PDF (has to be known in advace) that are created in the future (“future mode”) with SavePages.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The name of the saved pages.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="pages">
        <xs:annotation>
          <xs:documentation>Number of pages to be inserted in “future mode”.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Image">
    <xs:annotation>
      <xs:documentation>Includes an external Graphic. Allowed graphic formats are PDF (.pdf), PNG (.png) and JPEG (.jpg). Other file types might be possible with external converters. See below for a limitation on the number of included PDF files.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="en:Value"/>
      </xs:sequence>
      <xs:attribute name="class">
        <xs:annotation>
          <xs:documentation>CSS class for this element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="id">
        <xs:annotation>
          <xs:documentation>CSS id for this element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="bleed">
        <xs:annotation>
          <xs:documentation>Should the image size increase by the amount of bleed setting (Options)?</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="auto">
              <xs:annotation>
                <xs:documentation>If the image touches a paper edge, extend the image in that direction.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Do not extend the image.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="clip">
        <xs:annotation>
          <xs:documentation>When yes, the image keeps its aspect ratio if both width and hight is given. To be able to fit the image into the given dimensions, the image gets clipped.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Keep the aspect ratio and cut off left/right or top/bottom edges.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Distort the image to make it fit in the given area.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="description">
        <xs:annotation>
          <xs:documentation>An alternative text for accessibility</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="dpiwarn">
        <xs:annotation>
          <xs:documentation>Warn if the image gets lower resolution than given.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fallback">
        <xs:annotation>
          <xs:documentation>The filename of the replacement image if the file is not found. If none given, a red 'file not found' image will gets displayed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="file">
        <xs:annotation>
          <xs:documentation>Filename of the image. Can be a file in the search path, an absolute file name, a file-URI for absolute paths (e.g. file:///path/to/image.pdf) or a location on the web (http, https).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="height">
        <xs:annotation>
          <xs:documentation>Image height. One of 'auto' (default, take image width), length (such as '3cm') or number (in grid cells).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="imageshape">
        <xs:annotation>
          <xs:documentation>Try to load an image shape. Defaults to no.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="parent">
        <xs:annotation>
          <xs:documentation>The id of the parent structure element for tagged PDF</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="page">
        <xs:annotation>
          <xs:documentation>The page number from the PDF. Default is 1 (include the first page).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="margin-bottom">
        <xs:annotation>
          <xs:documentation>Extra space at the bottom of the image.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="margin-top">
        <xs:annotation>
          <xs:documentation>Extra space at the top of the image.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="margin-left">
        <xs:annotation>
          <xs:documentation>Extra space at the left of the image.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="margin-right">
        <xs:annotation>
          <xs:documentation>Extra space at the right of the image.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="maxwidth">
        <xs:annotation>
          <xs:documentation>The maximum width of the image. Only used when clip="no". Value is a number (grid cells), a length or the value “100%” for full width image.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="maxheight">
        <xs:annotation>
          <xs:documentation>The maximum height of the image. Only used when clip="no". Value is a number (grid cells) or a length.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="minwidth">
        <xs:annotation>
          <xs:documentation>The minimum width of the image. Only used when clip="no". Value is a number (grid cells), a length or the value “100%” for full width image.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="minheight">
        <xs:annotation>
          <xs:documentation>The minimum height of the image. Only used when clip="no". Value is a number (grid cells) or a length.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="opacity">
        <xs:annotation>
          <xs:documentation>Set image opacity (0-100, 100=fully opaque).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding">
        <xs:annotation>
          <xs:documentation>Set padding for all four sides.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-top">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the top edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-bottom">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the bottom edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-left">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the left edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-right">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the right edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="stretch">
        <xs:annotation>
          <xs:documentation>Stretch image until one of maximum width and maximum height is reached. Useful if images should be as large as possible but should not use more than the given space.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="role">
        <xs:annotation>
          <xs:documentation>The role for PDF/UA (accessibility, tagged PDF)</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Art">
              <xs:annotation>
                <xs:documentation>An article within a document.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Artifact">
              <xs:annotation>
                <xs:documentation>An element on the page without semantic meaning.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Caption">
              <xs:annotation>
                <xs:documentation>A description of a table or figure.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Div">
              <xs:annotation>
                <xs:documentation>Div is a division of a document without semantic intent.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Document">
              <xs:annotation>
                <xs:documentation>The top level structure</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Figure">
              <xs:annotation>
                <xs:documentation>An illustration.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H1">
              <xs:annotation>
                <xs:documentation>Heading level 1</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H2">
              <xs:annotation>
                <xs:documentation>Heading level 2</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H3">
              <xs:annotation>
                <xs:documentation>Heading level 3</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H4">
              <xs:annotation>
                <xs:documentation>Heading level 4</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H5">
              <xs:annotation>
                <xs:documentation>Heading level 5</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H6">
              <xs:annotation>
                <xs:documentation>Heading level 6</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="P">
              <xs:annotation>
                <xs:documentation>A paragraph.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Lbl">
              <xs:annotation>
                <xs:documentation>A label</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LBody">
              <xs:annotation>
                <xs:documentation>List body</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Part">
              <xs:annotation>
                <xs:documentation>Part is intended to sub-divide a large document into smaller elements.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Sect">
              <xs:annotation>
                <xs:documentation>Sect identifies the sections of a document, part or article.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Span">
              <xs:annotation>
                <xs:documentation>Span is to demarcate content for the purpose of applying semantic and
          other attributes.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Table">
              <xs:annotation>
                <xs:documentation>Table is the container for a table.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TD">
              <xs:annotation>
                <xs:documentation>A table cell</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TR">
              <xs:annotation>
                <xs:documentation>A table row</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOC">
              <xs:annotation>
                <xs:documentation>TOC is a container for a table of contents.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOCI">
              <xs:annotation>
                <xs:documentation>TOCI is a container for a table of contents entry.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="rotate">
        <xs:annotation>
          <xs:documentation>Rotate the image in steps of 90°. The amount of movement is defined by the specified angle; if positive, the movement will be clockwise, if negative, it will be counter-clockwise.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="visiblebox">
        <xs:annotation>
          <xs:documentation>The PDF box that represents the visible area of the included image. Default is “cropbox”.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="artbox">
                  <xs:annotation>
                    <xs:documentation>Use the artbox as the visible area. The artbox is usually not contained in a PDF.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="bleedbox">
                  <xs:annotation>
                    <xs:documentation>Use the bleedbox of the included PDF.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="cropbox">
                  <xs:annotation>
                    <xs:documentation>Use the cropbox of the included PDF (default).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="mediabox">
                  <xs:annotation>
                    <xs:documentation>Use the mediabox of the included PDF. This is the largest box.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="trimbox">
                  <xs:annotation>
                    <xs:documentation>Use the trimbox of the includes PDF. The trimbox is the final paper size. For example, the trim box of an A4 PDF is 210mm x 297mm.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="vertical-align">
        <xs:annotation>
          <xs:documentation>Vertical alignment of the image when used inline in a paragraph. Only effective when multiple images (or images and text) appear in the same paragraph. Default is baseline.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="baseline">
              <xs:annotation>
                <xs:documentation>Align the bottom of the image at the text baseline (default). Each image extends upward from the baseline.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="top">
              <xs:annotation>
                <xs:documentation>Align the top edges of all images. The baseline is at the bottom of the tallest image. Text sits on the baseline.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="middle">
              <xs:annotation>
                <xs:documentation>Align the vertical centers of all images. The baseline is at the center of the tallest image.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hanging">
              <xs:annotation>
                <xs:documentation>The top of the image is placed on the baseline. The image hangs below the text. Each image extends downward independently.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>Image width. One of 'auto' (default, take image width), '100%' (whole area width), length (such as '3cm') or number (in grid cells).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="imagetype">
        <xs:annotation>
          <xs:documentation>Set the converter to be used for the enclosed image (if any).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Italic">
    <xs:annotation>
      <xs:documentation>The font face to be used when the user switches to italic.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="fontface" use="required">
        <xs:annotation>
          <xs:documentation>The name of the fontface.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="LoadDataset">
    <xs:annotation>
      <xs:documentation>Load an XML file previously written by SaveDataset (attribute name) or a well formed XML file (attribute filename). The regular data processing is interrupted and the contents of the data file is taken as a data source. If the file does not exist, the call to LoadDataset is ignored.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="name">
        <xs:annotation>
          <xs:documentation>Name of the data file. Example: toc</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="filename">
        <xs:annotation>
          <xs:documentation>Filename of the XML file to load. Example: myfile.xml.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="LoadFontfile">
    <xs:annotation>
      <xs:documentation>Load a font file (.otf, .ttf) and associate it with an internal name. If a glyph is not found in the font file, an error will be raised (this can be configured via the Options command). You can specify fallbacks as a child element of Loadfontfile.
      Type 1 fonts (.pfb) are not supported since version 6.0. Please convert Type 1 fonts to OpenType.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="en:Fallback"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="en:Axis"/>
      </xs:sequence>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The internal name of the font file. To be used within DefineFontfamily.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="features">
        <xs:annotation>
          <xs:documentation>A comma separated list of OpenType features, such as +liga,-kern</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="filename" use="required">
        <xs:annotation>
          <xs:documentation>The name (with extension) of the font file.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="marginprotrusion">
        <xs:annotation>
          <xs:documentation>The amount of protrusion glyphs like -, . and - stick into the right margin. Defaults to 0. The value is multiplied with 0.001em from the current font, so a setting of 200 allows these characters to stick out of the margin 0.2em.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="oldstylefigures">
        <xs:annotation>
          <xs:documentation>Use oldstyle figures if the font includes them. (OpenType feature “onum”)</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Use oldstyle figures.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Use lining figures.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="smallcaps">
        <xs:annotation>
          <xs:documentation>Use small caps glyphs when the font supplies them.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Use small caps for this font.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't switch to small caps (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="space">
        <xs:annotation>
          <xs:documentation>The natural width between words. Can be stretched by 30% and shrunk by 10%. Defaults to 25. The value is a percentile of the font size.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="stretch">
        <xs:annotation>
          <xs:documentation>Set the maximum stretch factor of the fonts. Default is disabled. Values divided by 10 = percent. For example 20 means stretch by maxium of 2%.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="shrink">
        <xs:annotation>
          <xs:documentation>Set the maximum shrinkage factor of the fonts. Default is disabled. Values divided by 10 = percent. For example 20 means shrink by maxium of 2%.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="step">
        <xs:annotation>
          <xs:documentation>Set the step values for shrinkage / stretching. Value divided by 10 is step in percentage. For example: a value of 20 means increase / decrease size in 2% steps. Default 10.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="weight">
        <xs:annotation>
          <xs:documentation>Set the weight axis (wght) of a variable font. This is a shortcut for using the Axis child element with name="wght". Common values are 100 (Thin), 400 (Regular), 700 (Bold), 900 (Black).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>Set the width axis (wdth) of a variable font. This is a shortcut for using the Axis child element with name="wdth". A value of 100 is normal width, lower values are condensed, higher values are expanded.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Layout">
    <xs:annotation>
      <xs:documentation>This command is the root element in the Layout instructions.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:AttachFile"/>
        <xs:element minOccurs="0" ref="en:AddSearchpath"/>
        <xs:element minOccurs="0" ref="en:Compatibility"/>
        <xs:element minOccurs="0" ref="en:DefineColor"/>
        <xs:element minOccurs="0" ref="en:DefineColorprofile"/>
        <xs:element minOccurs="0" ref="en:DefineFontalias"/>
        <xs:element minOccurs="0" ref="en:DefineGraphic"/>
        <xs:element minOccurs="0" ref="en:DefineFontfamily"/>
        <xs:element minOccurs="0" ref="en:DefineTextformat"/>
        <xs:element minOccurs="0" ref="en:DefineMatter"/>
        <xs:element minOccurs="0" ref="en:Function"/>
        <xs:element minOccurs="0" ref="en:Hyphenation"/>
        <xs:element minOccurs="0" ref="en:LoadFontfile"/>
        <xs:element minOccurs="0" ref="en:Message"/>
        <xs:element minOccurs="0" ref="en:Loop"/>
        <xs:element minOccurs="0" ref="en:Options"/>
        <xs:element minOccurs="0" ref="en:Pageformat"/>
        <xs:element minOccurs="0" ref="en:Pagetype"/>
        <xs:element minOccurs="0" ref="en:PlaceObject"/>
        <xs:element minOccurs="0" ref="en:PDFOptions"/>
        <xs:element minOccurs="0" ref="en:Record"/>
        <xs:element minOccurs="0" ref="en:Section"/>
        <xs:element minOccurs="0" ref="en:SetGrid"/>
        <xs:element minOccurs="0" ref="en:SetVariable"/>
        <xs:element minOccurs="0" ref="en:Stylesheet"/>
        <xs:element minOccurs="0" ref="en:StructureElement"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
        <xs:element minOccurs="0" ref="en:Trace"/>
        <xs:element minOccurs="0" ref="en:While"/>
        <xs:element minOccurs="0" ref="en:Layout"/>
        <xs:element minOccurs="0" ref="en:Include"/>
      </xs:sequence>
      <xs:attribute name="version">
        <xs:annotation>
          <xs:documentation>Minimum publisher version required. If major or minor version differ, give a warning. Format: 1.6.12 (revision number can be left out).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="name">
        <xs:annotation>
          <xs:documentation>A name for the layout. Optional, without any influence on the layout itself.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="require">
        <xs:annotation>
          <xs:documentation>A comma separated list of required default features. The features lxpath and harfbuzz are accepted for compatibility and have no effect, they are always active. The features luxor and fontforge have been removed in version 6.0 and raise an error.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Li">
    <xs:annotation>
      <xs:documentation>List item in an ordered or unordered list.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:URL"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="Loop">
    <xs:annotation>
      <xs:documentation>Repeat the contents of this element several times.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:AddSearchpath"/>
        <xs:element ref="en:AttachFile"/>
        <xs:element ref="en:Attribute"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Bookmark"/>
        <xs:element ref="en:Box"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:ClearPage"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Column"/>
        <xs:element ref="en:Columns"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:DefineColor"/>
        <xs:element ref="en:DefineFontfamily"/>
        <xs:element ref="en:DefineFontalias"/>
        <xs:element ref="en:DefineTextformat"/>
        <xs:element ref="en:DefineMatter"/>
        <xs:element ref="en:Element"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:Group"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:HTML"/>
        <xs:element ref="en:Hyphenation"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Initial"/>
        <xs:element ref="en:Include"/>
        <xs:element ref="en:InsertPages"/>
        <xs:element ref="en:Layout"/>
        <xs:element ref="en:Li"/>
        <xs:element ref="en:LoadDataset"/>
        <xs:element ref="en:LoadFontfile"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Mark"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:Message"/>
        <xs:element ref="en:NextFrame"/>
        <xs:element ref="en:NextRow"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Options"/>
        <xs:element ref="en:Output"/>
        <xs:element ref="en:Overlay"/>
        <xs:element ref="en:Pagetype"/>
        <xs:element ref="en:Pageformat"/>
        <xs:element ref="en:Paragraph"/>
        <xs:element ref="en:PlaceObject"/>
        <xs:element ref="en:PositioningArea"/>
        <xs:element ref="en:PositioningFrame"/>
        <xs:element ref="en:ProcessNode"/>
        <xs:element ref="en:SaveDataset"/>
        <xs:element ref="en:SavePages"/>
        <xs:element ref="en:SetGrid"/>
        <xs:element ref="en:SetVariable"/>
        <xs:element ref="en:SortSequence"/>
        <xs:element ref="en:Section"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:StructureElement"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Table"/>
        <xs:element ref="en:TableNewPage"/>
        <xs:element ref="en:Tablehead"/>
        <xs:element ref="en:Tablerule"/>
        <xs:element ref="en:Td"/>
        <xs:element ref="en:Tr"/>
        <xs:element ref="en:Transformation"/>
        <xs:element ref="en:Trace"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:Until"/>
        <xs:element ref="en:Value"/>
        <xs:element ref="en:VSpace"/>
        <xs:element ref="en:While"/>
      </xs:choice>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>The number of loops. Must be a number or castable as a number.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="variable">
        <xs:annotation>
          <xs:documentation>If given, store the current loop value in this variable. If omitted, the loop value is stored in the variable _loopcounter.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Makeindex">
    <xs:annotation>
      <xs:documentation>Sort and split a list of elements to make an index.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="pagenumber">
        <xs:annotation>
          <xs:documentation>The name of the attribute that holds the page numbers. Defaults to 'page'.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="section" use="required">
        <xs:annotation>
          <xs:documentation>Create an XML-element with this name for every section (letter) in the index.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>The xpath expression ($variable) that holds the element structure for the index.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="sortkey" use="required">
        <xs:annotation>
          <xs:documentation>The name of the attribute holding the indexentry (that should be sorted).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Margin">
    <xs:annotation>
      <xs:documentation>Set the margin of the document or master page.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="left">
        <xs:annotation>
          <xs:documentation>Left margin</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="right">
        <xs:annotation>
          <xs:documentation>Right margin</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="inner">
        <xs:annotation>
          <xs:documentation>Inner margin</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="outer">
        <xs:annotation>
          <xs:documentation>Outer margin</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="top" use="required">
        <xs:annotation>
          <xs:documentation>Top margin</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="bottom" use="required">
        <xs:annotation>
          <xs:documentation>Bottom margin</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Mark">
    <xs:annotation>
      <xs:documentation>Sets an invisible mark into the output. This is helpful when you want to know on which page the mark is placed on.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="append">
        <xs:annotation>
          <xs:documentation>When yes, append the current page to the previous values of the mark. Useful to get page ranges in an index. (Default is no.)</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Append the page number to the previous value of the mark.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Replace the previous value.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>The name of the mark to be set.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="shiftup">
        <xs:annotation>
          <xs:documentation>Raise the position of the hyperlink anchor by this amount.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="pdftarget">
        <xs:annotation>
          <xs:documentation>Set a pdf target that can be referenced by A</xs:documentation>
        </xs:annotation>
        <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="Math">
    <xs:annotation>
      <xs:documentation>Typeset a mathematical formula. The child elements are interpreted as MathML. The MathML root element &lt;math&gt; and the MathML namespace may be given, but both are optional; several child elements are treated as an implicit mrow. Experimental, implementation in progress.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:mathml">
          <xs:attribute name="display">
            <xs:annotation>
              <xs:documentation>If yes, the formula is set in display style (more generous spacing, for example in fractions). If no (default), the formula is set in text style for inline use.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="yes">
                  <xs:annotation>
                    <xs:documentation>Display style.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
                <xs:enumeration value="no">
                  <xs:annotation>
                    <xs:documentation>Inline style.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="fontfamily">
            <xs:annotation>
              <xs:documentation>Name of the font family (defined with DefineFontfamily) whose regular font provides the OpenType MATH table. The first Math element must set this attribute; later elements reuse the registered math font.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="Message">
    <xs:annotation>
      <xs:documentation>Writes a message onto the console and to the protocol file.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Value"/>
        <xs:element ref="en:Element"/>
      </xs:choice>
      <xs:attribute name="select">
        <xs:annotation>
          <xs:documentation>Contents of the message. You can alternatively specify the message by the child elements Value.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="error">
        <xs:annotation>
          <xs:documentation>Generate an error besides writing the message.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Report an error.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Do not report an error (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="errorcode">
        <xs:annotation>
          <xs:documentation>If an error is raised, use this code on exit. Defaults to 1. Negative values are reserved for system purpose.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="exit">
        <xs:annotation>
          <xs:documentation>Tells the software to exit immediately.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>The speedata Publisher continues with the PDF creation.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>The speedata Publisher exits without finishing the PDF file.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="NextFrame">
    <xs:annotation>
      <xs:documentation>Switch to the next free frame of a positioning area.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="area" use="required">
        <xs:annotation>
          <xs:documentation>Name of the positioning area.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="NextRow">
    <xs:annotation>
      <xs:documentation>The virtual cursor is set on the next free row.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="area">
        <xs:annotation>
          <xs:documentation>Name of the area of the virtual cursor.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="row">
        <xs:annotation>
          <xs:documentation>The absolute number of the row for the cursor. If no row is given, the system tries to find a completely free row (perhaps on an empty page).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="rows">
        <xs:annotation>
          <xs:documentation>The number of rows to clear. Defaults to 1.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="NoBreak">
    <xs:annotation>
      <xs:documentation>Don't allow a line break within this element</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:URL"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="maxwidth">
        <xs:annotation>
          <xs:documentation>Set the maximum width of the text if it cannot be deduced from the current surrounding (such as table cells).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="reduce">
        <xs:annotation>
          <xs:documentation>Reduce the text size if necessary.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="fontfit">
              <xs:annotation>
                <xs:documentation>Reduces the text by scaling down the font size so the text exactly fits the available space.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fontsize">
              <xs:annotation>
                <xs:documentation>Reduces the text by decreasing the font size in steps.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cut">
              <xs:annotation>
                <xs:documentation>Inserts text given in the attribute text if the paragraph is too long.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="keeptogether">
              <xs:annotation>
                <xs:documentation>Don't allow a line break within NoBreak (default)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="text">
        <xs:annotation>
          <xs:documentation>The text to be inserted if the paragraph should be cut. For example '...'</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="factor">
        <xs:annotation>
          <xs:documentation>Multiplier for the font size when reduce=fontsize. Default value: 0.9. That means the font size gets decreased by 0.9 until the text fits the objects width.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fontfamily">
        <xs:annotation>
          <xs:documentation>The name of the fontface for text to be reduced. The default is “text” (lowercase t).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Ol">
    <xs:annotation>
      <xs:documentation>Create an ordered list, just like in HTML</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Li"/>
        <xs:element ref="en:ForAll"/>
      </xs:choice>
      <xs:attribute name="fontfamily">
        <xs:annotation>
          <xs:documentation>The name of the font family for the paragraph. The default is “text” (lowercase t).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Options">
    <xs:annotation>
      <xs:documentation>Set publisher specific options.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="background-color">
        <xs:annotation>
          <xs:documentation>Render colored background behind each page. Defaults to 'white'. State a color name or '-' for no background.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="bleed">
        <xs:annotation>
          <xs:documentation>The amount of bleed. Defaults to 0mm.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="bleedmarks">
        <xs:annotation>
          <xs:documentation>Trim marks will be placed in the PDF. The distance of the marks from the imaginary center is determined by the attribute trim, but is at least 5mm. The length of the cut marks is 1cm. The default of this attribute is no, that means no trim marks will be displayed. The trim marks show the additional trim distance.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show trim marks.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't show trim marks (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="crop">
        <xs:annotation>
          <xs:documentation>Crop the pages so that the pdf size of the page is at its minimum. Allowed values are yes, no and a length.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="cutmarks">
        <xs:annotation>
          <xs:documentation>Cut marks / crop marks will be placed in the PDF. The distance of the marks from the imaginary center is determined by the attribute trim, but is at least 5mm. The length of the cut marks is 1cm. The default of this attribute is no, that means no cut marks will be displayed.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show crop marks.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't show crop marks (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="defaultarea">
        <xs:annotation>
          <xs:documentation>Name of the area that is used as a default for placing text (commands Output and PlaceObject). Default is _page.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="ignoreeol">
        <xs:annotation>
          <xs:documentation>Ignore newlines in data-xml</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Ignore newlines in data-xml</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Respect newlines in data-xml</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="html">
        <xs:annotation>
          <xs:documentation>Default setting for HTML parsing in paragraphs. Can be overridden locally in Paragraph. Setting this to 'off' can significantly improve typesetting performance when HTML tags like &lt;b&gt; or &lt;i&gt; are not used.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="all">
              <xs:annotation>
                <xs:documentation>Parse HTML in all paragraphs (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="inner">
              <xs:annotation>
                <xs:documentation>Parse HTML only in child elements of the current data element.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="off">
              <xs:annotation>
                <xs:documentation>Disable HTML parsing in paragraphs.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="imagenotfound">
        <xs:annotation>
          <xs:documentation>When an image is not found: should the publisher raise an error?</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="warning">
              <xs:annotation>
                <xs:documentation>Show a warning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="error">
              <xs:annotation>
                <xs:documentation>Raise an error (default)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="interaction">
        <xs:annotation>
          <xs:documentation>If no, switch off all interaction (hyperlinks).</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="mainlanguage">
        <xs:annotation>
          <xs:documentation>The default language for text (hyphenation and rendering). You can also set the default language on the command line and locally set it at Paragraph and Textblock.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="--|bg|ca|cs|cy|da|de|el|en|en_GB|en_US|eo|es|et|eu|fi|fr|ga|gl|grc|gu|hi|hr|hu|hy|id|is|it|kn|ku|lt|lv|ml|nb|nl|nn|pl|pt|ro|ru|sc|sk|sl|sr|sv|tr|uk|zh"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Ancient Greek">
                  <xs:annotation>
                    <xs:documentation>Ancient Greek</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Armenian">
                  <xs:annotation>
                    <xs:documentation>Armenian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Bahasa Indonesia">
                  <xs:annotation>
                    <xs:documentation>Bahasa Indonesia</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Basque">
                  <xs:annotation>
                    <xs:documentation>Basque</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Bulgarian">
                  <xs:annotation>
                    <xs:documentation>Bulgarian (latin alphabet)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Catalan">
                  <xs:annotation>
                    <xs:documentation>Catalan</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Chinese">
                  <xs:annotation>
                    <xs:documentation>Chinese language setting.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Croatian">
                  <xs:annotation>
                    <xs:documentation>Croatian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Czech">
                  <xs:annotation>
                    <xs:documentation>Czech</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Danish">
                  <xs:annotation>
                    <xs:documentation>Danish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Dutch">
                  <xs:annotation>
                    <xs:documentation>Dutch</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="English (Great Britain)">
                  <xs:annotation>
                    <xs:documentation>British</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="English (USA)">
                  <xs:annotation>
                    <xs:documentation>American English</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Esperanto">
                  <xs:annotation>
                    <xs:documentation>Esperanto</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Estonian">
                  <xs:annotation>
                    <xs:documentation>Estonian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Finnish">
                  <xs:annotation>
                    <xs:documentation>Finnish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="French">
                  <xs:annotation>
                    <xs:documentation>French</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Galician">
                  <xs:annotation>
                    <xs:documentation>Galician</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="German">
                  <xs:annotation>
                    <xs:documentation>German</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Greek">
                  <xs:annotation>
                    <xs:documentation>Monotonic Greek</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Gujarati">
                  <xs:annotation>
                    <xs:documentation>Gujarati</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Hungarian">
                  <xs:annotation>
                    <xs:documentation>Hungarian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Hindi">
                  <xs:annotation>
                    <xs:documentation>Hindi</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Icelandic">
                  <xs:annotation>
                    <xs:documentation>Icelandic</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Irish">
                  <xs:annotation>
                    <xs:documentation>Irish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Italian">
                  <xs:annotation>
                    <xs:documentation>Italian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Kannada">
                  <xs:annotation>
                    <xs:documentation>Kannada</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Kurmanji">
                  <xs:annotation>
                    <xs:documentation>Kurmanji</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Latvian">
                  <xs:annotation>
                    <xs:documentation>Latvian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Lithuanian">
                  <xs:annotation>
                    <xs:documentation>Lithuanian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Malayalam">
                  <xs:annotation>
                    <xs:documentation>Malayalam</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Norwegian Bokmål">
                  <xs:annotation>
                    <xs:documentation>Norwegian Bokmål</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Norwegian Nynorsk">
                  <xs:annotation>
                    <xs:documentation>Norwegian Nynorsk</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Other">
                  <xs:annotation>
                    <xs:documentation>Don't any of these languages. Useful if a text does not render correctly.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Polish">
                  <xs:annotation>
                    <xs:documentation>Polish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Portuguese">
                  <xs:annotation>
                    <xs:documentation>Portuguese</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Romanian">
                  <xs:annotation>
                    <xs:documentation>Romanian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Russian">
                  <xs:annotation>
                    <xs:documentation>Russian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Sanskrit">
                  <xs:annotation>
                    <xs:documentation>Sanskrit (also transliterated)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Serbian">
                  <xs:annotation>
                    <xs:documentation>Serbian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Serbian (cyrillic)">
                  <xs:annotation>
                    <xs:documentation>Serbian (cyrillic script).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Slovak">
                  <xs:annotation>
                    <xs:documentation>Slovak</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Slovenian">
                  <xs:annotation>
                    <xs:documentation>Slovenian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Spanish">
                  <xs:annotation>
                    <xs:documentation>Spanish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Swedish">
                  <xs:annotation>
                    <xs:documentation>Swedish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Turkish">
                  <xs:annotation>
                    <xs:documentation>Turkish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Ukrainian">
                  <xs:annotation>
                    <xs:documentation>Ukrainian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Welsh">
                  <xs:annotation>
                    <xs:documentation>Welsh</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="markdown-extensions">
        <xs:annotation>
          <xs:documentation>Set the markdown extensions. Must be a comma seprarated list of one or more of these values: table, strikethrough, linkify, tasklist, gfm, definitionlist, footnote, typographer, cjk.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="mpcolorwarning">
        <xs:annotation>
          <xs:documentation>Show a warning if the color name is not compatible with MetaPost.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="namespaces">
        <xs:annotation>
          <xs:documentation>Controls the handling of XML namespaces. The default is 'lax' which ignores all namespaces with Record and ProcessNode.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="lax">
              <xs:annotation>
                <xs:documentation>This is the default. XML namespaces in the data file are ignored.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="strict">
              <xs:annotation>
                <xs:documentation>Record and ProcessNode are namespace sensitive.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="randomseed">
        <xs:annotation>
          <xs:documentation>Set the seed for the random number generator (a positive integer).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="overfull-line">
        <xs:annotation>
          <xs:documentation>Raise a warning or an error if a text line is too wide for a text block.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="warning">
              <xs:annotation>
                <xs:documentation>Show a warning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="error">
              <xs:annotation>
                <xs:documentation>Raise an error</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ignore">
              <xs:annotation>
                <xs:documentation>Ignore this case (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="resetmarks">
        <xs:annotation>
          <xs:documentation>Yes: ignore the marks file from previous run.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Ignore marks from the previous run.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Use marks from the previous run (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="reportmissingglyphs">
        <xs:annotation>
          <xs:documentation>Issue an error if glyphs are missing from a font.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show error message (default)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Do not show an error message</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="warning">
              <xs:annotation>
                <xs:documentation>Show a warning</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="startpage">
        <xs:annotation>
          <xs:documentation>Set the number of the first page.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fontexpansion">
        <xs:annotation>
          <xs:documentation>Allow glyph stretching and shrinking. Default is 'yes'.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Do not allow font stretching or shrinking.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="some">
              <xs:annotation>
                <xs:documentation>Stretching and shrinking is applied after the line break.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Stretching and shrinking is applied before linebreak, so the line breaking algorithm has more possible break points thus leading to a “better” visual appearance.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="fontstretch">
        <xs:annotation>
          <xs:documentation>Set the default maximum stretch factor of the fonts. Default is disabled. Values divided by 10 = percent. For example 20 means stretch by maxium of 2%.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fontshrink">
        <xs:annotation>
          <xs:documentation>Set the default maximum shrinkage factor of the fonts. Default is disabled. Values divided by 10 = percent. For example 20 means shrink by maxium of 2%.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fontstep">
        <xs:annotation>
          <xs:documentation>Set the default step values for shrinkage / stretching. Value divided by 10 is step in percentage. For example: a value of 20 means increase / decrease size in 2% steps. Default 10.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="tablerulefix">
        <xs:annotation>
          <xs:documentation>Re-draw rules in table so they appear on top of the table. This fixes a display bug in Adobe Acrobat when colored backgrounds are used.</xs:documentation>
        </xs:annotation>
        <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="Otherwise">
    <xs:annotation>
      <xs:documentation>Default branch of a Switch command.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:A"/>
        <xs:element minOccurs="0" ref="en:AddSearchpath"/>
        <xs:element minOccurs="0" ref="en:AttachFile"/>
        <xs:element minOccurs="0" ref="en:Attribute"/>
        <xs:element minOccurs="0" ref="en:B"/>
        <xs:element minOccurs="0" ref="en:Barcode"/>
        <xs:element minOccurs="0" ref="en:Bookmark"/>
        <xs:element minOccurs="0" ref="en:Box"/>
        <xs:element minOccurs="0" ref="en:Br"/>
        <xs:element minOccurs="0" ref="en:ClearPage"/>
        <xs:element minOccurs="0" ref="en:Clip"/>
        <xs:element minOccurs="0" ref="en:Color"/>
        <xs:element minOccurs="0" ref="en:Column"/>
        <xs:element minOccurs="0" ref="en:Columns"/>
        <xs:element minOccurs="0" ref="en:Copy-of"/>
        <xs:element minOccurs="0" ref="en:DefineColor"/>
        <xs:element minOccurs="0" ref="en:DefineFontfamily"/>
        <xs:element minOccurs="0" ref="en:DefineFontalias"/>
        <xs:element minOccurs="0" ref="en:DefineTextformat"/>
        <xs:element minOccurs="0" ref="en:DefineMatter"/>
        <xs:element minOccurs="0" ref="en:Element"/>
        <xs:element minOccurs="0" ref="en:Fontface"/>
        <xs:element minOccurs="0" ref="en:ForAll"/>
        <xs:element minOccurs="0" ref="en:Frame"/>
        <xs:element minOccurs="0" ref="en:Group"/>
        <xs:element minOccurs="0" ref="en:HSpace"/>
        <xs:element minOccurs="0" ref="en:HTML"/>
        <xs:element minOccurs="0" ref="en:Hyphenation"/>
        <xs:element minOccurs="0" ref="en:I"/>
        <xs:element minOccurs="0" ref="en:Image"/>
        <xs:element minOccurs="0" ref="en:Initial"/>
        <xs:element minOccurs="0" ref="en:Include"/>
        <xs:element minOccurs="0" ref="en:InsertPages"/>
        <xs:element minOccurs="0" ref="en:Layout"/>
        <xs:element minOccurs="0" ref="en:Li"/>
        <xs:element minOccurs="0" ref="en:LoadDataset"/>
        <xs:element minOccurs="0" ref="en:LoadFontfile"/>
        <xs:element minOccurs="0" ref="en:Loop"/>
        <xs:element minOccurs="0" ref="en:Mark"/>
        <xs:element minOccurs="0" ref="en:Math"/>
        <xs:element minOccurs="0" ref="en:Message"/>
        <xs:element minOccurs="0" ref="en:NextFrame"/>
        <xs:element minOccurs="0" ref="en:NextRow"/>
        <xs:element minOccurs="0" ref="en:NoBreak"/>
        <xs:element minOccurs="0" ref="en:Options"/>
        <xs:element minOccurs="0" ref="en:Output"/>
        <xs:element minOccurs="0" ref="en:Overlay"/>
        <xs:element minOccurs="0" ref="en:Pagetype"/>
        <xs:element minOccurs="0" ref="en:Pageformat"/>
        <xs:element minOccurs="0" ref="en:Paragraph"/>
        <xs:element minOccurs="0" ref="en:PlaceObject"/>
        <xs:element minOccurs="0" ref="en:PositioningArea"/>
        <xs:element minOccurs="0" ref="en:PositioningFrame"/>
        <xs:element minOccurs="0" ref="en:ProcessNode"/>
        <xs:element minOccurs="0" ref="en:SaveDataset"/>
        <xs:element minOccurs="0" ref="en:SavePages"/>
        <xs:element minOccurs="0" ref="en:SetGrid"/>
        <xs:element minOccurs="0" ref="en:SetVariable"/>
        <xs:element minOccurs="0" ref="en:SortSequence"/>
        <xs:element minOccurs="0" ref="en:Section"/>
        <xs:element minOccurs="0" ref="en:Span"/>
        <xs:element minOccurs="0" ref="en:StructureElement"/>
        <xs:element minOccurs="0" ref="en:Sub"/>
        <xs:element minOccurs="0" ref="en:Sup"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
        <xs:element minOccurs="0" ref="en:Table"/>
        <xs:element minOccurs="0" ref="en:TableNewPage"/>
        <xs:element minOccurs="0" ref="en:Tablehead"/>
        <xs:element minOccurs="0" ref="en:Tablerule"/>
        <xs:element minOccurs="0" ref="en:Td"/>
        <xs:element minOccurs="0" ref="en:Tr"/>
        <xs:element minOccurs="0" ref="en:Transformation"/>
        <xs:element minOccurs="0" ref="en:Trace"/>
        <xs:element minOccurs="0" ref="en:U"/>
        <xs:element minOccurs="0" ref="en:Until"/>
        <xs:element minOccurs="0" ref="en:Value"/>
        <xs:element minOccurs="0" ref="en:VSpace"/>
        <xs:element minOccurs="0" ref="en:While"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Output">
    <xs:annotation>
      <xs:documentation>This command is similar to PlaceObject and is currently limited to output text which can be broken across positioning frames and which can wrap around objects.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="en:Text"/>
        <xs:element minOccurs="0" ref="en:HTML"/>
      </xs:sequence>
      <xs:attribute name="allocate">
        <xs:annotation>
          <xs:documentation>Should text flow around already allocated objects? This currently works on the current page only.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="yes">
                  <xs:annotation>
                    <xs:documentation>Regular behavior: the text does not flow around objects.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="auto">
                  <xs:annotation>
                    <xs:documentation>Text flows around allocated objects.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="area">
        <xs:annotation>
          <xs:documentation>The name of the positioning frame for the text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="balance">
        <xs:annotation>
          <xs:documentation>Balance text on the last page (experimental)</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Balance the last page</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Do not balance the last page (default)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="last-padding-bottom-max">
        <xs:annotation>
          <xs:documentation>The maximum padding on the last page when valign-last is set to bottom</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="row">
        <xs:annotation>
          <xs:documentation>The starting row for the text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="valign-last">
        <xs:annotation>
          <xs:documentation>When balancing: align the last columns at the top (default) or bottom (experimental).</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="top">
              <xs:annotation>
                <xs:documentation>Top alignment (default)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bottom">
              <xs:annotation>
                <xs:documentation>Align at the bottom</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>Width of the text</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Overlay">
    <xs:annotation>
      <xs:documentation>Overlays the first element with the following “positions”.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="en:A"/>
        <xs:element minOccurs="0" ref="en:Barcode"/>
        <xs:element minOccurs="0" ref="en:Box"/>
        <xs:element minOccurs="0" ref="en:Circle"/>
        <xs:element minOccurs="0" ref="en:Frame"/>
        <xs:element minOccurs="0" ref="en:Image"/>
        <xs:element minOccurs="0" ref="en:Rule"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
        <xs:element minOccurs="0" ref="en:Table"/>
        <xs:element minOccurs="0" ref="en:Textblock"/>
        <xs:element minOccurs="0" ref="en:Transformation"/>
        <xs:element maxOccurs="unbounded" ref="en:Position"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Paragraph">
    <xs:annotation>
      <xs:documentation>Insert a paragraph of text. The width of the paragraph is inherited from the surrounding element.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="en:Initial"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="en:Mark"/>
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element ref="en:A"/>
            <xs:element ref="en:B"/>
            <xs:element ref="en:Barcode"/>
            <xs:element ref="en:Br"/>
            <xs:element ref="en:Clip"/>
            <xs:element ref="en:Color"/>
            <xs:element ref="en:Fontface"/>
            <xs:element ref="en:ForAll"/>
            <xs:element ref="en:Frame"/>
            <xs:element ref="en:HSpace"/>
            <xs:element ref="en:I"/>
            <xs:element ref="en:Image"/>
            <xs:element ref="en:Loop"/>
            <xs:element ref="en:Math"/>
            <xs:element ref="en:NoBreak"/>
            <xs:element ref="en:Sub"/>
            <xs:element ref="en:Sup"/>
            <xs:element ref="en:Span"/>
            <xs:element ref="en:Switch"/>
            <xs:element ref="en:U"/>
            <xs:element ref="en:URL"/>
            <xs:element ref="en:Value"/>
          </xs:choice>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="class">
        <xs:annotation>
          <xs:documentation>CSS class for this paragraph.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="id">
        <xs:annotation>
          <xs:documentation>CSS id for this paragraph.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="actualtext">
        <xs:annotation>
          <xs:documentation>Set the text for screen readers.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="allowbreak">
        <xs:annotation>
          <xs:documentation>(Experimental!) list of characters where a line break is possible. Space character is not implied when this attribute is set.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="bidi">
        <xs:annotation>
          <xs:documentation>Analyze direction of the text. Useful for mixing left-to-right and right-to-left text.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="yes">
                  <xs:annotation>
                    <xs:documentation>Analyze text.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="no">
                  <xs:annotation>
                    <xs:documentation>Don't handle mixed directions (default).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="color">
        <xs:annotation>
          <xs:documentation>Color of the paragraph. Must be defined with DefineColor before use.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="direction">
        <xs:annotation>
          <xs:documentation>The text direction (ltr or rtl)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fontfamily">
        <xs:annotation>
          <xs:documentation>The name of the font family for the paragraph. The default is “text” (lowercase t).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="font-outline">
        <xs:annotation>
          <xs:documentation>Set the line width of the font outline.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="html">
        <xs:annotation>
          <xs:documentation>Set the HTML processing mode. Defaults to 'all'.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="all">
              <xs:annotation>
                <xs:documentation>Interpret HTML starting from the current element.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="inner">
              <xs:annotation>
                <xs:documentation>Ignore the name of the outer element.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="off">
              <xs:annotation>
                <xs:documentation>Switch off HTML in this paragraph. Use only the text value.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="label-left">
        <xs:annotation>
          <xs:documentation>A text to the left of the paragraph.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="label-left-width">
        <xs:annotation>
          <xs:documentation>Width of the text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="label-left-align">
        <xs:annotation>
          <xs:documentation>Alignment of the text.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="left">
              <xs:annotation>
                <xs:documentation>Left aligned</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="right">
              <xs:annotation>
                <xs:documentation>Right aligned</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="label-left-distance">
        <xs:annotation>
          <xs:documentation>Horizontal distance between text and paragraph (if right aligned).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="language">
        <xs:annotation>
          <xs:documentation>Name of the language for hyphenation and rendering.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="--|bg|ca|cs|cy|da|de|el|en|en_GB|en_US|eo|es|et|eu|fi|fr|ga|gl|grc|gu|hi|hr|hu|hy|id|is|it|kn|ku|lt|lv|ml|nb|nl|nn|pl|pt|ro|ru|sc|sk|sl|sr|sv|tr|uk|zh"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Ancient Greek">
                  <xs:annotation>
                    <xs:documentation>Ancient Greek</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Armenian">
                  <xs:annotation>
                    <xs:documentation>Armenian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Bahasa Indonesia">
                  <xs:annotation>
                    <xs:documentation>Bahasa Indonesia</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Basque">
                  <xs:annotation>
                    <xs:documentation>Basque</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Bulgarian">
                  <xs:annotation>
                    <xs:documentation>Bulgarian (latin alphabet)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Catalan">
                  <xs:annotation>
                    <xs:documentation>Catalan</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Chinese">
                  <xs:annotation>
                    <xs:documentation>Chinese language setting.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Croatian">
                  <xs:annotation>
                    <xs:documentation>Croatian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Czech">
                  <xs:annotation>
                    <xs:documentation>Czech</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Danish">
                  <xs:annotation>
                    <xs:documentation>Danish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Dutch">
                  <xs:annotation>
                    <xs:documentation>Dutch</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="English (Great Britain)">
                  <xs:annotation>
                    <xs:documentation>British</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="English (USA)">
                  <xs:annotation>
                    <xs:documentation>American English</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Esperanto">
                  <xs:annotation>
                    <xs:documentation>Esperanto</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Estonian">
                  <xs:annotation>
                    <xs:documentation>Estonian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Finnish">
                  <xs:annotation>
                    <xs:documentation>Finnish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="French">
                  <xs:annotation>
                    <xs:documentation>French</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Galician">
                  <xs:annotation>
                    <xs:documentation>Galician</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="German">
                  <xs:annotation>
                    <xs:documentation>German</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Greek">
                  <xs:annotation>
                    <xs:documentation>Monotonic Greek</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Gujarati">
                  <xs:annotation>
                    <xs:documentation>Gujarati</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Hungarian">
                  <xs:annotation>
                    <xs:documentation>Hungarian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Hindi">
                  <xs:annotation>
                    <xs:documentation>Hindi</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Icelandic">
                  <xs:annotation>
                    <xs:documentation>Icelandic</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Irish">
                  <xs:annotation>
                    <xs:documentation>Irish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Italian">
                  <xs:annotation>
                    <xs:documentation>Italian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Kannada">
                  <xs:annotation>
                    <xs:documentation>Kannada</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Kurmanji">
                  <xs:annotation>
                    <xs:documentation>Kurmanji</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Latvian">
                  <xs:annotation>
                    <xs:documentation>Latvian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Lithuanian">
                  <xs:annotation>
                    <xs:documentation>Lithuanian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Malayalam">
                  <xs:annotation>
                    <xs:documentation>Malayalam</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Norwegian Bokmål">
                  <xs:annotation>
                    <xs:documentation>Norwegian Bokmål</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Norwegian Nynorsk">
                  <xs:annotation>
                    <xs:documentation>Norwegian Nynorsk</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Other">
                  <xs:annotation>
                    <xs:documentation>Don't any of these languages. Useful if a text does not render correctly.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Polish">
                  <xs:annotation>
                    <xs:documentation>Polish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Portuguese">
                  <xs:annotation>
                    <xs:documentation>Portuguese</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Romanian">
                  <xs:annotation>
                    <xs:documentation>Romanian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Russian">
                  <xs:annotation>
                    <xs:documentation>Russian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Sanskrit">
                  <xs:annotation>
                    <xs:documentation>Sanskrit (also transliterated)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Serbian">
                  <xs:annotation>
                    <xs:documentation>Serbian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Serbian (cyrillic)">
                  <xs:annotation>
                    <xs:documentation>Serbian (cyrillic script).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Slovak">
                  <xs:annotation>
                    <xs:documentation>Slovak</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Slovenian">
                  <xs:annotation>
                    <xs:documentation>Slovenian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Spanish">
                  <xs:annotation>
                    <xs:documentation>Spanish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Swedish">
                  <xs:annotation>
                    <xs:documentation>Swedish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Turkish">
                  <xs:annotation>
                    <xs:documentation>Turkish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Ukrainian">
                  <xs:annotation>
                    <xs:documentation>Ukrainian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Welsh">
                  <xs:annotation>
                    <xs:documentation>Welsh</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="padding-left">
        <xs:annotation>
          <xs:documentation>Set the left padding, i.e. the inner distance to the allocated area.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-right">
        <xs:annotation>
          <xs:documentation>Set the right padding, i.e. the inner distance to the allocated area.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="parent">
        <xs:annotation>
          <xs:documentation>The id of the parent structure element for tagged PDF. If left empty, the software tries to derive the parent id from the layout structure.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="role">
        <xs:annotation>
          <xs:documentation>The role for PDF/UA (accessibility, tagged PDF)</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Art">
                  <xs:annotation>
                    <xs:documentation>An article within a document.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Artifact">
                  <xs:annotation>
                    <xs:documentation>An element on the page without semantic meaning.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Caption">
                  <xs:annotation>
                    <xs:documentation>A description of a table or figure.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Div">
                  <xs:annotation>
                    <xs:documentation>Div is a division of a document without semantic intent.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Document">
                  <xs:annotation>
                    <xs:documentation>The top level structure</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Figure">
                  <xs:annotation>
                    <xs:documentation>An illustration.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="H1">
                  <xs:annotation>
                    <xs:documentation>Heading level 1</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="H2">
                  <xs:annotation>
                    <xs:documentation>Heading level 2</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="H3">
                  <xs:annotation>
                    <xs:documentation>Heading level 3</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="H4">
                  <xs:annotation>
                    <xs:documentation>Heading level 4</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="H5">
                  <xs:annotation>
                    <xs:documentation>Heading level 5</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="H6">
                  <xs:annotation>
                    <xs:documentation>Heading level 6</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="P">
                  <xs:annotation>
                    <xs:documentation>A paragraph.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Lbl">
                  <xs:annotation>
                    <xs:documentation>A label</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="LBody">
                  <xs:annotation>
                    <xs:documentation>List body</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Part">
                  <xs:annotation>
                    <xs:documentation>Part is intended to sub-divide a large document into smaller elements.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Sect">
                  <xs:annotation>
                    <xs:documentation>Sect identifies the sections of a document, part or article.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Span">
                  <xs:annotation>
                    <xs:documentation>Span is to demarcate content for the purpose of applying semantic and
          other attributes.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Table">
                  <xs:annotation>
                    <xs:documentation>Table is the container for a table.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="TD">
                  <xs:annotation>
                    <xs:documentation>A table cell</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="TR">
                  <xs:annotation>
                    <xs:documentation>A table row</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="TOC">
                  <xs:annotation>
                    <xs:documentation>TOC is a container for a table of contents.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="TOCI">
                  <xs:annotation>
                    <xs:documentation>TOCI is a container for a table of contents entry.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="structpos">
        <xs:annotation>
          <xs:documentation>Set the position of the tag in the structure hierarchy for PDF/UA. Default is 'cur', which inserts the element at the current position (the current “bottom”). 'top' (or 1) inserts the element at the beginning of the structure. Use any other number to control the insertion.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="textformat">
        <xs:annotation>
          <xs:documentation>Name of the textformat that is applied to the paragraph. If none is specified the textformat text is used.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Param">
    <xs:annotation>
      <xs:documentation>Specify a parameter for a function definition.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The name of the parameter.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Pageformat">
    <xs:annotation>
      <xs:documentation>The size of the PDF pages. Defaults to 210mm width and 297mm height (A4)</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="height" use="required">
        <xs:annotation>
          <xs:documentation>The height of the PDF pages.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="width" use="required">
        <xs:annotation>
          <xs:documentation>Width of the PDF pages.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Pagetype">
    <xs:annotation>
      <xs:documentation>Define a master page. A master page is chosen depending on the criterion given with the attribute “test”.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="en:Margin"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="en:PositioningArea"/>
          <xs:element ref="en:AtPageCreation"/>
          <xs:element ref="en:AtPageShipout"/>
          <xs:element ref="en:ForAll"/>
          <xs:element ref="en:Grid"/>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="columnordering">
        <xs:annotation>
          <xs:documentation>Reverse the logical column ordering if in rtl mode. Only changes areas that are next to each other.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="ltr">
                  <xs:annotation>
                    <xs:documentation>The columns are ordered from first defined to last defined. (default)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="rtl">
                  <xs:annotation>
                    <xs:documentation>Reverse the order of columns. The first defined column will be the last column.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="background-color">
        <xs:annotation>
          <xs:documentation>The name of the background color (overrides default). The color '-' removes the default.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="defaultcolor">
        <xs:annotation>
          <xs:documentation>The default text color for this page (unless overridden in Paragraph or Textblock). Defaults to 'black'.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>Name of the master page. It is for informational purpose and as a selection for ClearPage.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>The width of the page. Defaults to the global setting.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="height">
        <xs:annotation>
          <xs:documentation>The height of the page. Defaults to the global setting.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="part">
        <xs:annotation>
          <xs:documentation>Set the part of the document for this page type (mainmatter is the default).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="test" use="required">
        <xs:annotation>
          <xs:documentation>If this xpath expression evaluates to true, this page is taken as a master page.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="PDFOptions">
    <xs:annotation>
      <xs:documentation>Set PDF options like number of copies and such</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="author">
        <xs:annotation>
          <xs:documentation>Set the author of the document</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="colorprofile">
        <xs:annotation>
          <xs:documentation>Set the name of the color profile. Has to be defined with DefineColorprofile.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="creator">
        <xs:annotation>
          <xs:documentation>Set the creator application of the document</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="displaymode">
        <xs:annotation>
          <xs:documentation>Select the display mode when opening PDF document (mainly with Acrobat).</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="attachments">
              <xs:annotation>
                <xs:documentation>Display the attachment pane.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bookmarks">
              <xs:annotation>
                <xs:documentation>Display the bookmarks pane (only works if the PDF document contains at least one bookmark).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fullscreen">
              <xs:annotation>
                <xs:documentation>Open the document in fullscreen mode.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="none">
              <xs:annotation>
                <xs:documentation>Do not display a special pane.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="thumbnails">
              <xs:annotation>
                <xs:documentation>Display the thumbnail pane.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="dpi">
        <xs:annotation>
          <xs:documentation>Set the maximum DPI number for PNG/JPEG images.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="duplex">
        <xs:annotation>
          <xs:documentation>Set viewer preference to one or two page printing. Default: empty.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="simplex">
              <xs:annotation>
                <xs:documentation>One page per sheet</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="duplexflipshortedge">
              <xs:annotation>
                <xs:documentation>Two pages per sheet and flip on short edge</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="duplexfliplongedge">
              <xs:annotation>
                <xs:documentation>Two pages per sheet and flip on long edge</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="format">
        <xs:annotation>
          <xs:documentation>Set the output format.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="PDF/X-3">
              <xs:annotation>
                <xs:documentation>Set the output to PDF/X-3.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PDF/X-4">
              <xs:annotation>
                <xs:documentation>Set the output to PDF/X-4.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PDF/A-3">
              <xs:annotation>
                <xs:documentation>Set the output to PDF/A-3.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PDF/UA">
              <xs:annotation>
                <xs:documentation>Set the output to PDF/UA.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="hyperlinkbordercolor">
        <xs:annotation>
          <xs:documentation>Set the border color of hyperlinks when showhyperlinks is set. The default is black. (Renamed from hyperlinksbordercolor.)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="hyperlinkborderwidth">
        <xs:annotation>
          <xs:documentation>Set the border width of hyperlinks when showhyperlinks is set. The default is 1pt.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="keywords">
        <xs:annotation>
          <xs:documentation>Set the keywords of the document (comma separated list).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="numcopies">
        <xs:annotation>
          <xs:documentation>Set the number of copies. At most 5 are allowed in the PDF specification.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="pagelayout">
        <xs:annotation>
          <xs:documentation>Specify the layout of the pages in Adobe Acrobat.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="singlepage">
              <xs:annotation>
                <xs:documentation>Display one page at a time.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="onecolumn">
              <xs:annotation>
                <xs:documentation>Display the pages in one column.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="twocolumnleft">
              <xs:annotation>
                <xs:documentation>Display the pages in two columns, with odd- numbered pages on the left.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="twocolumnright">
              <xs:annotation>
                <xs:documentation>Display the pages in two columns, with odd- numbered pages on the right.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="twopageleft">
              <xs:annotation>
                <xs:documentation>Display the pages two at a time, with odd-numbered pages on the left.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="twopageright">
              <xs:annotation>
                <xs:documentation>Display the pages two at a time, with odd-numbered pages on the right.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="picktraybypdfsize">
        <xs:annotation>
          <xs:documentation>Activate the check box in the PDF viewer for choosing the paper tray based on the page size.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Activate checkbox</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Deactivate checkbox</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="printscaling">
        <xs:annotation>
          <xs:documentation>Should the printer scale the pages?</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="appdefault">
              <xs:annotation>
                <xs:documentation>Use the default from the PDF viewer</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="none">
              <xs:annotation>
                <xs:documentation>No page scaling</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="producer">
        <xs:annotation>
          <xs:documentation>Set the producer of the document</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="showbookmarks">
        <xs:annotation>
          <xs:documentation>Show bookmarks in the PDF viewer when opening the document. Deprecated - use displaymode instead.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="showhyperlinks">
        <xs:annotation>
          <xs:documentation>Show hyperlinks in Adobe Acrobat and perhaps other PDF viewers.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes"/>
            <xs:enumeration value="no"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="subject">
        <xs:annotation>
          <xs:documentation>Set the subject of the document</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="title">
        <xs:annotation>
          <xs:documentation>Set the title of the document</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="PlaceObject">
    <xs:annotation>
      <xs:documentation>Outputs a rectangular object (image, table, box, barcode or textblock).</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Bookmark"/>
        <xs:element ref="en:Box"/>
        <xs:element ref="en:Circle"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Mark"/>
        <xs:element ref="en:Overlay"/>
        <xs:element ref="en:Rule"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Table"/>
        <xs:element ref="en:Textblock"/>
        <xs:element ref="en:Transformation"/>
      </xs:choice>
      <xs:attribute name="allocate">
        <xs:annotation>
          <xs:documentation>Determines if the area of the object is marked as “allocated”. With allocate="no", the cursor position is not changed.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Occupy space in the grid (default for grid positioning).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't allocate space in the grid (default for absolute positioning).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="allocate-left">
        <xs:annotation>
          <xs:documentation>Additional allocation area to the left.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="allocate-right">
        <xs:annotation>
          <xs:documentation>Additional allocation area to the right.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="allocate-top">
        <xs:annotation>
          <xs:documentation>Additional allocation area to the top.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="allocate-bottom">
        <xs:annotation>
          <xs:documentation>Additional allocation area to the bottom.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="area">
        <xs:annotation>
          <xs:documentation>Name of the (positioning) area, the object is placed in. If no area is given, the object is placed on the main area, the page (this is the area that contains all grid cells).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="background">
        <xs:annotation>
          <xs:documentation>Fill the background of the object (full grid cells) with a color, given by background-color.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="full">
                  <xs:annotation>
                    <xs:documentation>Fill background with the given color (in background-color).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="without">
                  <xs:annotation>
                    <xs:documentation>Empty background</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="background-color">
        <xs:annotation>
          <xs:documentation>Color of the background if ›background‹ is set to ›full‹.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-bottom-right-radius">
        <xs:annotation>
          <xs:documentation>Radius of corner bottom right.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-top-right-radius">
        <xs:annotation>
          <xs:documentation>Radius of corner top right.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-top-left-radius">
        <xs:annotation>
          <xs:documentation>Radius of corner top left.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-bottom-left-radius">
        <xs:annotation>
          <xs:documentation>Radius of corner bottom left.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="clipatmargin">
        <xs:annotation>
          <xs:documentation>Clip objects at page margin.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="yes"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="no"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="column">
        <xs:annotation>
          <xs:documentation>If contents is a number: the grid cell from the left margin of the area. If it is a length: the absolute position from the left paper margin. If this attribute is omitted, the system tries to place the object by itself.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="frame">
        <xs:annotation>
          <xs:documentation>Draw a frame around the object. You need to supply the frame color.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="solid">
              <xs:annotation>
                <xs:documentation>Draw a frame around the object.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="without">
              <xs:annotation>
                <xs:documentation>Don't draw a frame around the object.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="framecolor">
        <xs:annotation>
          <xs:documentation>The color of the frame around the object. Only makes sense in combination with the attribute 'frame'.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="groupname">
        <xs:annotation>
          <xs:documentation>The name of the group that gets output. When given a groupname, PlaceObject should not contain any objects.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="hreference">
        <xs:annotation>
          <xs:documentation>Determines the placement of the object relative to the given column. If 'left' (which is the default), the given column is the left border of the object. If 'right', the column determines the right edge of the object.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="left">
                  <xs:annotation>
                    <xs:documentation>The object is placed in given column.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="center">
                  <xs:annotation>
                    <xs:documentation>The column determines the center of the object. Works only with absolute positioning.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="right">
                  <xs:annotation>
                    <xs:documentation>The given columns determines the right edge of the border.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="halign">
        <xs:annotation>
          <xs:documentation>When an object is placed on the grid and it's width is not a multiple of grid width, there is a space left on the page between the object an the next grid cell. With this attribute you can instruct the software where to place the gap.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="left">
                  <xs:annotation>
                    <xs:documentation>The object is aligned at the left.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="center">
                  <xs:annotation>
                    <xs:documentation>The object is aligned so that the space to the left is the same as to the right.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="right">
                  <xs:annotation>
                    <xs:documentation>The object is aligned to the right.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="keepposition">
        <xs:annotation>
          <xs:documentation>Don't move the virtual cursor to the next free space</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Don't move the virtual cursor.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Move the virtual cursor (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="maxheight">
        <xs:annotation>
          <xs:documentation>Only used for multi-page table: the maximum height of tables.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="origin-x">
        <xs:annotation>
          <xs:documentation>The origin for rotation.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="left">
              <xs:annotation>
                <xs:documentation>The origin is at the left hand side.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="center">
              <xs:annotation>
                <xs:documentation>The origin is in the center of the object.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="right">
              <xs:annotation>
                <xs:documentation>The origin is at the right hand side.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="origin-y">
        <xs:annotation>
          <xs:documentation>The origin for rotation (on the vertical axis)</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="top">
              <xs:annotation>
                <xs:documentation>Rotation around a point at the top.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="center">
              <xs:annotation>
                <xs:documentation>Rotate around the vertical center.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bottom">
              <xs:annotation>
                <xs:documentation>Rotate around a point at the bottom.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="page">
        <xs:annotation>
          <xs:documentation>The page (later in the PDF), the object should appear on. Number of the keyword “next” for the next page.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="row">
        <xs:annotation>
          <xs:documentation>The row where the object is placed. If none given, the publisher tries to find a row by itself. You can give a number (in grid cells) or an absolute value (from top left).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="rotate">
        <xs:annotation>
          <xs:documentation>Rotates the object.  The amount of movement is defined by the specified angle; if positive, the movement will be clockwise, if negative, it will be counter-clockwise. When the angle is != 0 then grid allocation is turned off.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="rulewidth">
        <xs:annotation>
          <xs:documentation>The thickness of the frame that is drawn around the object. Only makes sense in combination with the attribute 'frame'.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="valign">
        <xs:annotation>
          <xs:documentation>When an object is placed on the grid and it's height is not a multiple of grid height, there is a space left on the page between the object an the next grid cell. With this attribute you can instruct the software where to place the gap.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="top">
              <xs:annotation>
                <xs:documentation>The object is aligned at the top.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="middle">
              <xs:annotation>
                <xs:documentation>The object is aligned so that the space at the top is the same as at the bottom.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bottom">
              <xs:annotation>
                <xs:documentation>The object is aligned at the bottom.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="vreference">
        <xs:annotation>
          <xs:documentation>Sets the placement of the object relative to the given row.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="bottom">
              <xs:annotation>
                <xs:documentation>The row determines the bottom edge of the object.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="middle">
              <xs:annotation>
                <xs:documentation>If 'middle', the given row is the center of the object. Works only with absolute positioning.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="top">
              <xs:annotation>
                <xs:documentation>If 'top' (default), the given row is the top border of the object.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Position">
    <xs:annotation>
      <xs:documentation>Add an element to the current Overlay.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="en:Image"/>
        <xs:element minOccurs="0" ref="en:Box"/>
        <xs:element minOccurs="0" ref="en:Circle"/>
        <xs:element minOccurs="0" ref="en:Rule"/>
        <xs:element minOccurs="0" ref="en:Textblock"/>
        <xs:element minOccurs="0" ref="en:Barcode"/>
        <xs:element minOccurs="0" ref="en:Table"/>
        <xs:element minOccurs="0" ref="en:Transformation"/>
        <xs:element minOccurs="0" ref="en:Frame"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
      </xs:sequence>
      <xs:attribute name="x" use="required">
        <xs:annotation>
          <xs:documentation>The horizontal position (0=left, 100=right).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="y" use="required">
        <xs:annotation>
          <xs:documentation>The vertical position (0=bottom, 100=top).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="PositioningArea">
    <xs:annotation>
      <xs:documentation>Describes an area which contains one or more frames. Elements can be placed within these frames.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:PositioningFrame"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Switch"/>
      </xs:choice>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>Name of the area.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="framecolor">
        <xs:annotation>
          <xs:documentation>Set the color of the frame in grid=yes mode. Defaults to 'red'</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="PositioningFrame">
    <xs:annotation>
      <xs:documentation>Defines a rectangular area for objects.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="width" use="required">
        <xs:annotation>
          <xs:documentation>The width of the frame in grid cells.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="height" use="required">
        <xs:annotation>
          <xs:documentation>The height of the frame in grid cells.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="row" use="required">
        <xs:annotation>
          <xs:documentation>The row number relative to the grid.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="column" use="required">
        <xs:annotation>
          <xs:documentation>First column of the frame, in grid cells.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="ProcessNode">
    <xs:annotation>
      <xs:documentation>Executes all given nodes. The elements, that are to be executed, are given with the attribute selection.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="limit">
        <xs:annotation>
          <xs:documentation>Limits the number of items processed with this command</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>Selection of child elements, that are to be processed.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="mode">
        <xs:annotation>
          <xs:documentation>Name of the mode. This must match the mode at the corresponding Record element. With this it is possible to have different rules for the same element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Record">
    <xs:annotation>
      <xs:documentation>Contains the instructions when the publisher processes the element in the data file with the given name. The record matching the root element will be called by the software automatically, all further data handling must be done by the user. Either the attribute element or match must be given, but not both.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:AddSearchpath"/>
        <xs:element minOccurs="0" ref="en:AttachFile"/>
        <xs:element minOccurs="0" ref="en:Bookmark"/>
        <xs:element minOccurs="0" ref="en:ClearPage"/>
        <xs:element minOccurs="0" ref="en:Copy-of"/>
        <xs:element minOccurs="0" ref="en:DefineColor"/>
        <xs:element minOccurs="0" ref="en:DefineFontfamily"/>
        <xs:element minOccurs="0" ref="en:DefineFontalias"/>
        <xs:element minOccurs="0" ref="en:DefineMatter"/>
        <xs:element minOccurs="0" ref="en:DefineTextformat"/>
        <xs:element minOccurs="0" ref="en:ForAll"/>
        <xs:element minOccurs="0" ref="en:Group"/>
        <xs:element minOccurs="0" ref="en:Hyphenation"/>
        <xs:element minOccurs="0" ref="en:Include"/>
        <xs:element minOccurs="0" ref="en:InsertPages"/>
        <xs:element minOccurs="0" ref="en:Layout"/>
        <xs:element minOccurs="0" ref="en:LoadDataset"/>
        <xs:element minOccurs="0" ref="en:LoadFontfile"/>
        <xs:element minOccurs="0" ref="en:Loop"/>
        <xs:element minOccurs="0" ref="en:Message"/>
        <xs:element minOccurs="0" ref="en:NextFrame"/>
        <xs:element minOccurs="0" ref="en:NextRow"/>
        <xs:element minOccurs="0" ref="en:Options"/>
        <xs:element minOccurs="0" ref="en:Output"/>
        <xs:element minOccurs="0" ref="en:Pagetype"/>
        <xs:element minOccurs="0" ref="en:Pageformat"/>
        <xs:element minOccurs="0" ref="en:PDFOptions"/>
        <xs:element minOccurs="0" ref="en:PlaceObject"/>
        <xs:element minOccurs="0" ref="en:ProcessNode"/>
        <xs:element minOccurs="0" ref="en:SaveDataset"/>
        <xs:element minOccurs="0" ref="en:SavePages"/>
        <xs:element minOccurs="0" ref="en:Section"/>
        <xs:element minOccurs="0" ref="en:SetGrid"/>
        <xs:element minOccurs="0" ref="en:SetVariable"/>
        <xs:element minOccurs="0" ref="en:SortSequence"/>
        <xs:element minOccurs="0" ref="en:StructureElement"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
        <xs:element minOccurs="0" ref="en:Until"/>
        <xs:element minOccurs="0" ref="en:Value"/>
        <xs:element minOccurs="0" ref="en:While"/>
      </xs:sequence>
      <xs:attribute name="element">
        <xs:annotation>
          <xs:documentation>The name of the element the record matches. Mutually exclusive with match.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="match">
        <xs:annotation>
          <xs:documentation>An XPath-like pattern to match data elements. Supports simple element names (foo), wildcards (*), predicates (item[@type='book']), parent/child patterns (catalog/product), and ancestor patterns (catalog//item). A simple element name is equivalent to using element. When multiple patterns match, the most specific one wins. Mutually exclusive with element. Requires the lxpath XML parser.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="mode">
        <xs:annotation>
          <xs:documentation>Name of the mode that matches the mode in ProcessNode.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Regular">
    <xs:annotation>
      <xs:documentation>The (symbolic) name of the fontface for regular text, i.e. without bold or italic.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="fontface" use="required">
        <xs:annotation>
          <xs:documentation>The symbolic name of the font file.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Rule">
    <xs:annotation>
      <xs:documentation>Draw a horizontal or vertical rule in the grid.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="direction" use="required">
        <xs:annotation>
          <xs:documentation>The direction of the rule.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="horizontal">
              <xs:annotation>
                <xs:documentation>Horizontal rule</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vertical">
              <xs:annotation>
                <xs:documentation>Vertical rule</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="rulewidth">
        <xs:annotation>
          <xs:documentation>The rule thickness given in grid cells or as a length.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="length" use="required">
        <xs:annotation>
          <xs:documentation>The length of the rule in grid cells or as an absolute length.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="color">
        <xs:annotation>
          <xs:documentation>The color of the rule. Defaults to black.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="dashed">
        <xs:annotation>
          <xs:documentation>Use a dashed rule instead of a solid rule.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Draw a dashed rule.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Draw a solid rule.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="SaveDataset">
    <xs:annotation>
      <xs:documentation>Saves an element/attribute structure to be used in the next publisher run. The contents must have a tree structure.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:Loop"/>
        <xs:element minOccurs="0" ref="en:Element"/>
        <xs:element minOccurs="0" ref="en:Makeindex"/>
        <xs:element minOccurs="0" ref="en:SortSequence"/>
        <xs:element minOccurs="0" ref="en:Copy-of"/>
        <xs:element minOccurs="0" ref="en:ForAll"/>
      </xs:sequence>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>Name of the file. Example: toc. The resulting filename will be $jobname-$name.xml</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="elementname" use="required">
        <xs:annotation>
          <xs:documentation>Name of the root element that surrounds the elements given by the child elements.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="select">
        <xs:annotation>
          <xs:documentation>Alternative to giving the data structure in the child elements.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="attributes">
        <xs:annotation>
          <xs:documentation>The variable (as an XPath expression, e.g. $foo) which contains Attribute Elements. These attributes are added to the root element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="SavePages">
    <xs:annotation>
      <xs:documentation>This command is used for two different but similar purposes.
      1: Everything enclosed in SavePages is saved internally and not placed into the PDF. Useful if the output might be discarded.
      2: “Future mode”: Create pages that have been previously reserved by InsertPages.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:AddSearchpath"/>
        <xs:element ref="en:AttachFile"/>
        <xs:element ref="en:Bookmark"/>
        <xs:element ref="en:ClearPage"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:DefineColor"/>
        <xs:element ref="en:DefineFontfamily"/>
        <xs:element ref="en:DefineFontalias"/>
        <xs:element ref="en:DefineMatter"/>
        <xs:element ref="en:DefineTextformat"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Group"/>
        <xs:element ref="en:Hyphenation"/>
        <xs:element ref="en:Include"/>
        <xs:element ref="en:InsertPages"/>
        <xs:element ref="en:Layout"/>
        <xs:element ref="en:LoadDataset"/>
        <xs:element ref="en:LoadFontfile"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Message"/>
        <xs:element ref="en:NextFrame"/>
        <xs:element ref="en:NextRow"/>
        <xs:element ref="en:Options"/>
        <xs:element ref="en:Output"/>
        <xs:element ref="en:Pagetype"/>
        <xs:element ref="en:Pageformat"/>
        <xs:element ref="en:PDFOptions"/>
        <xs:element ref="en:PlaceObject"/>
        <xs:element ref="en:ProcessNode"/>
        <xs:element ref="en:SaveDataset"/>
        <xs:element ref="en:SavePages"/>
        <xs:element ref="en:Section"/>
        <xs:element ref="en:SetGrid"/>
        <xs:element ref="en:SetVariable"/>
        <xs:element ref="en:SortSequence"/>
        <xs:element ref="en:StructureElement"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Until"/>
        <xs:element ref="en:Value"/>
        <xs:element ref="en:While"/>
      </xs:choice>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>The name of the discarded output (1) or for the reserved pages (2). For later/earlier retrieval with InsertPages.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Section">
    <xs:annotation>
      <xs:documentation>Groups layout instructions. This element has no effect on the output and is used solely for organizing the layout file, e.g. for code folding in text editors.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:AttachFile"/>
        <xs:element minOccurs="0" ref="en:AddSearchpath"/>
        <xs:element minOccurs="0" ref="en:Compatibility"/>
        <xs:element minOccurs="0" ref="en:DefineColor"/>
        <xs:element minOccurs="0" ref="en:DefineColorprofile"/>
        <xs:element minOccurs="0" ref="en:DefineFontalias"/>
        <xs:element minOccurs="0" ref="en:DefineGraphic"/>
        <xs:element minOccurs="0" ref="en:DefineFontfamily"/>
        <xs:element minOccurs="0" ref="en:DefineTextformat"/>
        <xs:element minOccurs="0" ref="en:DefineMatter"/>
        <xs:element minOccurs="0" ref="en:Function"/>
        <xs:element minOccurs="0" ref="en:Hyphenation"/>
        <xs:element minOccurs="0" ref="en:LoadFontfile"/>
        <xs:element minOccurs="0" ref="en:Message"/>
        <xs:element minOccurs="0" ref="en:Loop"/>
        <xs:element minOccurs="0" ref="en:Options"/>
        <xs:element minOccurs="0" ref="en:Pageformat"/>
        <xs:element minOccurs="0" ref="en:Pagetype"/>
        <xs:element minOccurs="0" ref="en:PlaceObject"/>
        <xs:element minOccurs="0" ref="en:PDFOptions"/>
        <xs:element minOccurs="0" ref="en:Record"/>
        <xs:element minOccurs="0" ref="en:Section"/>
        <xs:element minOccurs="0" ref="en:SetGrid"/>
        <xs:element minOccurs="0" ref="en:SetVariable"/>
        <xs:element minOccurs="0" ref="en:Stylesheet"/>
        <xs:element minOccurs="0" ref="en:StructureElement"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
        <xs:element minOccurs="0" ref="en:Trace"/>
        <xs:element minOccurs="0" ref="en:While"/>
      </xs:sequence>
      <xs:attribute name="name" use="required">
        <xs:annotation>
          <xs:documentation>A name for this section. Used only for documentation purposes.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="SetGrid">
    <xs:annotation>
      <xs:documentation>Set size of the grid cells. All objects are placed in the grid.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>The width of a grid cell. Use either width or nx, not both.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="height">
        <xs:annotation>
          <xs:documentation>The height of a grid cell. Use either height or ny, but not both.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="nx">
        <xs:annotation>
          <xs:documentation>Specify the number of grid cells in horizontal direction. Use either nx or width, not both.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="ny">
        <xs:annotation>
          <xs:documentation>Set the number of grid cells in vertical direction. Give ny or height, but not both.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="dx">
        <xs:annotation>
          <xs:documentation>Distance between two grid cells (horizontal)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="dy">
        <xs:annotation>
          <xs:documentation>Distance between two grid cells (horizontal)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="SetVariable">
    <xs:annotation>
      <xs:documentation>Associates a value with a variable name. The value can be a simple value or a more complex one consisting of several elements.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Attribute"/>
        <xs:element ref="en:ClearPage"/>
        <xs:element ref="en:Column"/>
        <xs:element ref="en:Columns"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:Element"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Ol"/>
        <xs:element ref="en:Output"/>
        <xs:element ref="en:Paragraph"/>
        <xs:element ref="en:PlaceObject"/>
        <xs:element ref="en:SortSequence"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Table"/>
        <xs:element ref="en:Tablehead"/>
        <xs:element ref="en:TableNewPage"/>
        <xs:element ref="en:Tablerule"/>
        <xs:element ref="en:Td"/>
        <xs:element ref="en:Tr"/>
        <xs:element ref="en:Ul"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="variable" use="required">
        <xs:annotation>
          <xs:documentation>The name of the variable that holds the contents.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="select">
        <xs:annotation>
          <xs:documentation>The value of the contents.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="type">
        <xs:annotation>
          <xs:documentation>Set the data type of the variable. Currently only supported for MetaPost variables.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="sd:any">
              <xs:annotation>
                <xs:documentation>The default (any) datatype for variables in the speedata layout language.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mp:boolean">
              <xs:annotation>
                <xs:documentation>A MetaPost boolean value.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mp:cmykcolor">
              <xs:annotation>
                <xs:documentation>A MetaPost CMYK color.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mp:numeric">
              <xs:annotation>
                <xs:documentation>A MetaPost numeric value.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mp:string">
              <xs:annotation>
                <xs:documentation>A MetaPost string value.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mp:rgbcolor">
              <xs:annotation>
                <xs:documentation>A MetaPost RGB color.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="trace">
        <xs:annotation>
          <xs:documentation>Show information about the assignment in the log file.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show information.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't show information (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="execute">
        <xs:annotation>
          <xs:documentation>Execute the contents of setvariable now or execute it on usage.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="now">
              <xs:annotation>
                <xs:documentation>Execute the contents during SetVariable (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="later">
              <xs:annotation>
                <xs:documentation>Execute the contents when evaluated during Copy-of. Experimental.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="SortSequence">
    <xs:annotation>
      <xs:documentation>Sort a list.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="select" use="required">
        <xs:annotation>
          <xs:documentation>The data that should be sorted.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="removeduplicates">
        <xs:annotation>
          <xs:documentation>If this attribute is used then it contains the name of the data-attribute that gets evaluated when duplicates are eliminated.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="criterion" use="required">
        <xs:annotation>
          <xs:documentation>Name of the attribute that is used as the sort key.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="numerical">
        <xs:annotation>
          <xs:documentation>Sort alphabetical or numerical</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Sort alphabetical</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Sort alphabetical (default)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="order">
        <xs:annotation>
          <xs:documentation>Select the sorting order</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="ascending">
              <xs:annotation>
                <xs:documentation>Use ascending sort order (default)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="descending">
              <xs:annotation>
                <xs:documentation>Use descending sort order</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Span">
    <xs:annotation>
      <xs:documentation>Surround text by styling options.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:URL"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="class">
        <xs:annotation>
          <xs:documentation>CSS class for this element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="id">
        <xs:annotation>
          <xs:documentation>CSS id for this element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="background-color">
        <xs:annotation>
          <xs:documentation>The background color of the content</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="background-padding-top">
        <xs:annotation>
          <xs:documentation>The top padding of the background color (can be negative)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="background-padding-bottom">
        <xs:annotation>
          <xs:documentation>The bottom padding of the background color (can be negative)</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fontfamily">
        <xs:annotation>
          <xs:documentation>The name of the font family to switch to.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="language">
        <xs:annotation>
          <xs:documentation>Name of the language for hyphenation and rendering.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="--|bg|ca|cs|cy|da|de|el|en|en_GB|en_US|eo|es|et|eu|fi|fr|ga|gl|grc|gu|hi|hr|hu|hy|id|is|it|kn|ku|lt|lv|ml|nb|nl|nn|pl|pt|ro|ru|sc|sk|sl|sr|sv|tr|uk|zh"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Ancient Greek">
                  <xs:annotation>
                    <xs:documentation>Ancient Greek</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Armenian">
                  <xs:annotation>
                    <xs:documentation>Armenian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Bahasa Indonesia">
                  <xs:annotation>
                    <xs:documentation>Bahasa Indonesia</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Basque">
                  <xs:annotation>
                    <xs:documentation>Basque</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Bulgarian">
                  <xs:annotation>
                    <xs:documentation>Bulgarian (latin alphabet)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Catalan">
                  <xs:annotation>
                    <xs:documentation>Catalan</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Chinese">
                  <xs:annotation>
                    <xs:documentation>Chinese language setting.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Croatian">
                  <xs:annotation>
                    <xs:documentation>Croatian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Czech">
                  <xs:annotation>
                    <xs:documentation>Czech</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Danish">
                  <xs:annotation>
                    <xs:documentation>Danish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Dutch">
                  <xs:annotation>
                    <xs:documentation>Dutch</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="English (Great Britain)">
                  <xs:annotation>
                    <xs:documentation>British</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="English (USA)">
                  <xs:annotation>
                    <xs:documentation>American English</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Esperanto">
                  <xs:annotation>
                    <xs:documentation>Esperanto</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Estonian">
                  <xs:annotation>
                    <xs:documentation>Estonian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Finnish">
                  <xs:annotation>
                    <xs:documentation>Finnish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="French">
                  <xs:annotation>
                    <xs:documentation>French</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Galician">
                  <xs:annotation>
                    <xs:documentation>Galician</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="German">
                  <xs:annotation>
                    <xs:documentation>German</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Greek">
                  <xs:annotation>
                    <xs:documentation>Monotonic Greek</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Gujarati">
                  <xs:annotation>
                    <xs:documentation>Gujarati</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Hungarian">
                  <xs:annotation>
                    <xs:documentation>Hungarian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Hindi">
                  <xs:annotation>
                    <xs:documentation>Hindi</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Icelandic">
                  <xs:annotation>
                    <xs:documentation>Icelandic</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Irish">
                  <xs:annotation>
                    <xs:documentation>Irish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Italian">
                  <xs:annotation>
                    <xs:documentation>Italian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Kannada">
                  <xs:annotation>
                    <xs:documentation>Kannada</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Kurmanji">
                  <xs:annotation>
                    <xs:documentation>Kurmanji</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Latvian">
                  <xs:annotation>
                    <xs:documentation>Latvian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Lithuanian">
                  <xs:annotation>
                    <xs:documentation>Lithuanian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Malayalam">
                  <xs:annotation>
                    <xs:documentation>Malayalam</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Norwegian Bokmål">
                  <xs:annotation>
                    <xs:documentation>Norwegian Bokmål</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Norwegian Nynorsk">
                  <xs:annotation>
                    <xs:documentation>Norwegian Nynorsk</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Other">
                  <xs:annotation>
                    <xs:documentation>Don't any of these languages. Useful if a text does not render correctly.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Polish">
                  <xs:annotation>
                    <xs:documentation>Polish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Portuguese">
                  <xs:annotation>
                    <xs:documentation>Portuguese</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Romanian">
                  <xs:annotation>
                    <xs:documentation>Romanian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Russian">
                  <xs:annotation>
                    <xs:documentation>Russian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Sanskrit">
                  <xs:annotation>
                    <xs:documentation>Sanskrit (also transliterated)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Serbian">
                  <xs:annotation>
                    <xs:documentation>Serbian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Serbian (cyrillic)">
                  <xs:annotation>
                    <xs:documentation>Serbian (cyrillic script).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Slovak">
                  <xs:annotation>
                    <xs:documentation>Slovak</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Slovenian">
                  <xs:annotation>
                    <xs:documentation>Slovenian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Spanish">
                  <xs:annotation>
                    <xs:documentation>Spanish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Swedish">
                  <xs:annotation>
                    <xs:documentation>Swedish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Turkish">
                  <xs:annotation>
                    <xs:documentation>Turkish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Ukrainian">
                  <xs:annotation>
                    <xs:documentation>Ukrainian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Welsh">
                  <xs:annotation>
                    <xs:documentation>Welsh</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="letter-spacing">
        <xs:annotation>
          <xs:documentation>Increase spacing between glyphs. Allowed values are yes, no and a length. With yes, the spacing depends on the current font size (0.1 em).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="role">
        <xs:annotation>
          <xs:documentation>The role for PDF/UA (accessibility, tagged PDF)</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Art">
              <xs:annotation>
                <xs:documentation>An article within a document.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Artifact">
              <xs:annotation>
                <xs:documentation>An element on the page without semantic meaning.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Caption">
              <xs:annotation>
                <xs:documentation>A description of a table or figure.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Div">
              <xs:annotation>
                <xs:documentation>Div is a division of a document without semantic intent.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Document">
              <xs:annotation>
                <xs:documentation>The top level structure</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Figure">
              <xs:annotation>
                <xs:documentation>An illustration.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H1">
              <xs:annotation>
                <xs:documentation>Heading level 1</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H2">
              <xs:annotation>
                <xs:documentation>Heading level 2</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H3">
              <xs:annotation>
                <xs:documentation>Heading level 3</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H4">
              <xs:annotation>
                <xs:documentation>Heading level 4</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H5">
              <xs:annotation>
                <xs:documentation>Heading level 5</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H6">
              <xs:annotation>
                <xs:documentation>Heading level 6</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="P">
              <xs:annotation>
                <xs:documentation>A paragraph.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Lbl">
              <xs:annotation>
                <xs:documentation>A label</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LBody">
              <xs:annotation>
                <xs:documentation>List body</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Part">
              <xs:annotation>
                <xs:documentation>Part is intended to sub-divide a large document into smaller elements.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Sect">
              <xs:annotation>
                <xs:documentation>Sect identifies the sections of a document, part or article.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Span">
              <xs:annotation>
                <xs:documentation>Span is to demarcate content for the purpose of applying semantic and
          other attributes.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Table">
              <xs:annotation>
                <xs:documentation>Table is the container for a table.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TD">
              <xs:annotation>
                <xs:documentation>A table cell</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TR">
              <xs:annotation>
                <xs:documentation>A table row</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOC">
              <xs:annotation>
                <xs:documentation>TOC is a container for a table of contents.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOCI">
              <xs:annotation>
                <xs:documentation>TOCI is a container for a table of contents entry.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Sub">
    <xs:annotation>
      <xs:documentation>Subscript text.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="en:Value"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Sup">
    <xs:annotation>
      <xs:documentation>Superscript text.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="en:Value"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Switch">
    <xs:annotation>
      <xs:documentation>Create an if-then-else construct. The test attribute of each Case commands is evaluated until it yields true. The contents of the Case gets executed. If no test succeeds, the (optional) Otherwise gets executed.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="en:Case"/>
        <xs:element minOccurs="0" ref="en:Otherwise"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StructureElement">
    <xs:annotation>
      <xs:documentation>Create a structure hierarchy for tagged PDF.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="en:StructureElement"/>
      </xs:sequence>
      <xs:attribute name="id">
        <xs:annotation>
          <xs:documentation>A unique id for this structure element. Used in Paragraph and Image.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="parent">
        <xs:annotation>
          <xs:documentation>Id of the parent structure.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="role" use="required">
        <xs:annotation>
          <xs:documentation>Tag name of the element.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Art">
              <xs:annotation>
                <xs:documentation>An article within a document.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Artifact">
              <xs:annotation>
                <xs:documentation>An element on the page without semantic meaning.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Caption">
              <xs:annotation>
                <xs:documentation>A description of a table or figure.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Div">
              <xs:annotation>
                <xs:documentation>Div is a division of a document without semantic intent.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Document">
              <xs:annotation>
                <xs:documentation>The top level structure</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Figure">
              <xs:annotation>
                <xs:documentation>An illustration.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H1">
              <xs:annotation>
                <xs:documentation>Heading level 1</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H2">
              <xs:annotation>
                <xs:documentation>Heading level 2</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H3">
              <xs:annotation>
                <xs:documentation>Heading level 3</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H4">
              <xs:annotation>
                <xs:documentation>Heading level 4</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H5">
              <xs:annotation>
                <xs:documentation>Heading level 5</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H6">
              <xs:annotation>
                <xs:documentation>Heading level 6</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="P">
              <xs:annotation>
                <xs:documentation>A paragraph.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Lbl">
              <xs:annotation>
                <xs:documentation>A label</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LBody">
              <xs:annotation>
                <xs:documentation>List body</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Part">
              <xs:annotation>
                <xs:documentation>Part is intended to sub-divide a large document into smaller elements.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Sect">
              <xs:annotation>
                <xs:documentation>Sect identifies the sections of a document, part or article.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Span">
              <xs:annotation>
                <xs:documentation>Span is to demarcate content for the purpose of applying semantic and
          other attributes.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Table">
              <xs:annotation>
                <xs:documentation>Table is the container for a table.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TD">
              <xs:annotation>
                <xs:documentation>A table cell</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TR">
              <xs:annotation>
                <xs:documentation>A table row</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOC">
              <xs:annotation>
                <xs:documentation>TOC is a container for a table of contents.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOCI">
              <xs:annotation>
                <xs:documentation>TOCI is a container for a table of contents entry.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Stylesheet">
    <xs:annotation>
      <xs:documentation>Load a CSS file or define CSS rules</xs:documentation>
    </xs:annotation>
    <xs:complexType mixed="true">
      <xs:attribute name="filename">
        <xs:annotation>
          <xs:documentation>The filename of the CSS stylesheet including the file extension.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Table">
    <xs:annotation>
      <xs:documentation>Create a table that is similar to the HTML table model.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Columns"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Message"/>
        <xs:element ref="en:SetVariable"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Tablefoot"/>
        <xs:element ref="en:Tablehead"/>
        <xs:element ref="en:TableNewPage"/>
        <xs:element ref="en:Tablerule"/>
        <xs:element ref="en:Tr"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="balance">
        <xs:annotation>
          <xs:documentation>Tries to balance the table on the last page according to the number of frames. Experimental!</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Tries to balance.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>First column will filled first, default</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="border-collapse">
        <xs:annotation>
          <xs:documentation>Determine if adjacent table cells share borders. The behavior of border-collapse="collapse" is undefined when the table has columndistance or rowdistance set to a non-zero value and if the adjacent borders don't have the same width and color.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="separate">
              <xs:annotation>
                <xs:documentation>The borders are part of the cell and not shared with its neighbors.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="collapse">
              <xs:annotation>
                <xs:documentation>The borders of neighboring cells overlap.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="break-pagetype">
        <xs:annotation>
          <xs:documentation>When the table is split at a page break, an extra page of the given page type is inserted between the two parts of the table. The contents of that page must be created with AtPageCreation of the page type. The page numbering continues as usual. An empty value disables the insertion.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="columndistance">
        <xs:annotation>
          <xs:documentation>Distance between two table columns.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="eval">
        <xs:annotation>
          <xs:documentation>Evaluates the given XPath expression and discards its output.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="eval-on-split">
        <xs:annotation>
          <xs:documentation>XPath expression that is evaluated at each table split (page break). This expression is evaluated before the background colors of the body rows are re-evaluated. Can be used e.g. with sd:reset-alternating() to restart alternating row colors on each page.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fontfamily">
        <xs:annotation>
          <xs:documentation>Name of the font family for the table. If not given, the font face ‘text’ is used.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="leading">
        <xs:annotation>
          <xs:documentation>The distance between two rows.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding">
        <xs:annotation>
          <xs:documentation>The distance between the table border and the table contents.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="stretch">
        <xs:annotation>
          <xs:documentation>If the table contents is narrow and stretch has the value no, the table only uses the minimal width. If the table contents is wider than the value width or stretch has the value max, the table's width is the size given in the width attribute.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="max">
              <xs:annotation>
                <xs:documentation>Stretch the table to its given width.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>The table width is the minimum width depending on it's contents.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="parent">
        <xs:annotation>
          <xs:documentation>The id of the parent structure element for tagged PDF</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="role">
        <xs:annotation>
          <xs:documentation>The role for PDF/UA (accessibility, tagged PDF)</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Art">
              <xs:annotation>
                <xs:documentation>An article within a document.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Artifact">
              <xs:annotation>
                <xs:documentation>An element on the page without semantic meaning.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Caption">
              <xs:annotation>
                <xs:documentation>A description of a table or figure.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Div">
              <xs:annotation>
                <xs:documentation>Div is a division of a document without semantic intent.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Document">
              <xs:annotation>
                <xs:documentation>The top level structure</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Figure">
              <xs:annotation>
                <xs:documentation>An illustration.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H1">
              <xs:annotation>
                <xs:documentation>Heading level 1</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H2">
              <xs:annotation>
                <xs:documentation>Heading level 2</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H3">
              <xs:annotation>
                <xs:documentation>Heading level 3</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H4">
              <xs:annotation>
                <xs:documentation>Heading level 4</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H5">
              <xs:annotation>
                <xs:documentation>Heading level 5</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H6">
              <xs:annotation>
                <xs:documentation>Heading level 6</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="P">
              <xs:annotation>
                <xs:documentation>A paragraph.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Lbl">
              <xs:annotation>
                <xs:documentation>A label</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LBody">
              <xs:annotation>
                <xs:documentation>List body</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Part">
              <xs:annotation>
                <xs:documentation>Part is intended to sub-divide a large document into smaller elements.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Sect">
              <xs:annotation>
                <xs:documentation>Sect identifies the sections of a document, part or article.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Span">
              <xs:annotation>
                <xs:documentation>Span is to demarcate content for the purpose of applying semantic and
          other attributes.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Table">
              <xs:annotation>
                <xs:documentation>Table is the container for a table.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TD">
              <xs:annotation>
                <xs:documentation>A table cell</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TR">
              <xs:annotation>
                <xs:documentation>A table row</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOC">
              <xs:annotation>
                <xs:documentation>TOC is a container for a table of contents.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOCI">
              <xs:annotation>
                <xs:documentation>TOCI is a container for a table of contents entry.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="textformat">
        <xs:annotation>
          <xs:documentation>The text format for the table. Defaults to __leftaligned if no align attribute is given.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>The maximum width of the table (in grid cells or absolute values). Defaults to the available space.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="vexcess">
        <xs:annotation>
          <xs:documentation>Set behaviour when cells stretch in vertical direction due to rowspans.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="stretch">
                  <xs:annotation>
                    <xs:documentation>Stretch all table cells evenly (default).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="bottom">
                  <xs:annotation>
                    <xs:documentation>Only stretch the last table cell.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Tablefoot">
    <xs:annotation>
      <xs:documentation>Create a repeating table footer.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Tablerule"/>
        <xs:element ref="en:Tr"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="page">
        <xs:annotation>
          <xs:documentation>This command is only valid for the given pages. The default is to place the foot on all pages.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="all">
              <xs:annotation>
                <xs:documentation>Place the footer on all pages.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="last">
              <xs:annotation>
                <xs:documentation>Display the table footer only on the last page.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Tablehead">
    <xs:annotation>
      <xs:documentation>Create a repeating table head.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Tablerule"/>
        <xs:element ref="en:Tr"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="page">
        <xs:annotation>
          <xs:documentation>The page the table head should appear on. Defaults to “all”</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="first">
              <xs:annotation>
                <xs:documentation>Only appear on the first page.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="all">
              <xs:annotation>
                <xs:documentation>All pages. If “first” is defined, the tablehead appears on all pages but the first.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="TableNewPage">
    <xs:annotation>
      <xs:documentation>Switches to a new page within the table.</xs:documentation>
    </xs:annotation>
    <xs:complexType/>
  </xs:element>
  <xs:element name="Td">
    <xs:annotation>
      <xs:documentation>Td wraps a table cell, just like HTML.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Bookmark"/>
        <xs:element ref="en:Box"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:Groupcontents"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Mark"/>
        <xs:element ref="en:Overlay"/>
        <xs:element ref="en:Paragraph"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Table"/>
        <xs:element ref="en:Textblock"/>
        <xs:element ref="en:Value"/>
        <xs:element ref="en:VSpace"/>
      </xs:choice>
      <xs:attribute name="class">
        <xs:annotation>
          <xs:documentation>The css class to be used for formatting the table cell.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="id">
        <xs:annotation>
          <xs:documentation>CSS id for this table cell.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="align">
        <xs:annotation>
          <xs:documentation>Horizontal alignment of the cell contents. Defaults to left.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="left">
                  <xs:annotation>
                    <xs:documentation>The contents is left aligned (ragged right). This is the default.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="right">
                  <xs:annotation>
                    <xs:documentation>The contents of the cell is right aligned.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="center">
                  <xs:annotation>
                    <xs:documentation>The contents of the cell is aligned at the center, with ragged right and left margin.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="justify">
                  <xs:annotation>
                    <xs:documentation>Justified text with straight margins.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="background-color">
        <xs:annotation>
          <xs:documentation>The name of the background color (if the cell should get a background).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="background-font-family">
        <xs:annotation>
          <xs:documentation>Set the font family of the background text. Defaults to the table font.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="background-textcolor">
        <xs:annotation>
          <xs:documentation>The color of the text in the background (if any).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="background-size">
        <xs:annotation>
          <xs:documentation>Controls the size of the background text. Currently only 'contain' and 'auto' is allowed.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="contain">
              <xs:annotation>
                <xs:documentation>Fill the height of the table cell.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="auto">
              <xs:annotation>
                <xs:documentation>The background text is not scaled.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="background-transform">
        <xs:annotation>
          <xs:documentation>The transformation of the background text (if any). Currently supported: rotate(-40deg) (and other angles in the range 0 to -90).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="background-text">
        <xs:annotation>
          <xs:documentation>A text that should be placed in the background of the table cell.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-left">
        <xs:annotation>
          <xs:documentation>The width (thickness) of the left border. The border is inside the cell.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-right">
        <xs:annotation>
          <xs:documentation>The width (thickness) of the right border. The border is inside the cell.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-top">
        <xs:annotation>
          <xs:documentation>The width (thickness) of the top border. The border is inside the cell.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-bottom">
        <xs:annotation>
          <xs:documentation>The width (thickness) of the bottom border. The border is inside the cell.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-left-color">
        <xs:annotation>
          <xs:documentation>The color of the left border.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-right-color">
        <xs:annotation>
          <xs:documentation>The color of the left border.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-top-color">
        <xs:annotation>
          <xs:documentation>The color of the top border.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="border-bottom-color">
        <xs:annotation>
          <xs:documentation>The color of the bottom border.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="colspan">
        <xs:annotation>
          <xs:documentation>The number of columns this cell spans. Defaults to 1. Use * to span all remaining columns.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="graphic">
        <xs:annotation>
          <xs:documentation>Draw the predefined MetaPost graphic around the table cell.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding">
        <xs:annotation>
          <xs:documentation>Shorthand for setting padding-top and the other values with this length.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-top">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the top edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-bottom">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the bottom edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-left">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the left edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="padding-right">
        <xs:annotation>
          <xs:documentation>Set the inner distance (width between contents and the border) to the right edge.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="role">
        <xs:annotation>
          <xs:documentation>The role for PDF/UA (accessibility, tagged PDF)</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Art">
              <xs:annotation>
                <xs:documentation>An article within a document.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Artifact">
              <xs:annotation>
                <xs:documentation>An element on the page without semantic meaning.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Caption">
              <xs:annotation>
                <xs:documentation>A description of a table or figure.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Div">
              <xs:annotation>
                <xs:documentation>Div is a division of a document without semantic intent.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Document">
              <xs:annotation>
                <xs:documentation>The top level structure</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Figure">
              <xs:annotation>
                <xs:documentation>An illustration.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H1">
              <xs:annotation>
                <xs:documentation>Heading level 1</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H2">
              <xs:annotation>
                <xs:documentation>Heading level 2</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H3">
              <xs:annotation>
                <xs:documentation>Heading level 3</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H4">
              <xs:annotation>
                <xs:documentation>Heading level 4</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H5">
              <xs:annotation>
                <xs:documentation>Heading level 5</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H6">
              <xs:annotation>
                <xs:documentation>Heading level 6</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="P">
              <xs:annotation>
                <xs:documentation>A paragraph.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Lbl">
              <xs:annotation>
                <xs:documentation>A label</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LBody">
              <xs:annotation>
                <xs:documentation>List body</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Part">
              <xs:annotation>
                <xs:documentation>Part is intended to sub-divide a large document into smaller elements.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Sect">
              <xs:annotation>
                <xs:documentation>Sect identifies the sections of a document, part or article.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Span">
              <xs:annotation>
                <xs:documentation>Span is to demarcate content for the purpose of applying semantic and
          other attributes.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Table">
              <xs:annotation>
                <xs:documentation>Table is the container for a table.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TD">
              <xs:annotation>
                <xs:documentation>A table cell</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TR">
              <xs:annotation>
                <xs:documentation>A table row</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOC">
              <xs:annotation>
                <xs:documentation>TOC is a container for a table of contents.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOCI">
              <xs:annotation>
                <xs:documentation>TOCI is a container for a table of contents entry.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="rowspan">
        <xs:annotation>
          <xs:documentation>The number of rows for this cell. Defaults to 1.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="rotate">
        <xs:annotation>
          <xs:documentation>Rotate the contents of the table cell. Positive values return clockwise. This is experimental and currently only for text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="valign">
        <xs:annotation>
          <xs:documentation>The vertical alignment of the cell.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="top">
                  <xs:annotation>
                    <xs:documentation>The contents is aligned at the top edge of the cell.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="middle">
                  <xs:annotation>
                    <xs:documentation>The contents is vertically centered.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="bottom">
                  <xs:annotation>
                    <xs:documentation>The contents is aligned at the bottom edge of the cell.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Tablerule">
    <xs:annotation>
      <xs:documentation>Insert a horizontal rule in a table</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="rulewidth">
        <xs:annotation>
          <xs:documentation>The width (thickness) of the rule. Defaults to 0.25pt.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="color">
        <xs:annotation>
          <xs:documentation>The color of the rule. Defaults to black. A color named “-” (without quotes) is a transparent “color”.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="start">
        <xs:annotation>
          <xs:documentation>The first column of the rule. Defaults to 1.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="break-below">
        <xs:annotation>
          <xs:documentation>Allow break below the table rule?</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="yes"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="no"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="class">
        <xs:annotation>
          <xs:documentation>CSS class for this element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="id">
        <xs:annotation>
          <xs:documentation>CSS id for this element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Textblock">
    <xs:annotation>
      <xs:documentation>Create a rectangular piece of text.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="en:Bookmark"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:HTML"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Mark"/>
        <xs:element ref="en:Ol"/>
        <xs:element ref="en:Paragraph"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Ul"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="angle">
        <xs:annotation>
          <xs:documentation>The angle (counter clockwise) that the text gets turned.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="color">
        <xs:annotation>
          <xs:documentation>The name of the color of the text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="columns">
        <xs:annotation>
          <xs:documentation>Number of columns in the textblock. Do not use multi columns for any other purposes than simple text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="columndistance">
        <xs:annotation>
          <xs:documentation>Distance between two columns. Defaults to 3mm.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fontfamily">
        <xs:annotation>
          <xs:documentation>The name of the font family. Defaults to text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="language">
        <xs:annotation>
          <xs:documentation>Set the language for hyphenation and rendering.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="--|bg|ca|cs|cy|da|de|el|en|en_GB|en_US|eo|es|et|eu|fi|fr|ga|gl|grc|gu|hi|hr|hu|hy|id|is|it|kn|ku|lt|lv|ml|nb|nl|nn|pl|pt|ro|ru|sc|sk|sl|sr|sv|tr|uk|zh"/>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Ancient Greek">
                  <xs:annotation>
                    <xs:documentation>Ancient Greek</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Armenian">
                  <xs:annotation>
                    <xs:documentation>Armenian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Bahasa Indonesia">
                  <xs:annotation>
                    <xs:documentation>Bahasa Indonesia</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Basque">
                  <xs:annotation>
                    <xs:documentation>Basque</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Bulgarian">
                  <xs:annotation>
                    <xs:documentation>Bulgarian (latin alphabet)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Catalan">
                  <xs:annotation>
                    <xs:documentation>Catalan</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Chinese">
                  <xs:annotation>
                    <xs:documentation>Chinese language setting.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Croatian">
                  <xs:annotation>
                    <xs:documentation>Croatian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Czech">
                  <xs:annotation>
                    <xs:documentation>Czech</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Danish">
                  <xs:annotation>
                    <xs:documentation>Danish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Dutch">
                  <xs:annotation>
                    <xs:documentation>Dutch</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="English (Great Britain)">
                  <xs:annotation>
                    <xs:documentation>British</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="English (USA)">
                  <xs:annotation>
                    <xs:documentation>American English</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Esperanto">
                  <xs:annotation>
                    <xs:documentation>Esperanto</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Estonian">
                  <xs:annotation>
                    <xs:documentation>Estonian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Finnish">
                  <xs:annotation>
                    <xs:documentation>Finnish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="French">
                  <xs:annotation>
                    <xs:documentation>French</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Galician">
                  <xs:annotation>
                    <xs:documentation>Galician</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="German">
                  <xs:annotation>
                    <xs:documentation>German</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Greek">
                  <xs:annotation>
                    <xs:documentation>Monotonic Greek</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Gujarati">
                  <xs:annotation>
                    <xs:documentation>Gujarati</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Hungarian">
                  <xs:annotation>
                    <xs:documentation>Hungarian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Hindi">
                  <xs:annotation>
                    <xs:documentation>Hindi</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Icelandic">
                  <xs:annotation>
                    <xs:documentation>Icelandic</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Irish">
                  <xs:annotation>
                    <xs:documentation>Irish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Italian">
                  <xs:annotation>
                    <xs:documentation>Italian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Kannada">
                  <xs:annotation>
                    <xs:documentation>Kannada</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Kurmanji">
                  <xs:annotation>
                    <xs:documentation>Kurmanji</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Latvian">
                  <xs:annotation>
                    <xs:documentation>Latvian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Lithuanian">
                  <xs:annotation>
                    <xs:documentation>Lithuanian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Malayalam">
                  <xs:annotation>
                    <xs:documentation>Malayalam</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Norwegian Bokmål">
                  <xs:annotation>
                    <xs:documentation>Norwegian Bokmål</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Norwegian Nynorsk">
                  <xs:annotation>
                    <xs:documentation>Norwegian Nynorsk</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Other">
                  <xs:annotation>
                    <xs:documentation>Don't any of these languages. Useful if a text does not render correctly.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Polish">
                  <xs:annotation>
                    <xs:documentation>Polish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Portuguese">
                  <xs:annotation>
                    <xs:documentation>Portuguese</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Romanian">
                  <xs:annotation>
                    <xs:documentation>Romanian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Russian">
                  <xs:annotation>
                    <xs:documentation>Russian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Sanskrit">
                  <xs:annotation>
                    <xs:documentation>Sanskrit (also transliterated)</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Serbian">
                  <xs:annotation>
                    <xs:documentation>Serbian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Serbian (cyrillic)">
                  <xs:annotation>
                    <xs:documentation>Serbian (cyrillic script).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Slovak">
                  <xs:annotation>
                    <xs:documentation>Slovak</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Slovenian">
                  <xs:annotation>
                    <xs:documentation>Slovenian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Spanish">
                  <xs:annotation>
                    <xs:documentation>Spanish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Swedish">
                  <xs:annotation>
                    <xs:documentation>Swedish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Turkish">
                  <xs:annotation>
                    <xs:documentation>Turkish</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Ukrainian">
                  <xs:annotation>
                    <xs:documentation>Ukrainian</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Welsh">
                  <xs:annotation>
                    <xs:documentation>Welsh</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="minheight">
        <xs:annotation>
          <xs:documentation>The minimum height of the textblock, given as a length or number (grid cells).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="textformat">
        <xs:annotation>
          <xs:documentation>The name of the text format to be applied to the text. Defaults to text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="width">
        <xs:annotation>
          <xs:documentation>Number of columns for the text. If not given, the surrounding element determines the width of the element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Text">
    <xs:annotation>
      <xs:documentation>Create a text that can be broken across text containers or pages. To be used with Output</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="en:Bookmark"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Ol"/>
        <xs:element ref="en:Paragraph"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Ul"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="color">
        <xs:annotation>
          <xs:documentation>The name of the color of the text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fontfamily">
        <xs:annotation>
          <xs:documentation>The name of the font family. Defaults to text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="textformat">
        <xs:annotation>
          <xs:documentation>The name of the text format to be applied to the text. Defaults to text.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Trace">
    <xs:annotation>
      <xs:documentation>Set debugging switches</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="assignments">
        <xs:annotation>
          <xs:documentation>Write assignments (SetVariable) to the log file.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Verbose output in the protocol file.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Regular run (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="grid">
        <xs:annotation>
          <xs:documentation>Draw the grid on the page.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show the grid.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't show the grid (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="gridallocation">
        <xs:annotation>
          <xs:documentation>Draw allocated cells with yellow and conflicts with red markers.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show grid allocation.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't show the grid allocation (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="gridlocation">
        <xs:annotation>
          <xs:documentation>Location of the grid.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="foreground">
              <xs:annotation>
                <xs:documentation>Draw the grid on top of all other objects.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="background">
              <xs:annotation>
                <xs:documentation>Draw the grid below all other objects (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="groups">
        <xs:annotation>
          <xs:documentation>Draw the grid inside all groups.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show the grid.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't show the grid (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="hyphenation">
        <xs:annotation>
          <xs:documentation>Draw little marks to show all hyphenation points.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show hyphenation points.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't show any hyphenation points (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="kerning">
        <xs:annotation>
          <xs:documentation>Draw little marks to show all kerning.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show kerning.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't show any kerning (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="objects">
        <xs:annotation>
          <xs:documentation>Draw rectangles around objects.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Draw rectangles</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>No rectangles drawn around objects (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="verbose">
        <xs:annotation>
          <xs:documentation>Verbose output in the protocol file.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Verbose output in the protocol file.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Regular run (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="textformat">
        <xs:annotation>
          <xs:documentation>Show textformt as a tooltip in the PDF</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Show textformat</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't show textformat (default)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="dump-structtree">
        <xs:annotation>
          <xs:documentation>Dump the PDF/UA structure tree to an XML file.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Write structure tree to file.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Don't write structure tree (default).</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Tr">
    <xs:annotation>
      <xs:documentation>Tablerow</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" ref="en:Copy-of"/>
        <xs:element minOccurs="0" ref="en:ForAll"/>
        <xs:element minOccurs="0" ref="en:Loop"/>
        <xs:element minOccurs="0" ref="en:Message"/>
        <xs:element minOccurs="0" ref="en:Switch"/>
        <xs:element minOccurs="0" ref="en:Td"/>
        <xs:element minOccurs="0" ref="en:Value"/>
      </xs:sequence>
      <xs:attribute name="align">
        <xs:annotation>
          <xs:documentation>Horizontal alignment of the table cells in this row.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="left">
              <xs:annotation>
                <xs:documentation>The contents is left aligned (ragged right). This is the default.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="right">
              <xs:annotation>
                <xs:documentation>The contents of the cell is right aligned.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="center">
              <xs:annotation>
                <xs:documentation>The contents of the cell is aligned at the center, with ragged right and left margin.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="justify">
              <xs:annotation>
                <xs:documentation>Justified text with straight margins.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="background-color">
        <xs:annotation>
          <xs:documentation>Background color of each cell in this row.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="break-below">
        <xs:annotation>
          <xs:documentation>Allow a table break between this row and the following.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="yes">
                  <xs:annotation>
                    <xs:documentation>Allow a table break between this row and the following (default).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="no">
                  <xs:annotation>
                    <xs:documentation>Disable a table break between this row and the following.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="data">
        <xs:annotation>
          <xs:documentation>Data that can be accessed via $_last_tr_data in the tablefoot and tablehead.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="minheight">
        <xs:annotation>
          <xs:documentation>Minimum row height in grid cells or length.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="parent">
        <xs:annotation>
          <xs:documentation>The id of the parent structure element for tagged PDF</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="role">
        <xs:annotation>
          <xs:documentation>The role for PDF/UA (accessibility, tagged PDF)</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Art">
              <xs:annotation>
                <xs:documentation>An article within a document.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Artifact">
              <xs:annotation>
                <xs:documentation>An element on the page without semantic meaning.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Caption">
              <xs:annotation>
                <xs:documentation>A description of a table or figure.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Div">
              <xs:annotation>
                <xs:documentation>Div is a division of a document without semantic intent.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Document">
              <xs:annotation>
                <xs:documentation>The top level structure</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Figure">
              <xs:annotation>
                <xs:documentation>An illustration.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H1">
              <xs:annotation>
                <xs:documentation>Heading level 1</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H2">
              <xs:annotation>
                <xs:documentation>Heading level 2</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H3">
              <xs:annotation>
                <xs:documentation>Heading level 3</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H4">
              <xs:annotation>
                <xs:documentation>Heading level 4</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H5">
              <xs:annotation>
                <xs:documentation>Heading level 5</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="H6">
              <xs:annotation>
                <xs:documentation>Heading level 6</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="P">
              <xs:annotation>
                <xs:documentation>A paragraph.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Lbl">
              <xs:annotation>
                <xs:documentation>A label</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LBody">
              <xs:annotation>
                <xs:documentation>List body</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Part">
              <xs:annotation>
                <xs:documentation>Part is intended to sub-divide a large document into smaller elements.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Sect">
              <xs:annotation>
                <xs:documentation>Sect identifies the sections of a document, part or article.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Span">
              <xs:annotation>
                <xs:documentation>Span is to demarcate content for the purpose of applying semantic and
          other attributes.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Table">
              <xs:annotation>
                <xs:documentation>Table is the container for a table.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TD">
              <xs:annotation>
                <xs:documentation>A table cell</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TR">
              <xs:annotation>
                <xs:documentation>A table row</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOC">
              <xs:annotation>
                <xs:documentation>TOC is a container for a table of contents.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOCI">
              <xs:annotation>
                <xs:documentation>TOCI is a container for a table of contents entry.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="sethead">
        <xs:annotation>
          <xs:documentation>Use this line for future table heads.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="yes">
                  <xs:annotation>
                    <xs:documentation>Use this line for future table heads.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="no">
                  <xs:annotation>
                    <xs:documentation>No special treatment of this line (default).</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="clear">
                  <xs:annotation>
                    <xs:documentation>Delete head. Next pages will have no head until new one is set with 'yes'.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="top-distance">
        <xs:annotation>
          <xs:documentation>The space above this row if it is not the first line on a new page / area.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="valign">
        <xs:annotation>
          <xs:documentation>Vertical alignment of the table cells in this row.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="top">
                  <xs:annotation>
                    <xs:documentation>The objects in this row are aligned at the top.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="middle">
                  <xs:annotation>
                    <xs:documentation>The objects in this row are aligned at the middle axis.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="bottom">
                  <xs:annotation>
                    <xs:documentation>The objects in this row are aligned at the bottom.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:pattern value="\{.+\}"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Transformation">
    <xs:annotation>
      <xs:documentation>Manipulate an object's appearance by applying a matrix. See the PDF reference 4.2.2 Common Transformations and following.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Box"/>
        <xs:element ref="en:Circle"/>
        <xs:element ref="en:Rule"/>
        <xs:element ref="en:Textblock"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Table"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:Transformation"/>
      </xs:choice>
      <xs:attribute name="matrix">
        <xs:annotation>
          <xs:documentation>The transformation matrix for the object. Expected is a space separated string of six values.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="flip">
        <xs:annotation>
          <xs:documentation>Flip object.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="horizontal">
              <xs:annotation>
                <xs:documentation>Flip object horizontally (left becomes right)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vertical">
              <xs:annotation>
                <xs:documentation>Mirror object on the vertical axes (top/bottom)</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="both">
              <xs:annotation>
                <xs:documentation>Flip object on both axes</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="none">
              <xs:annotation>
                <xs:documentation>Don't flip the object</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="origin-x">
        <xs:annotation>
          <xs:documentation>The origin for matrix transformation. Must be left, center or right or a number from 0 to 100 (0 = left, 100 = right).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="origin-y">
        <xs:annotation>
          <xs:documentation>The vertical origin for the matrix transformation. Must be top, center or bottom or a number from 0 to 100 (0 = top, 100 = bottom).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="U">
    <xs:annotation>
      <xs:documentation>Underline text.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:URL"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
      <xs:attribute name="dashed">
        <xs:annotation>
          <xs:documentation>Use a dashed rule instead of a solid rule.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="yes">
              <xs:annotation>
                <xs:documentation>Draw a dashed rule.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="no">
              <xs:annotation>
                <xs:documentation>Draw a solid rule.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="class">
        <xs:annotation>
          <xs:documentation>CSS class for this element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="id">
        <xs:annotation>
          <xs:documentation>CSS id for this element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Ul">
    <xs:annotation>
      <xs:documentation>Create an unordered list, just like in HTML</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:Li"/>
        <xs:element ref="en:ForAll"/>
      </xs:choice>
      <xs:attribute name="fontfamily">
        <xs:annotation>
          <xs:documentation>The name of the font family for the paragraph. The default is “text” (lowercase t).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="Until">
    <xs:annotation>
      <xs:documentation>Create a loop. All child elements are executed repeatedly until the given condition is true.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:AddSearchpath"/>
        <xs:element ref="en:AttachFile"/>
        <xs:element ref="en:Attribute"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Bookmark"/>
        <xs:element ref="en:Box"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:ClearPage"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Column"/>
        <xs:element ref="en:Columns"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:DefineColor"/>
        <xs:element ref="en:DefineFontfamily"/>
        <xs:element ref="en:DefineFontalias"/>
        <xs:element ref="en:DefineTextformat"/>
        <xs:element ref="en:DefineMatter"/>
        <xs:element ref="en:Element"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:Group"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:HTML"/>
        <xs:element ref="en:Hyphenation"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Initial"/>
        <xs:element ref="en:Include"/>
        <xs:element ref="en:InsertPages"/>
        <xs:element ref="en:Layout"/>
        <xs:element ref="en:Li"/>
        <xs:element ref="en:LoadDataset"/>
        <xs:element ref="en:LoadFontfile"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Mark"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:Message"/>
        <xs:element ref="en:NextFrame"/>
        <xs:element ref="en:NextRow"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Options"/>
        <xs:element ref="en:Output"/>
        <xs:element ref="en:Overlay"/>
        <xs:element ref="en:Pagetype"/>
        <xs:element ref="en:Pageformat"/>
        <xs:element ref="en:Paragraph"/>
        <xs:element ref="en:PlaceObject"/>
        <xs:element ref="en:PositioningArea"/>
        <xs:element ref="en:PositioningFrame"/>
        <xs:element ref="en:ProcessNode"/>
        <xs:element ref="en:SaveDataset"/>
        <xs:element ref="en:SavePages"/>
        <xs:element ref="en:SetGrid"/>
        <xs:element ref="en:SetVariable"/>
        <xs:element ref="en:SortSequence"/>
        <xs:element ref="en:Section"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:StructureElement"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Table"/>
        <xs:element ref="en:TableNewPage"/>
        <xs:element ref="en:Tablehead"/>
        <xs:element ref="en:Tablerule"/>
        <xs:element ref="en:Td"/>
        <xs:element ref="en:Tr"/>
        <xs:element ref="en:Transformation"/>
        <xs:element ref="en:Trace"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:Until"/>
        <xs:element ref="en:Value"/>
        <xs:element ref="en:VSpace"/>
        <xs:element ref="en:While"/>
      </xs:choice>
      <xs:attribute name="test" use="required">
        <xs:annotation>
          <xs:documentation>Every time after the the loop is executed, the condition is evaluated. If it is true, the loop exits.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="URL">
    <xs:annotation>
      <xs:documentation>enables a better breaking of URLs.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:URL"/>
        <xs:element ref="en:Value"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="Value">
    <xs:annotation>
      <xs:documentation>Contains a text value that is passed to the surrounding element.</xs:documentation>
    </xs:annotation>
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="en:br"/>
      </xs:sequence>
      <xs:attribute name="select">
        <xs:annotation>
          <xs:documentation>Value to be passed to the outer element.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="br">
    <xs:complexType/>
  </xs:element>
  <xs:element name="VSpace">
    <xs:annotation>
      <xs:documentation>Create a vertically stretching space. The space has a minimum height of 0 but is able to stretch up to infinity. Useful in table cells.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="minheight">
        <xs:annotation>
          <xs:documentation>The (optional) minimum height of the inserted space.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="height">
        <xs:annotation>
          <xs:documentation>Optional height of the space (a length).</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="While">
    <xs:annotation>
      <xs:documentation>Create a loop. All child elements are executed as long as the condition in the test attribute evaluates to true.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="en:A"/>
        <xs:element ref="en:AddSearchpath"/>
        <xs:element ref="en:AttachFile"/>
        <xs:element ref="en:Attribute"/>
        <xs:element ref="en:B"/>
        <xs:element ref="en:Barcode"/>
        <xs:element ref="en:Bookmark"/>
        <xs:element ref="en:Box"/>
        <xs:element ref="en:Br"/>
        <xs:element ref="en:ClearPage"/>
        <xs:element ref="en:Clip"/>
        <xs:element ref="en:Color"/>
        <xs:element ref="en:Column"/>
        <xs:element ref="en:Columns"/>
        <xs:element ref="en:Copy-of"/>
        <xs:element ref="en:DefineColor"/>
        <xs:element ref="en:DefineFontfamily"/>
        <xs:element ref="en:DefineFontalias"/>
        <xs:element ref="en:DefineTextformat"/>
        <xs:element ref="en:DefineMatter"/>
        <xs:element ref="en:Element"/>
        <xs:element ref="en:Fontface"/>
        <xs:element ref="en:ForAll"/>
        <xs:element ref="en:Frame"/>
        <xs:element ref="en:Group"/>
        <xs:element ref="en:HSpace"/>
        <xs:element ref="en:HTML"/>
        <xs:element ref="en:Hyphenation"/>
        <xs:element ref="en:I"/>
        <xs:element ref="en:Image"/>
        <xs:element ref="en:Initial"/>
        <xs:element ref="en:Include"/>
        <xs:element ref="en:InsertPages"/>
        <xs:element ref="en:Layout"/>
        <xs:element ref="en:Li"/>
        <xs:element ref="en:LoadDataset"/>
        <xs:element ref="en:LoadFontfile"/>
        <xs:element ref="en:Loop"/>
        <xs:element ref="en:Mark"/>
        <xs:element ref="en:Math"/>
        <xs:element ref="en:Message"/>
        <xs:element ref="en:NextFrame"/>
        <xs:element ref="en:NextRow"/>
        <xs:element ref="en:NoBreak"/>
        <xs:element ref="en:Options"/>
        <xs:element ref="en:Output"/>
        <xs:element ref="en:Overlay"/>
        <xs:element ref="en:Pagetype"/>
        <xs:element ref="en:Pageformat"/>
        <xs:element ref="en:Paragraph"/>
        <xs:element ref="en:PlaceObject"/>
        <xs:element ref="en:PositioningArea"/>
        <xs:element ref="en:PositioningFrame"/>
        <xs:element ref="en:ProcessNode"/>
        <xs:element ref="en:SaveDataset"/>
        <xs:element ref="en:SavePages"/>
        <xs:element ref="en:SetGrid"/>
        <xs:element ref="en:SetVariable"/>
        <xs:element ref="en:SortSequence"/>
        <xs:element ref="en:Section"/>
        <xs:element ref="en:Span"/>
        <xs:element ref="en:StructureElement"/>
        <xs:element ref="en:Sub"/>
        <xs:element ref="en:Sup"/>
        <xs:element ref="en:Switch"/>
        <xs:element ref="en:Table"/>
        <xs:element ref="en:TableNewPage"/>
        <xs:element ref="en:Tablehead"/>
        <xs:element ref="en:Tablerule"/>
        <xs:element ref="en:Td"/>
        <xs:element ref="en:Tr"/>
        <xs:element ref="en:Transformation"/>
        <xs:element ref="en:Trace"/>
        <xs:element ref="en:U"/>
        <xs:element ref="en:Until"/>
        <xs:element ref="en:Value"/>
        <xs:element ref="en:VSpace"/>
        <xs:element ref="en:While"/>
      </xs:choice>
      <xs:attribute name="test" use="required">
        <xs:annotation>
          <xs:documentation>Every time before the the loop is executed, this condition must evaluate to true. See the command Until for a loop with an exit test.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <!-- allow HTML in <Value> ... </Value> -->
  <xs:attributeGroup name="htmlclassidstyle">
    <xs:attribute name="class"/>
    <xs:attribute name="id"/>
    <xs:attribute name="style"/>
  </xs:attributeGroup>
  <xs:complexType name="html" mixed="true">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element ref="en:a"/>
      <xs:element ref="en:br"/>
      <xs:element ref="en:h1"/>
      <xs:element ref="en:h2"/>
      <xs:element ref="en:h3"/>
      <xs:element ref="en:h4"/>
      <xs:element ref="en:h5"/>
      <xs:element ref="en:b"/>
      <xs:element ref="en:code"/>
      <xs:element ref="en:i"/>
      <xs:element ref="en:kbd"/>
      <xs:element ref="en:li"/>
      <xs:element ref="en:p"/>
      <xs:element ref="en:span"/>
      <xs:element ref="en:table"/>
      <xs:element ref="en:u"/>
      <xs:element ref="en:ul"/>
      <xs:element ref="en:ol"/>
      <xs:element ref="en:body"/>
    </xs:choice>
  </xs:complexType>
  <xs:element name="a">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attribute name="href" use="required"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="h1">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="h2">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="h3">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="h4">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="h5">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="b">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="code">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="i">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="kbd">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="li">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="p">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="span">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="table">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:htmltable">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="u">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="ul">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="ol">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="body">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="htmltable">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" ref="en:colgroup"/>
      <xs:element minOccurs="0" ref="en:thead"/>
      <xs:choice>
        <xs:element minOccurs="0" ref="en:tbody"/>
        <xs:element maxOccurs="unbounded" ref="en:tr"/>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="thead">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="en:tr"/>
      </xs:sequence>
      <xs:attributeGroup ref="en:htmlclassidstyle"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="tbody">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="en:tr"/>
      </xs:sequence>
      <xs:attributeGroup ref="en:htmlclassidstyle"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="colgroup">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="en:col"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="col">
    <xs:complexType>
      <xs:attribute name="width" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="tr">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="en:td"/>
        <xs:element ref="en:th"/>
      </xs:choice>
      <xs:attributeGroup ref="en:htmlclassidstyle"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="td">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="th">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="en:html">
          <xs:attributeGroup ref="en:htmlclassidstyle"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <!--
    MathML subset in <Math> ... </Math>. The elements inherit the
    layout namespace, so the MathML namespace is not required.
  -->
  <xs:complexType name="mathml">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" ref="en:mathml-element"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="mathml-element" abstract="true"/>
  <xs:element name="math" substitutionGroup="en:mathml-element" type="en:mathml"/>
  <xs:element name="mrow" substitutionGroup="en:mathml-element" type="en:mathml"/>
  <xs:element name="msqrt" substitutionGroup="en:mathml-element" type="en:mathml"/>
  <xs:element name="mi" substitutionGroup="en:mathml-element" type="xs:string"/>
  <xs:element name="mn" substitutionGroup="en:mathml-element" type="xs:string"/>
  <xs:element name="mo" substitutionGroup="en:mathml-element" type="xs:string"/>
  <xs:element name="mtext" substitutionGroup="en:mathml-element" type="xs:string"/>
  <xs:element name="mfrac" substitutionGroup="en:mathml-element">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="en:mathml-element"/>
        <xs:element ref="en:mathml-element"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="msup" substitutionGroup="en:mathml-element">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="en:mathml-element"/>
        <xs:element ref="en:mathml-element"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="msub" substitutionGroup="en:mathml-element">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="en:mathml-element"/>
        <xs:element ref="en:mathml-element"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="msubsup" substitutionGroup="en:mathml-element">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="en:mathml-element"/>
        <xs:element ref="en:mathml-element"/>
        <xs:element ref="en:mathml-element"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
