﻿<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns="http://schema.webpdf.de/1.0/extraction/info" elementFormDefault="qualified" targetNamespace="http://schema.webpdf.de/1.0/extraction/info" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="document">
        <xs:annotation>
            <xs:documentation>
                <p>A document element that describes the content and properties of the PDF document as metadata.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="information" type="InformationType" />
                <xs:element name="security" type="SecurityType" />
                <xs:element name="attachments" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Lists the attachments embedded into this document.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="attachment" type="AttachmentType" minOccurs="0" maxOccurs="unbounded" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="pages" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Lists and describes the properties of the document's pages.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="page" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:complexContent>
                                        <xs:extension base="PageType">
                                            <xs:sequence>
                                                <xs:element name="boxes" type="BoxesType" />
                                            </xs:sequence>
                                        </xs:extension>
                                    </xs:complexContent>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="form" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Describes the properties of the document's form. (Should the document contain a form.)</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="field" type="FieldType" minOccurs="0" maxOccurs="unbounded" />
                        </xs:sequence>
                        <xs:attribute name="objectKey" default="" type="xs:string">
                            <xs:annotation>
                                <xs:documentation>
                                    <p>The object ID of the form.</p>
                                    <p>
                                        <b>Info:</b>
                                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                                    </p>
                                </xs:documentation>
                            </xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="formType" default="none" type="FormsFormatType">
                            <xs:annotation>
                                <xs:documentation>
                                    <p>When set to another value than "none", the document does contain a PDF form in the hereby given format.
                                        <ul>
                                            <li>none = The document does not contain a form.</li>
                                            <li>acroForm = The document contains a standard PDF Acroform.</li>
                                            <li>staticXFA = The document contains a "XML Forms Architecture" form with a fixed layout (static).</li>
                                            <li>dynamicXFA = The document contains a "XML Forms Architecture" form with an adaptable/interactive layout (dynamic).</li>
                                        </ul>
                                    </p>
                                </xs:documentation>
                            </xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="defaultAppearance" default="" type="xs:string">
                            <xs:annotation>
                                <xs:documentation>
                                    <p>If present, this contains the default appearance of the form's fields. This shall be a string containing graphics and text state operators for example defining text colors, sizes etc.</p>
                                </xs:documentation>
                            </xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="needAppearances" default="false" type="xs:boolean">
                            <xs:annotation>
                                <xs:documentation>
                                    <p>When set to "true" the displaying Application shall generate appearances for all widgets defining the document's form.</p>
                                </xs:documentation>
                            </xs:annotation>
                        </xs:attribute>
                    </xs:complexType>
                </xs:element>
                <xs:element name="annotations" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Lists the annotations, that have been found in the document.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="annotation" type="AnnotationType" />
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
                <xs:element name="signatures" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Lists a document's signatures.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="signature" type="SignatureType" />
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
                <xs:element name="backgrounds" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Lists the background definitions for pages of the document.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="background" type="BackgroundContentType" />
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
                <xs:element name="headersFooters" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Lists the header/footer definitions for pages of the document.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="headerFooter" type="HeaderFooterType" />
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
                <xs:element name="transitions" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Lists the page transitions for the full screen mode of the document.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="transition" type="TransitionType" />
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
                <xs:element name="images" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Lists the image resources used in the document.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="image" type="ImageType" />
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
                <xs:element name="folders" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Lists the folders contained in a PDF collection (portfolio), that are used to structure the embedded attachments.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="folder" type="FolderType" />
                        </xs:sequence>
                        <xs:attribute name="initialFile" default="" type="xs:string">
                            <xs:annotation>
                                <xs:documentation>
                                    <p>The object ID of the initially visible attachment.</p>
                                    <p>
                                        <b>Info:</b>
                                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                                    </p>
                                </xs:documentation>
                            </xs:annotation>
                        </xs:attribute>
                    </xs:complexType>
                </xs:element>
                <xs:element name="portfolio" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>Describes the properties of a PDF collection (portfolio). (Should the document be a PDF collection.)</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="schema" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>
                                        <p>Lists sort schemas for a PDF collection (portfolio).</p>
                                    </xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="entry" type="SchemaEntryType" minOccurs="0" maxOccurs="unbounded" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="sort" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>
                                        <p>Lists sort types for a PDF collection (portfolio).</p>
                                    </xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="entry" type="SchemaSortEntryType" minOccurs="0" maxOccurs="unbounded" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="InformationType">
        <xs:annotation>
            <xs:documentation>
                <p>Summarizes structural information and settings for the PDF document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="description" type="DescriptionType" />
            <xs:element name="pdfa" type="PdfaType" />
            <xs:element name="viewerPreferences" type="ViewerPreferencesType" />
        </xs:sequence>
        <xs:attribute name="objectKey" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the document's catalog. (root)</p>
                    <p>
                        <b>Info:</b>
                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="version" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The version name of the PDF standard the document claims compatibility with.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="fileSize" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The byte size of the document.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:long">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="initialPage" default="1" type="xs:int">
            <xs:annotation>
                <xs:documentation>
                    <p>The first page, that shall be displayed when opening the document in a PDF Reader.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="language" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The natural language of the document. This could either contain the language name or a language tag.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="pageLayout" default="singlePage" type="PageLayoutType">
            <xs:annotation>
                <xs:documentation>
                    <p>The set initial page layout of the document. When opening the document in a Reader, this layout shall be selected to display pages.
                        <ul>
                            <li>singlePage = One page at a time.</li>
                            <li>oneColumn = One continuous column of pages.</li>
                            <li>twoColumnLeft = The pages in two columns, with odd
                                <li>numbered pages on the left.</li>
                            </li>
                            <li>twoColumnRight = The pages in two columns, with odd
                                <li>numbered pages on the right.</li>
                            </li>
                            <li>twoPageLeft = Display the pages two at a time, with odd
                                <li>numbered pages on the left.</li>
                            </li>
                            <li>twoPageRight = Display the pages two at a time, with odd
                                <li>numbered pages on the right.</li>
                            </li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="magnification" default="fitVisible" type="MagnificationType">
            <xs:annotation>
                <xs:documentation>
                    <p>The initial page zoom settings of the document. When opening the document in a Reader, this zoom settings shall be used.
                        <ul>
                            <li>none = Uses the application's default view.</li>
                            <li>fitWidth = Page width.</li>
                            <li>fitPage = Page dimensions.</li>
                            <li>fitHeight = Page height.</li>
                            <li>fitVisible = Page content width.</li>
                            <li>fitActual = Uses the original page dimensions (100% zoom factor).</li>
                            <li>zoom = Sets an explicit magnification value.</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="magnificationZoom" default="100">
            <xs:annotation>
                <xs:documentation>
                    <p>If a magnification "zoom" is selected for this document, this is the actual percentage the pages of the document shall be zoomed to, when opening the document in a PDF Reader.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="initialView" default="none" type="InitialViewType">
            <xs:annotation>
                <xs:documentation>
                    <p>Defines which sub
                        <li>windows will be opened when the PDF document is opened.</li>
                        <ul>
                            <li>none = No special view</li>
                            <li>outlines = Opens the "Bookmarks" tab</li>
                            <li>thumbnails = Opens the "Thumbnails" tab</li>
                            <li>fullscreen = Opens the document in full screen mode</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="encrypted" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>This will be set to "true" for a document, that is either password protected or certificate encrypted.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="portfolio" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>Will be set to "true" for a "PDF collection" (Portfolio), that serves as the container for other documents.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="pages" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The number of pages contained in the document.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="attachments" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The number of attachments contained in the document.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="formType" default="none" type="FormsFormatType">
            <xs:annotation>
                <xs:documentation>
                    <p>When set to another value than "none", the document does contain a PDF form in the hereby given format.
                        <ul>
                            <li>none = The document does not contain a form.</li>
                            <li>acroForm = The document contains a standard PDF Acroform.</li>
                            <li>staticXFA = The document contains a "XML Forms Architecture" form with a fixed layout (static).</li>
                            <li>dynamicXFA = The document contains a "XML Forms Architecture" form with an adaptable/interactive layout (dynamic).</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="signatures" default="0" type="xs:int">
            <xs:annotation>
                <xs:documentation>
                    <p>The number of signatures contained in the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="docMDP" default="none" type="DocMdpType">
            <xs:annotation>
                <xs:documentation>
                    <p>A document "Modification Detection and Prevention" may be set, that defines which modifications of the document are allowed and which modifications would render the signature invalid.
                        <ul>
                            <li>none = The document is unprotected</li>
                            <li>modify it as you please.</li>
                            <li>noChangesAllowed = Any modifications of the document would render the signatures invalid.</li>
                            <li>formFillingSignatures = You may fill in forms and further sign the document.</li>
                            <li>formFillingSignaturesAndAnnotations = Form filling, signing and adding annotations are allowed.</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="DescriptionType">
        <xs:annotation>
            <xs:documentation>
                <p>The document's description contains a number of metadata attributes, that further describe the author, creation, contents etc of the document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="author" type="AuthorType" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="keywords" type="KeywordType" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="custom" type="CustomDescriptionType" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="title" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The document's title.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="subject" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The document's subject.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="creator" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>If the document has been converted to a PDF from another format, this is the name of the application, that created the original document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="producer" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>If the document has been converted to a PDF from another format, this is the name of the application, that converted it.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="application" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The application used to create the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="creationDate" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The date of the document's creation.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="modificationDate" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The date of the most recent modification of the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="SecurityType">
        <xs:annotation>
            <xs:documentation>
                <p>An element of this type shall contain information concerning the security settings, manipulation protection and used password of a PDF document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:choice>
            <xs:element name="password" type="PasswordType" minOccurs="0" />
        </xs:choice>
        <xs:attributeGroup ref="securityFlags" />
    </xs:complexType>
    <xs:complexType name="AttachmentType">
        <xs:annotation>
            <xs:documentation>
                <p>This type is used to describe an attachment, that has been embedded in a PDF file.
                    The attachment itself may have connected document information, in that case the "document" element will be set.
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element ref="document" minOccurs="0" />
            <xs:element name="sort" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p>Lists the collection items of this attachment.</p>
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="entry" type="AttachmentSortEntryType" minOccurs="0" maxOccurs="unbounded" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="objectKey" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the attachment.

                        <b>Info:</b>
                        A PDF objects ID consists of two number, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="number">
            <xs:annotation>
                <xs:documentation>
                    <p>The position number of the attachment in the embedded files of the document.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="1" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="page" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The page (if any), the attachment is placed on.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="name" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The file name of the attachment.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="size" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The byte size of the attachment.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:double">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="compressedSize" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The compressed byte size of the attachment.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:double">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="description" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The file description of the attachment.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="mimeType" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The attachment's MIME type.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="folderId" default="0" type="xs:int">
            <xs:annotation>
                <xs:documentation>
                    <p>The numeric ID of the folder containing the attachment.
                        (This is only relevant for PDF Collections/Portfolios - otherwise attachments may not be arranged in a folder tree.)
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="PageType">
        <xs:annotation>
            <xs:documentation>
                <p>This type is used to describe a page of a PDF document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="objectKey" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the page.

                        <b>Info:</b>
                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="number" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The page number of this page.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="label" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The page label of this page.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="width" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The width of this page in points.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:float">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="height" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The height of this page in points.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:float">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="rotation" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The rotation of this page in degrees.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:attributeGroup name="securityFlags">
        <xs:attribute name="canAssemble" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If "true," the document can be rearranged (e.g., pages can be deleted, inserted, and rotated).</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="canExtractContent" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If "true," content can be extracted (copied) from the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="canExtractForAccessibility" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If "true," content can be extracted (copied) for accessibility purposes.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="canFillInForm" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If "true," form fields can be filled out and the document can be signed.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="canModify" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If "true," changes to the document are permitted.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="canModifyAnnotations" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If "true," comments can be added to the document and deleted from the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="canPrint" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If "true," the document can be printed.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="canPrintHighRes" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If "true," the document can be printed at high resolution levels.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:complexType name="PdfaType">
        <xs:annotation>
            <xs:documentation>
                <p>The PDF/A standard the document claims to be conforming to.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="part" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The ISO-19005 part number.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="conformance" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The PDF/A conformance level.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:simpleType name="FormsFormatType">
        <xs:annotation>
            <xs:documentation>
                <p>When set to another value than "none", the document does contain a PDF form in the hereby given format.
                    <ul>
                        <li>none = The document does not contain a form.</li>
                        <li>acroForm = The document contains a standard PDF Acroform.</li>
                        <li>staticXFA = The document contains a "XML Forms Architecture" form with a fixed layout (static).</li>
                        <li>dynamicXFA = The document contains a "XML Forms Architecture" form with an adaptable/interactive layout (dynamic).</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="none" />
            <xs:enumeration value="acroForm" />
            <xs:enumeration value="staticXFA" />
            <xs:enumeration value="dynamicXFA" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="FieldType">
        <xs:annotation>
            <xs:documentation>
                <p>Lists the properties of a PDF form field.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="annotation" type="AnnotationType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>
                        <p>Selects the visible representation (widget annotation) for the form field.</p>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="signature" type="SignatureType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p>Select the signature set for a signature form field.</p>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="value" type="FormValueStyle" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="objectKey" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the form field.

                        <b>Info:</b>
                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>Indicates the type of the form field.
                        <ul>
                            <li>Btn = Button</li>
                            <li>Tx = Textfield</li>
                            <li>Ch = Choicefield</li>
                            <li>Sig = Signaturefield</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="subType" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The implementation name of the the form field.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The partial name of the form field.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="mappingName" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The mapping name of the form field.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="alternateName" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The alternate name of the form field.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="fullyQualifiedName" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The fully qualified name of the form field.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="noExport" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>When set to true, the form field shall not be included in exports of the document's form data.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="readOnly" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>When set to true, the form field's contents may be displayed but not altered.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="required" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>When set to true, the form field must be filled in.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="multiSelect" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>When set to true, the form field allows multiple items to be seleted.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="content" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The textual content of the form field. A single string or a comma-separated list of string values for list types.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="isRichText" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>When set to true, the field contains rich text formatted content.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="SignatureType">
        <xs:annotation>
            <xs:documentation>
                <p>An element of this type represents the properties of a signature.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="objectKey" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the signature.

                        <b>Info:</b>
                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The name of the person or authority signing the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="reason" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The reason for signing the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="contact" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The contact information provided by the signer.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="location" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The location the document has been signed at.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="date" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The date the signature has been created.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="filter" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The name of the preferred signature handler used for validation. (Adobe.PPKLite, EntrustPPKEF etc.)</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="subFilter" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The encoding of the signature value, that shall also be used for validation. (adbe.x509.rsa_sha1, adbe.pkcs7.sha1, etc.)</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="AuthorType">
        <xs:annotation>
            <xs:documentation>
                <p>An element of this type is used to enumerate the persons, that created a document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="name" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The name of the person creating the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="KeywordType">
        <xs:annotation>
            <xs:documentation>
                <p>An element of this type defines a keyword the document can be associated with.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="keyword" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>A keyword the document can be associated with.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="CustomDescriptionType">
        <xs:annotation>
            <xs:documentation>
                <p>An element of this type defines some custom attribute to be listed in the document's metadata.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="key" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The name of the custom attribute.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="value" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The value of the custom attribute.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="PasswordType">
        <xs:annotation>
            <xs:documentation>
                <p>An element of this type shall contain information concerning the used encryption and the used encryption key.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="hasOpenPassword" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this is set to "true", the document is encrypted and requires a password to be opened.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="hasPermissionPassword" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this is set to "true", the document has a change protection and a password is required to claim ownership and modify the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="hasAsymmetricEncryption" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this is set to "true", the document is asymmetrically encrypted and a matching private key is required to decrypt it.
                        Otherwise the document is symetrically encrypted and requires a password.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="keyLength" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The Bit length of the key used for encryption.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="keyAlgorithm" default="none" type="KeyAlgorithmType">
            <xs:annotation>
                <xs:documentation>
                    <p>The algorithm used for encryption.
                        <ul>
                            <li>none = The document is not encrypted.</li>
                            <li>aes = The document has been encrypted using the Advanced Encryption Standard.</li>
                            <li>rc4 = The document has been encrypted using the RC4 cipher.</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:simpleType name="PageLayoutType">
        <xs:annotation>
            <xs:documentation>
                <p>The set initial page layout of a document. When opening the document in a Reader, this layout shall be selected to display pages.
                    <ul>
                        <li>singlePage = One page at a time.</li>
                        <li>oneColumn = One continuous column of pages.</li>
                        <li>twoColumnLeft = The pages in two columns, with odd-numbered pages on the left.</li>
                        <li>twoColumnRight = The pages in two columns, with odd-numbered pages on the right.</li>
                        <li>twoPageLeft = Display the pages two at a time, with odd-numbered pages on the left.</li>
                        <li>twoPageRight = Display the pages two at a time, with odd-numbered pages on the right.</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="singlePage" />
            <xs:enumeration value="oneColumn" />
            <xs:enumeration value="twoColumnLeft" />
            <xs:enumeration value="twoColumnRight" />
            <xs:enumeration value="twoPageLeft" />
            <xs:enumeration value="twoPageRight" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MagnificationType">
        <xs:annotation>
            <xs:documentation>
                <p>The initial page zoom settings of a document. When opening the document in a Reader, this zoom settings shall be used.
                    <ul>
                        <li>none = Uses the application's default view.</li>
                        <li>fitWidth = Page width.</li>
                        <li>fitPage = Page dimensions.</li>
                        <li>fitHeight = Page height.</li>
                        <li>fitVisible = Page content width.</li>
                        <li>fitActual = Uses the original page dimensions (100% zoom factor).</li>
                        <li>zoom = Sets an explicit magnification value.</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="none" />
            <xs:enumeration value="fitWidth" />
            <xs:enumeration value="fitVisible" />
            <xs:enumeration value="fitHeight" />
            <xs:enumeration value="fitPage" />
            <xs:enumeration value="fitActual" />
            <xs:enumeration value="zoom" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="InitialViewType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines which sub-windows will be opened when the PDF document is opened.
                    <ul>
                        <li>none = No special view</li>
                        <li>outlines = Opens the "Bookmarks" tab</li>
                        <li>thumbnails = Opens the "Thumbnails" tab</li>
                        <li>fullscreen = Opens the document in full screen mode</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="none" />
            <xs:enumeration value="outlines" />
            <xs:enumeration value="thumbnails" />
            <xs:enumeration value="fullscreen" />
            <xs:enumeration value="layers" />
            <xs:enumeration value="attachments" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="KeyAlgorithmType">
        <xs:annotation>
            <xs:documentation>
                <p>The algorithm used for encryption.
                    <ul>
                        <li>none = The document is not encrypted.</li>
                        <li>aes = The document has been encrypted using the Advanced Encryption Standard.</li>
                        <li>rc4 = The document has been encrypted using the RC4 cipher.</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="none" />
            <xs:enumeration value="aes" />
            <xs:enumeration value="rc4" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="RgbColorType">
        <xs:annotation>
            <xs:documentation>
                <p>A color definition. The color will be specified as a hexadecimal RGB value with a number sign before it.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:token">
            <xs:pattern value="#[0-9a-fA-F]{6}" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="OpacityType">
        <xs:annotation>
            <xs:documentation>
                <p>An opacity definition as a percentage, where 100 is fully oqaque and 0 is fully transparent.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:int">
            <xs:minInclusive value="0" />
            <xs:maxInclusive value="100" />
        </xs:restriction>
    </xs:simpleType>
    <xs:attributeGroup name="FlagsAnnotationGroup">
        <xs:attribute name="locked" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this value is set to true, the annotation will be locked so that no changes can be made to it.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="printable" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this value is set to true, the annotation will be included when the page is printed out.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="rotatable" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this value is set to true, the annotation shall be rotatable according to the displayed page rotation.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="viewable" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this value is set to true, the annotation will be shown on the document's page.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="writable" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this value is set to true, it will be possible to change the annotation's contents later on.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="zoomable" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this value is set to true, the annotation will adjust its own zoom factor as required for the page in order to always be clearly readable / recognizable.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="invisible" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this value is set to true, the annotation will be visible on the page only when printed, and provided it is a PDF standard annotation.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="hidden" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this value is set to true, the annotation will not be shown on the page and will not be printed either.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:complexType name="AnnotationType">
        <xs:annotation>
            <xs:documentation>
                <p>An element of this type describes an Annotation placed on a page of the document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence minOccurs="0">
            <xs:choice id="positions" minOccurs="0" maxOccurs="unbounded">
                <xs:element name="rectangle" type="AnnotationRectangleType" />
                <xs:element name="point" type="AnnotationPointType" />
            </xs:choice>
            <xs:element name="markup" type="MarkupType" minOccurs="0" />
            <xs:element name="popup" type="PopupType" minOccurs="0" />
            <xs:element name="appearance" type="AppearanceType" minOccurs="0" />
            <xs:element name="line" type="LineType" minOccurs="0" />
            <xs:element name="border" type="BorderStyle" minOccurs="0" />
            <xs:element name="drawStyle" type="DrawStyleType" minOccurs="0" />
            <xs:element name="field" type="FieldAnnotationType" minOccurs="0" />
        </xs:sequence>
        <xs:attribute name="objectKey" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the annotation.

                        <b>Info:</b>
                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="subType" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The type of an annotation is always "Annot", this is the sub type of the annotation determining the actual behavior and function of the annotation. (i.e. Text, Link, Widget etc.)</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The annotation's name.</p>
                    <p>
                        <b>Important:</b>
                        This name is optional and in the best case unique in the annotation's page context only. Don't use the name to select an annotation, always prefer selecting objects by object ID, when possible.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="contents" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The annotation's textual contents or (should an annotation of this type not have such contents) it's description.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="page" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The number of the page the annotation is placed on.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attributeGroup ref="FlagsAnnotationGroup" />
        <xs:attribute name="color" default="#4800FF" type="RgbColorType">
            <xs:annotation>
                <xs:documentation>
                    <p>The main color of visible annotations. The color will be specified as a hexadecimal RGB value with a number sign before it.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="rotation" default="0" type="xs:int">
            <xs:annotation>
                <xs:documentation>
                    <p>The annotation's rotation.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="iconName" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>If the annotation selects an icon (Text annotations), this is the name of that icon.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="MarkupType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a set of attributes for text markup annotations.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="richContents" type="xs:string" minOccurs="0" default="">
                <xs:annotation>
                    <xs:documentation>
                        <p>A richtext string containing defining style and contents of the annotation. (This String shall conform to the richtext conventions of the XML Forms Specification (XFA)).</p>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="relation" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p>Selects the relation of this annotation to other annotations.</p>
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:choice>
                        <xs:element name="group" type="GroupRelationType" />
                        <xs:element name="mark" type="MarkRelationType" />
                        <xs:element name="state" type="ReplyStateRelationType" />
                        <xs:element name="comment" type="CommentRelationType" />
                    </xs:choice>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="opacity" default="100" type="OpacityType">
            <xs:annotation>
                <xs:documentation>
                    <p>The annotations opacity as a percentage, where 100 is fully oqaque and 0 is fully transparent.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="creationDate" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The date of the annotation's creation. This string will contain the date in ASN.1 standard format. (D:YYYYMMDDHHmmSSOHH'mm)</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="subject" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The annotation's subject.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="intents" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The annotation's intents. Depending on the annotation sub type the intents value shall serve further purposes.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="creator" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The name of the annotation's author.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="PopupType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a set of attributes concerning the annotation's popup.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="rectangle" type="RectangleType">
                <xs:annotation>
                    <xs:documentation>
                        <p>The position of the popup.</p>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="isOpen" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>When set to true, the popup shall be displayed, when opening the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="RectangleType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a rectangular area/box.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="PositionsType">
                <xs:attribute name="width" default="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>The width of the rectangle in points.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:float" />
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="height" default="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>The height of the rectangle in points.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:float" />
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="x" default="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>The x coordinate in points.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:float" />
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="y" default="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>The y coordinate in points.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:float" />
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:simpleType name="DocMdpType">
        <xs:annotation>
            <xs:documentation>
                <p>A document "Modification Detection and Prevention" may be set, that defines which modifications of the document are allowed and which modifications would render the signature invalid.
                    <ul>
                        <li>none = The document is unprotected - modify it as you please.</li>
                        <li>noChangesAllowed = Any modifications of the document would render the signatures invalid.</li>
                        <li>formFillingSignatures = You may fill in forms and further sign the document.</li>
                        <li>formFillingSignaturesAndAnnotations = Form filling, signing and adding annotations are allowed.</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="none" />
            <xs:enumeration value="noChangesAllowed" />
            <xs:enumeration value="formFillingSignatures" />
            <xs:enumeration value="formFillingSignaturesAnnotations" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="PointType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a point.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="PositionsType">
                <xs:attribute name="x" default="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>The x coordinate in points.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:float" />
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="y" default="0">
                    <xs:annotation>
                        <xs:documentation>
                            <p>The y coordinate in points.</p>
                        </xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:float" />
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AppearanceType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a set of attributes concerning the appearance of the annotation.</p>
            </xs:documentation>
        </xs:annotation>
    </xs:complexType>
    <xs:complexType name="PositionsType">
        <xs:annotation>
            <xs:documentation>
                <p>Used to define some sort of position on a PDF page.</p>
            </xs:documentation>
        </xs:annotation>
    </xs:complexType>
    <xs:complexType name="LineType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a set of attributes for Line annotations.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="startStyle" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>Selects the Line ending style at the start of the line.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="endStyle" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>Selects the Line ending style at the end of the line. Possible values are: Square, Circle, Diamond, OpenArrow, ClosedArrow, None, Butt, ROpenArrow, RClosedArrow, Slash</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="showCaption" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>When set to true the line shall display a textual caption.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="captionHorizontalOffset" default="0" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>The horizontal offset of the caption's leading letter in relation to it's normal position.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="captionVerticalOffset" default="0" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>The vertical offset of the caption's leading letter in relation to it's normal position.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="captionPositioning" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The positioning method for the caption of the line. Possible values are "Inline" (superimposed) and "Top" (above the line).</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="leaderLineLength" default="0" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>The length of leader lines that extend from each endpoint of the line perpendicular to the line itself. A positive value shall mean that the leader lines appear in the direction that is clockwise when traversing the line from its starting point to its ending point; a negative value shall indicate the opposite direction.(0 = no leader lines)</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="leaderLineOffsetLength" default="0" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>A non-negative number that shall represent the length of the leader line offset, which is the amount of empty space between the endpoints of the annotation and the beginning of the leader lines.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="leaderLineExtensionLength" default="0" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>A non-negative number that shall represent the length of leader line extensions that extend from the line proper 180 degrees from the leader lines. (0 = no leader line extensions)</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="BorderStyle">
        <xs:annotation>
            <xs:documentation>
                <p>Selects a border style for a drawn shape's outline.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="style" default="S" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The style of the shapes border.
                        <ul>
                            <li>S = Solid</li>
                            <li>D = Dashed</li>
                            <li>B = Beveled</li>
                            <li>I = Inset</li>
                            <li>U = Underline</li>
                        </ul>
                    </p>
                    <p>
                        <b>Important:</b>
                        Further custom styles may be contained and shall default to a solid border if unknown.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="width" default="1">
            <xs:annotation>
                <xs:documentation>
                    <p>The border width/line thickness in points.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:float">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="dashPattern" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The dash pattern (array) of a dashed border. The dash array contains the unit lengths of alternating dashes and gaps, that shall be cycled through along the length of the border.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="dashPhase" default="0" type="xs:int">
            <xs:annotation>
                <xs:documentation>
                    <p>The phase of the dash pattern.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="effectStyle" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The border effect to apply to the border shape.
                        <ul>
                            <li>S = Apply no border effects.</li>
                            <li>C = Apply a cloud pattern to the border shape.</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="effectIntensity" default="0" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>The intensity of a possibly set cloud effect, in a range from 0 to 2.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="interiorColor" default="#4800FF" type="RgbColorType">
            <xs:annotation>
                <xs:documentation>
                    <p>The interior (fill) color for the shape.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="BackgroundContentType">
        <xs:annotation>
            <xs:documentation>
                <p>An element of this type defines a background for a page of the document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="pieceInfo" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p>Properties listed in the Adobe piece info.</p>
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="absoluteScaling" default="true" type="xs:boolean">
                        <xs:annotation>
                            <xs:documentation>
                                <p>When set to true the page shall be scaled relative to it's own original dimensions, when set to false, it shall be scaled relative to the page dimensions.</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="scale" default="1">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The scaling of the background.</p>
                            </xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:float">
                                <xs:minInclusive value="0" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="rotation" default="0">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The rotation of the background.</p>
                            </xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:float">
                                <xs:minInclusive value="0"/>
                                <xs:maxInclusive value="360"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="opacity" default="1.0">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The opacity of the background, as a percentage in the range 0.0 (fully transparent) to 1.0 (fully opaque).</p>
                            </xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:float">
                                <xs:minInclusive value="0" />
                                <xs:maxInclusive value="1" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="color" default="#FFFFFF" type="RgbColorType">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The color of a unicolor background.</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="alignment" default="top_left" type="Alignment">
                        <xs:annotation>
                            <xs:documentation>
                                <p>Uses one of multiple preset positions in order to position the background on the page.
                                    <ul>
                                        <li>custom = Disable the use of a preset position.</li>
                                        <li>top_left = Positions the background in the top left corner.</li>
                                        <li>top_center = Positions the background in the centre on the top margin.</li>
                                        <li>top_right = Positions the background in the top right corner.</li>
                                        <li>center_left = Positions the background at the centre of the page, to the left.</li>
                                        <li>center_center = Positions the background at the centre of the page.</li>
                                        <li>center_right = Positions the background at the centre of the page, to the right.</li>
                                        <li>bottom_left = Positions the background in the bottom left corner.</li>
                                        <li>bottom_center = Positions the background in the centre on the bottom margin.</li>
                                        <li>bottom_right = Positions the background in the bottom right corner.</li>
                                    </ul>
                                </p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="horizOffset" default="0.0" type="xs:float">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The horizontal offset in relation to the backgrounds bas position.</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="vertOffset" default="0.0" type="xs:float">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The vertical offset in relation to the backgrounds bas position.</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="unit" default="" type="xs:string">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The Adobe unit used to display offsets in readers. (millimeters, pica, point etc).</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="bounds" type="RectangleType">
                <xs:annotation>
                    <xs:documentation>
                        <p>The bounding box of the background.</p>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="objectKey" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the background.

                        <b>Info:</b>
                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="page" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The page the background shall be set for.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="onprint" default="true">
            <xs:annotation>
                <xs:documentation>
                    <p>Whether the background shall be visible in printouts of the document.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:boolean" />
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="onscreen" default="true">
            <xs:annotation>
                <xs:documentation>
                    <p>Whether the background shall be visible in Readers.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:boolean" />
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="isImage" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>When set to true, the background is using an image resource. (Otherwise it is unicolor)</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="ColorType">
        <xs:attribute name="r" default="0">
            <xs:simpleType>
                <xs:restriction base="xs:float">
                    <xs:minInclusive value="0" />
                    <xs:maxInclusive value="1" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="b" default="0">
            <xs:simpleType>
                <xs:restriction base="xs:float">
                    <xs:minInclusive value="0" />
                    <xs:maxInclusive value="1" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="g" default="0">
            <xs:simpleType>
                <xs:restriction base="xs:float">
                    <xs:minInclusive value="0" />
                    <xs:maxInclusive value="1" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:simpleType name="Alignment">
        <xs:annotation>
            <xs:documentation>
                <p>Uses one of multiple preset positions in order to position the background on the page.
                    <ul>
                        <li>custom = Disable the use of a preset position.</li>
                        <li>top_left = Positions the background in the top left corner.</li>
                        <li>top_center = Positions the background in the centre on the top margin.</li>
                        <li>top_right = Positions the background in the top right corner.</li>
                        <li>center_left = Positions the background at the centre of the page, to the left.</li>
                        <li>center_center = Positions the background at the centre of the page.</li>
                        <li>center_right = Positions the background at the centre of the page, to the right.</li>
                        <li>bottom_left = Positions the background in the bottom left corner.</li>
                        <li>bottom_center = Positions the background in the centre on the bottom margin.</li>
                        <li>bottom_right = Positions the background in the bottom right corner.</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="top_left" />
            <xs:enumeration value="top_center" />
            <xs:enumeration value="top_right" />
            <xs:enumeration value="center_left" />
            <xs:enumeration value="center_center" />
            <xs:enumeration value="center_right" />
            <xs:enumeration value="bottom_left" />
            <xs:enumeration value="bottom_center" />
            <xs:enumeration value="bottom_right" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="BoxesType">
        <xs:annotation>
            <xs:documentation>
                <p>This type is used to describe the boxes of a page.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="mediaBox" type="RectangleType">
                <xs:annotation>
                    <xs:documentation>
                        <p>The page's physical dimensions.</p>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="cropBox" type="RectangleType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p>The visible (printable) page area.</p>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="bleedBox" type="RectangleType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p>Untrimmed content position on the page (content dimensions plus trim box).</p>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="trimBox" type="RectangleType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p>Trimmed content position on the page (final content dimensions).</p>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="artBox" type="RectangleType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p>Position for special page content (images).</p>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HeaderFooterType">
        <xs:annotation>
            <xs:documentation>
                <p>An element of this type defines header and footer values for a page of the document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="font" type="FontType" />
            <xs:element name="margin" type="MarginType" />
            <xs:element name="header" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p>Selects the values for a page header.</p>
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="left" default="" type="xs:string">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The value displayed at the left of the header.</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="center" default="" type="xs:string">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The value displayed at the center of the header.</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="right" default="" type="xs:string">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The value displayed at the right of the header.</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="footer" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p>Selects the values for a page footer.</p>
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="left" default="" type="xs:string">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The value displayed at the left of the footer.</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="center" default="" type="xs:string">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The value displayed at the center of the footer.</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="right" default="" type="xs:string">
                        <xs:annotation>
                            <xs:documentation>
                                <p>The value displayed at the right of the footer.</p>
                            </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="objectKey" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the header/footer definition.

                        <b>Info:</b>
                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="page" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The page headers/footers shall be defined for.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="color" type="RgbColorType">
            <xs:annotation>
                <xs:documentation>
                    <p>The text of headers and footers color.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="FontType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a font format for a displayable page content.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="underline" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>When set to true, the text shall be underlined.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="size" default="10" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>The size of the font.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The name of the used font.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="MarginType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a margin for a displayble page content.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="left" default="0" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>The left margin in points.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="right" default="0" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>The right margin in points.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="top" default="0" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>The top margin in points.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="bottom" default="0" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>The bottom margin in points.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:simpleType name="TransitionStyleType">
        <xs:annotation>
            <xs:documentation>
                <p>The style of transition animation.
                    <ul>
                        <li>blinds = Crossfades</li>
                        <li>box = Crossfades in a rectangular pattern</li>
                        <li>cover = Covers</li>
                        <li>dissolve = Dissolves</li>
                        <li>fade = Fades</li>
                        <li>fly = Page flies in</li>
                        <li>glitter = Page dissolves and is replaced</li>
                        <li>push = Page is pushed out</li>
                        <li>split = Splits page</li>
                        <li>uncover = Uncovers page</li>
                        <li>wipe = Wipes page</li>
                        <li>none = No special effect</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="blinds" />
            <xs:enumeration value="box" />
            <xs:enumeration value="cover" />
            <xs:enumeration value="dissolve" />
            <xs:enumeration value="fade" />
            <xs:enumeration value="fly" />
            <xs:enumeration value="glitter" />
            <xs:enumeration value="push" />
            <xs:enumeration value="split" />
            <xs:enumeration value="uncover" />
            <xs:enumeration value="wipe" />
            <xs:enumeration value="none" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TransitionDirection">
        <xs:annotation>
            <xs:documentation>
                <p>The direction of the transition animation (provided that it can be applied to the animation).
                    <ul>
                        <li>leftToRight = From left to right</li>
                        <li>bottomToTop = From bottom to top</li>
                        <li>rightToLeft = From right to left</li>
                        <li>topToBottom = From top to bottom</li>
                        <li>topLeftToBottomRight = From top left to bottom right</li>
                        <li>none = Use the default value for the animation</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="leftToRight" />
            <xs:enumeration value="bottomToTop" />
            <xs:enumeration value="rightToLeft" />
            <xs:enumeration value="topToBottom" />
            <xs:enumeration value="topLeftToBottomRight" />
            <xs:enumeration value="none" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="DrawStyleType">
        <xs:annotation>
            <xs:documentation>
                <p>Selects the draw style of an drawable shape.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="drawMode" default="stroke" type="DrawModeType">
            <xs:annotation>
                <xs:documentation>
                    <p>Selects the draw style of an drawable shape.
                        <ul>
                            <li>fill = fill the shape</li>
                            <li>stroke = draw the outlines of the shape</li>
                            <li>fillAndStroke = draw the outlines and fill the shape</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="TransitionType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a page transition for the full screen mode of the document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="objectKey" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the transition definition.

                        <b>Info:</b>
                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="page" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The page a transition shall be defined for.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="autoScroll" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>Whether or not the page is automatically flipped after a short period.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="flyScale" default="1" type="xs:float">
            <xs:annotation>
                <xs:documentation>
                    <p>For a fly animation, this determines the initial scale of the page, when flying in.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="flyAreaOpaque" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>For a fly animation, this determines whether or not the opacity shall stay constantly opaque during the animation.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="duration" default="1">
            <xs:annotation>
                <xs:documentation>
                    <p>Selects the duration in seconds, that the animation shall be played for.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:float">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="style" default="none" type="TransitionStyleType">
            <xs:annotation>
                <xs:documentation>
                    <p>The style of transition animation.
                        <ul>
                            <li>blinds = Crossfades</li>
                            <li>box = Crossfades in a rectangular pattern</li>
                            <li>cover = Covers</li>
                            <li>dissolve = Dissolves</li>
                            <li>fade = Fades</li>
                            <li>fly = Page flies in</li>
                            <li>glitter = Page dissolves and is replaced</li>
                            <li>push = Page is pushed out</li>
                            <li>split = Splits page</li>
                            <li>uncover = Uncovers page</li>
                            <li>wipe = Wipes page</li>
                            <li>none = No special effect</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="direction" default="none" type="TransitionDirection">
            <xs:annotation>
                <xs:documentation>
                    <p>The direction of the transition animation (provided that it can be applied to the animation).
                        <ul>
                            <li>leftToRight = From left to right</li>
                            <li>bottomToTop = From bottom to top</li>
                            <li>rightToLeft = From right to left</li>
                            <li>topToBottom = From top to bottom</li>
                            <li>topLeftToBottomRight = From top left to bottom right</li>
                            <li>none = Use the default value for the animation</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="ImageType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines an image resource of a PDF document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="objectKey" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the image resource definition.

                        <b>Info:</b>
                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="width" default="0" type="xs:int">
            <xs:annotation>
                <xs:documentation>
                    <p>The width of the image in points.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="height" default="0" type="xs:int">
            <xs:annotation>
                <xs:documentation>
                    <p>The height of the image in points.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="suffix" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>Returns the file type suffix of the image. (This suffix depends on the used image encoding and therefore is highly reliable.)</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="page" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The number of the page containing the image resource.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="bitsPerComponent" default="0">
            <xs:annotation>
                <xs:documentation>
                    <p>The number of bits used to encode one color component.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="0" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="FormValueStyle">
        <xs:annotation>
            <xs:documentation>
                <p>Selects parameters for the handling of a form fields values.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="export" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The exportable value.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="display" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The displayable value.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="isDefault" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>True, if the given value is the default of the connected form field.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="FolderType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a folder for a PDF collection (portfolio).</p>
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="sort" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        <p xmlns="http://schema.webpdf.de/1.0/extraction/info">Lists the collection items of this folder.</p>
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="entry" type="AttachmentSortEntryType" minOccurs="0" maxOccurs="unbounded" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="id" default="0" type="xs:int">
            <xs:annotation>
                <xs:documentation>
                    <p>The numeric folder ID of the portfolio folder.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The name of the folder.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="path" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The path the folder is positioned at.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="creationDate" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The date of the folder's creation.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="modificationDate" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The date of the last modification of the folder.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="AnnotationRectangleType">
        <xs:annotation>
            <xs:documentation>
                <p>An upright rectangle positioning the annotation on the page.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="RectangleType" />
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AnnotationPointType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines one Point of the shape positioning the annotation on the page.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="PointType" />
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ViewerPreferencesType">
        <xs:annotation>
            <xs:documentation>
                <p>Lists a set of further settings and definitions, that a Reader may honor, when displaying the document.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="hideToolbar" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>The Reader's toolbars shall be hidden, when opening the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="hideMenuBar" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>The Reader's menu bar shall be hidden, when opening the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="hideWindowUI" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>The Reader's navigation controls (such as scrollbars) shall be hidden, when opening the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="fitWindow" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>The dimensions of the Reader's window shall adapt to the first displayed page of the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="centerWindow" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>The Reader's window shall be positioned at the center of the screen, when opening the document.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="displayDocTitle" default="false" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>Instead of the file name the reader shall display the title of the document in it's title bar.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="nonFullScreenPageMode" default="none" type="NonFullScreenPageModeType">
            <xs:annotation>
                <xs:documentation>
                    <p>When displaying the document in windowed mode, the Reader shall show the selected panel.
                        <ul>
                            <li>none = No panel shall be opened.</li>
                            <li>outlines = The document's outlines shall be displayed.</li>
                            <li>thumbnails = The document's page thumbnails shall be shown.</li>
                            <li>optionalContents = document's layers (OCGs - Optional Content Groups) shall be displayed.</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="textDirection" default="leftToRight" type="TextDirectionType">
            <xs:annotation>
                <xs:documentation>
                    <p>Selects the predominant document's text writing/reading direction.
                        <ul>
                            <li>leftToRight or</li>
                            <li>rightToLeft</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="viewArea" default="cropBox" type="BoxSelectionType">
            <xs:annotation>
                <xs:documentation>
                    <p>Selects the visible box, when displaying the document.
                        <ul>
                            <li>media_box = The page's physical dimensions.</li>
                            <li>crop_box = The visible (printable) page area.</li>
                            <li>bleed_box = Untrimmed content position on the page (content dimensions plus trim box).</li>
                            <li>trim_box = Trimmed content position on the page (final content dimensions).</li>
                            <li>art_box = Position for special page content (images).</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="viewClip" default="cropBox" type="BoxSelectionType">
            <xs:annotation>
                <xs:documentation>
                    <p>Selects the box contents shall be cropped at, when displaying the document.
                        <ul>
                            <li>media_box = The page's physical dimensions.</li>
                            <li>crop_box = The visible (printable) page area.</li>
                            <li>bleed_box = Untrimmed content position on the page (content dimensions plus trim box).</li>
                            <li>trim_box = Trimmed content position on the page (final content dimensions).</li>
                            <li>art_box = Position for special page content (images).</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="printArea" default="cropBox" type="BoxSelectionType">
            <xs:annotation>
                <xs:documentation>
                    <p>Selects the visible box, when printing the document.
                        <ul>
                            <li>media_box = The page's physical dimensions.</li>
                            <li>crop_box = The visible (printable) page area.</li>
                            <li>bleed_box = Untrimmed content position on the page (content dimensions plus trim box).</li>
                            <li>trim_box = Trimmed content position on the page (final content dimensions).</li>
                            <li>art_box = Position for special page content (images).</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="printClip" default="cropBox" type="BoxSelectionType">
            <xs:annotation>
                <xs:documentation>
                    <p>Selects the box contents shall be cropped at, when printing the document.
                        <ul>
                            <li>media_box = The page's physical dimensions.</li>
                            <li>crop_box = The visible (printable) page area.</li>
                            <li>bleed_box = Untrimmed content position on the page (content dimensions plus trim box).</li>
                            <li>trim_box = Trimmed content position on the page (final content dimensions).</li>
                            <li>art_box = Position for special page content (images).</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="printScaling" default="readerDefault" type="PrintScaleType">
            <xs:annotation>
                <xs:documentation>
                    <p>The print scaling initially suggested when opening the Reader's print dialog.
                        <ul>
                            <li>readerDefault = The Reader shall use it's default suggestion.</li>
                            <li>byPDFSize = The Reader shall suggest to not scale the document during printing.</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="duplex" default="none" type="DuplexType">
            <xs:annotation>
                <xs:documentation>
                    <p>The duplex settings initially suggested when opening the Reader's print dialog.
                        <ul>
                            <li>none = The Reader shall use it's default suggestion.</li>
                            <li>simplex = The Reader shall suggest simplex printing.</li>
                            <li>duplexFlipShortEdge = The Reader shall suggest duplex printing, flipping pages over the shorter edge.</li>
                            <li>duplexFlipLongEdge = The Reader shall suggest duplex printing, flipping pages over the longer edge.</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="printTraySelection" default="readerDefault" type="PrintTraySelectionType">
            <xs:annotation>
                <xs:documentation>
                    <p>The print tray selection initially suggested when opening the Reader's print dialog.
                        <ul>
                            <li>readerDefault = The Reader shall use it's default suggestion.</li>
                            <li>byPDFSize = The Reader shall select a print tray, that matches the PDF's page dimensions.</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="printPageRange" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>Selects the page range, that shall initially be suggested for printing, when opening the Reader's print dialog.

                        The page number can be an individual page, a page range, or a list (separated with commas) (e.g., "1,5-6,9"). To specify "all pages," use an asterisk ("*").
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="numCopies" default="1">
            <xs:annotation>
                <xs:documentation>
                    <p>The number of copies initially suggested, when opening the Reader's print dialog.</p>
                </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:int">
                    <xs:minInclusive value="1" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:simpleType name="NonFullScreenPageModeType">
        <xs:annotation>
            <xs:documentation>
                <p>When displaying a document in windowed mode, the Reader shall show the selected panel.
                    <ul>
                        <li>none = No panel shall be opened.</li>
                        <li>outlines = The document's outlines shall be displayed.</li>
                        <li>thumbnails = The document's page thumbnails shall be shown.</li>
                        <li>optionalContents = document's layers (OCGs - Optional Content Groups) shall be displayed.</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="none" />
            <xs:enumeration value="outlines" />
            <xs:enumeration value="thumbnails" />
            <xs:enumeration value="optionalContents" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TextDirectionType">
        <xs:annotation>
            <xs:documentation>
                <p>Selects the predominant document's text writing/reading direction.
                    <ul>
                        <li>leftToRight or</li>
                        <li>rightToLeft</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="leftToRight" />
            <xs:enumeration value="rightToLeft" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DuplexType">
        <xs:annotation>
            <xs:documentation>
                <p>The duplex settings initially suggested when opening the Reader's print dialog.
                    <ul>
                        <li>none = The Reader shall use it's default suggestion.</li>
                        <li>simplex = The Reader shall suggest simplex printing.</li>
                        <li>duplexFlipShortEdge = The Reader shall suggest duplex printing, flipping pages over the shorter edge.</li>
                        <li>duplexFlipLongEdge = The Reader shall suggest duplex printing, flipping pages over the longer edge.</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="none" />
            <xs:enumeration value="simplex" />
            <xs:enumeration value="duplexFlipShortEdge" />
            <xs:enumeration value="duplexFlipLongEdge" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="PrintTraySelectionType">
        <xs:annotation>
            <xs:documentation>
                <p>The print tray selection initially suggested when opening the Reader's print dialog.
                    <ul>
                        <li>readerDefault = The Reader shall use it's default suggestion.</li>
                        <li>byPDFSize = The Reader shall select a print tray, that matches the PDF's page dimensions.</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="readerDefault" />
            <xs:enumeration value="byPDFSize" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="PrintScaleType">
        <xs:annotation>
            <xs:documentation>
                <p>The print scaling initially suggested when opening the Reader's print dialog.
                    <ul>
                        <li>readerDefault = The Reader shall use it's default suggestion.</li>
                        <li>byPDFSize = The Reader shall suggest to not scale the document during printing.</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="readerDefault" />
            <xs:enumeration value="noPrintScaling" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="BoxSelectionType">
        <xs:annotation>
            <xs:documentation>
                <p>Selects the visible box, when displaying the document.
                    <ul>
                        <li>media_box = The page's physical dimensions.</li>
                        <li>crop_box = The visible (printable) page area.</li>
                        <li>bleed_box = Untrimmed content position on the page (content dimensions plus trim box).</li>
                        <li>trim_box = Trimmed content position on the page (final content dimensions).</li>
                        <li>art_box = Position for special page content (images).</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="mediaBox" />
            <xs:enumeration value="cropBox" />
            <xs:enumeration value="bleedBox" />
            <xs:enumeration value="trimBox" />
            <xs:enumeration value="artBox" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DrawModeType">
        <xs:annotation>
            <xs:documentation>
                <p>Selects the draw style of an drawable shape.
                    <ul>
                        <li>fill = fill the shape</li>
                        <li>stroke = draw the outlines of the shape</li>
                        <li>fillAndStroke = draw the outlines and fill the shape</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="fill" />
            <xs:enumeration value="stroke" />
            <xs:enumeration value="fillAndStroke" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="BaseRelationType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines some sort of relation to another annotation with the given ID.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="objectID" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The object ID of the annotation.

                        <b>Info:</b>
                        A PDF object ID consists of two numbers, where the first number selects the object's number and the second the "generation" of the object. The object ID shall always be unique within the context of the document and can be used to select a specific object.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="GroupRelationType">
        <xs:annotation>
            <xs:documentation>
                <p>Group with the selected annotation.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseRelationType" />
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="MarkRelationType">
        <xs:annotation>
            <xs:documentation>
                <p>Change the marked state of the selected annotation.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseRelationType">
                <xs:attribute name="marked" default="false" type="xs:boolean">
                    <xs:annotation>
                        <xs:documentation>
                            <p>If this is set to true, the selected annotation has been marked, otherwise it has been unmarked.</p>
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CommentRelationType">
        <xs:annotation>
            <xs:documentation>
                <p>Adds a textual comment to the selected annotation.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseRelationType">
                <xs:attribute name="comment" default="" type="xs:string">
                    <xs:annotation>
                        <xs:documentation>
                            <p>The textual comment to add.</p>
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ReplyStateRelationType">
        <xs:annotation>
            <xs:documentation>
                <p>Changes the reply state of the selected annotation.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseRelationType">
                <xs:attribute name="state" default="none" type="ReplyStateType">
                    <xs:annotation>
                        <xs:documentation>
                            <p>The set reply state of the commented annotation.
                                <ul>
                                    <li>accepted = The user agrees with the change.</li>
                                    <li>rejected = The user disagrees with the change.</li>
                                    <li>cancelled = The change has been cancelled.</li>
                                    <li>completed = The change has been completed.</li>
                                    <li>none = The user did not set a state.</li>
                                </ul>
                            </p>
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:simpleType name="ReplyStateType">
        <xs:annotation>
            <xs:documentation>
                <p>The set reply state of a commented annotation.
                    <ul>
                        <li>accepted = The user agrees with the change.</li>
                        <li>rejected = The user disagrees with the change.</li>
                        <li>cancelled = The change has been cancelled.</li>
                        <li>completed = The change has been completed.</li>
                        <li>none = The user did not set a state.</li>
                    </ul>
                </p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="accepted" />
            <xs:enumeration value="rejected" />
            <xs:enumeration value="cancelled" />
            <xs:enumeration value="completed" />
            <xs:enumeration value="none" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="FieldAnnotationType">
        <xs:annotation>
            <xs:documentation>Defines a set of attributes for field annotations.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="signature" type="SignatureType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Relates this field to a signature. Should this element be present, the annotation is representing a signature.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="name" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The partial name of the annotation´s field.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="mappingName" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The mapping name of the annotation´s field.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="alternateName" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The alternate name of the annotation´s field.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>Indicates the type of the annotation´s field.
                        <ul>
                            <li>Btn = Button</li>
                            <li>Tx = Textfield</li>
                            <li>Ch = Choicefield</li>
                            <li>Sig = Signaturefield</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:simpleType name="SchemaValueType">
        <xs:annotation>
            <xs:documentation>
                <p>The type of the sort schemas value.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="string" />
            <xs:enumeration value="date" />
            <xs:enumeration value="number" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="SchemaEntryType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a sort schema for a PDF collection (portfolio).</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="key" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The key of the sort schema.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The name of the sort schema.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" default="string" type="SchemaValueType">
            <xs:annotation>
                <xs:documentation>
                    <p xmlns="">
                        Used to specify the value contained in the value.
                        <ul>
                            <li>string = The value contains a string content.</li>
                            <li>date = The value contains a date content in the ASN.1 (Abstract Syntax Notation One) format: D:YYYYMMDDHHmmSSOHH'mm</li>
                            <li>number = The text contains a number.</li>
                        </ul>
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="order" default="0" type="xs:int">
            <xs:annotation>
                <xs:documentation>
                    <p>The order number of the sort schema.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="visible" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>If this sort schema shall be visible in views.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="SchemaSortEntryType">
        <xs:annotation>
            <xs:documentation>
                <p>Defines a sort entry for a PDF collection (portfolio).</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="key" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The key of the sort entry.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ascending" default="true" type="xs:boolean">
            <xs:annotation>
                <xs:documentation>
                    <p>Whether sorting should be in ascending or descending order.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="AttachmentSortEntryType">
        <xs:annotation>
            <xs:documentation>
                <p xmlns="http://schema.webpdf.de/1.0/extraction/info">Defines a collection item for an attachment or folder.</p>
            </xs:documentation>
        </xs:annotation>
        <xs:attribute name="key" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The key of the collection item.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="value" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p>The value of the collection item.</p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="prefix" default="" type="xs:string">
            <xs:annotation>
                <xs:documentation>
                    <p xmlns="">
                        An optional prefix that (if not empty) shall precede the value in a viewer. This however shall not influence the order of this entry during sorting and otherwise behaves neutral.
                    </p>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
</xs:schema>