<?xml version="1.0" encoding="UTF-8"?>
<xs:schema version="1.0"
  
  xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="Annotation" type="Annotation"/>
  <xs:element name="Annotations" type="Annotations"/>
  <xs:element name="AttachmentAnnotation" type="AttachmentAnnotation"/>
  <xs:element name="Attachment" type="Attachment"/>
  <xs:element name="Attachments" type="Attachments"/>
  <xs:element name="Authentication" type="Authentication"/>
  <xs:element name="Authorizer" type="Authorizer"/>
  <xs:element name="BookmarkAction" type="BookmarkAction"/>
  <xs:element name="Bookmark" type="Bookmark"/>
  <xs:element name="OverlayCompareOptions" type="OverlayCompareOptions"/>
  <xs:element name="ContentProvider" type="ContentProvider"/>
  <xs:element name="DigitalID" type="DigitalID"/>
  <xs:element name="DocumentInfo" type="DocumentInfo"/>
  <xs:element name="Document" type="Document"/>
  <xs:element name="Field" type="Field"/>
  <xs:element name="Fields" type="Fields"/>
  <xs:element name="File" type="File"/>
  <xs:element name="Folder" type="Folder"/>
  <xs:element name="GoToPage" type="GoToPage"/>
  <xs:element name="GoToURL" type="GoToURL"/>
  <xs:element name="ImageHandler" type="ImageHandler"/>
  <xs:element name="Link" type="Link"/>
  <xs:element name="OptimizeProfile" type="OptimizeProfile"/>
  <xs:element name="OptimizeProfiles" type="OptimizeProfiles"/>
  <xs:element name="PDFPermissions" type="PDFPermissions"/>
  <xs:element name="Page" type="Page"/>
  <xs:element name="Pages" type="Pages"/>
  <xs:element name="PasswordPermissions" type="PasswordPermissions"/>
  <xs:element name="Permissions" type="Permissions"/>
  <xs:element name="PreflightInformation" type="PreflightInformation"/>
  <xs:element name="PreflightResultRecord" type="PreflightResultRecord"/>
  <xs:element name="PreflightResults" type="PreflightResults"/>
  <xs:element name="Rectangle" type="Rectangle"/>
  <xs:element name="Redaction" type="Redaction"/>
  <xs:element name="SignatureField" type="SignatureField"/>
  <xs:element name="SignatureFields" type="SignatureFields"/>
  <xs:element name="SignatureValidity" type="SignatureValidity"/>
  <xs:element name="WebApplicationException" type="WebApplicationException"/>
  <xs:element name="Widget" type="Widget"/>
  <xs:element name="AddImageAction" type="AddImageAction"/>
  <xs:element name="AddTextAction" type="AddTextAction"/>
  <xs:element name="ApplyRedactionsAction" type="ApplyRedactionsAction"/>
  <xs:element name="CompareAction" type="CompareAction"/>
  <xs:element name="CopyAction" type="CopyAction"/>
  <xs:element name="FlattenAnnotationsAction" type="FlattenAnnotationsAction"/>
  <xs:element name="FlattenFieldsAction" type="FlattenFieldsAction"/>
  <xs:element name="ImageStampAction" type="ImageStampAction"/>
  <xs:element name="InsertAttachedPagesAction" type="InsertAttachedPagesAction"/>
  <xs:element name="InsertUploadedPagesAction" type="InsertUploadedPagesAction"/>
  <xs:element name="LinearizeAction" type="LinearizeAction"/>
  <xs:element name="NewDocumentAction" type="NewDocumentAction"/>
  <xs:element name="NewPageAction" type="NewPageAction"/>
  <xs:element name="OCRAction" type="OCRAction"/>
  <xs:element name="OptimizeAction" type="OptimizeAction"/>
  <xs:element name="PDFAConvertAction" type="PDFAConvertAction"/>
  <xs:element name="PageOrderAction" type="PageOrderAction"/>
  <xs:element name="ResizePageAction" type="ResizePageAction"/>
  <xs:element name="RotatePageAction" type="RotatePageAction"/>
  <xs:element name="TextStampAction" type="TextStampAction"/>
  <xs:element name="Point" type="Point"/>
<xs:complexType name="Annotation">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An annotation in the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="link" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The link to this annotation.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The annotation name, a text string uniquely identifying it among all the annotations on its page.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="contents" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The contents associated with the annotation.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="creator" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The annotation's creator.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="modifiedDate" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The date when the annotation was most recently modified. (ISO-8601 format)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="subject" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The annotation's subject.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="subtype" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The annotation's subtype.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="rectangle" type="Rectangle" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The annotation's bounds.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pageIndex" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index of the page that contains the annotation.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Annotations">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[All annotations in the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="annotations" type="Annotation" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The list of annotations in the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="link" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the annotations.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="content" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the annotations content.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="AttachmentAnnotation">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An attachment annotation in the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="Annotation">
      <xs:sequence>
              <xs:element name="attachment" type="Attachment" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The embedded file. This should be left empty when creating a new attachment annotation.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="Attachment">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A single attachment in the PDF Document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="fileName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The attachment file name.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="size" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The size of the file content in bytes.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="creationDate" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The date and time when the attachment was created.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="modDate" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The date and time when the attachment was last modified.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The description string from the attachment.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="relationship" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The relationship of the attachment to the PDF document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="link" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to this attachment.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="content" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the attachment's content.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Attachments">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[All attachments in the PDF Document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="attachments" type="Attachment" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A list of all attachments in the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="link" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the attachments.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Authentication">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Authentication credentials for creating a session.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="authorization" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The base64 encoded authorization.  This is the same value you would include in an authorization header.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Authorizer">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Information about the content provider.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="name" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the Authorizer.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Brief description of this Authorizer.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="authRequired" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if the authorization is required.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="BookmarkAction" abstract="true">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[The action for this Bookmark.
BookmarkActionModel is abstract and should not be used.  Instead, use one of its subclasses: GoToPageModel, GoToURLModel.]]>
    </xs:documentation>
  </xs:annotation>
 </xs:complexType>

<xs:complexType name="Bookmark">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[The Bookmarks in a PDF document. A bookmark is essentially a node
on a tree that has a list of actions associated with it and a number of children.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="title" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="children" type="Bookmark" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
              <xs:element name="actions" type="BookmarkAction" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
              <xs:element name="isOpen" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="style" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="color" type="xs:string" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="OverlayCompareOptions">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[The options to use when adding a PDFDocument as a layer to a comparison
document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="layerName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The layer name used for the CompareOptions.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="color" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The color used for the CompareOptions when converting the PDF content.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="scaleX" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The X scale value used for positioning the PDF content. Default is 1.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="scaleY" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The Y scale value used for positioning the PDF content. Default is 1.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="x" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The X translate coordinate used for positioning the PDF content. Default
is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="y" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The Y translate coordinate used for positioning the PDF content. Default
is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="rotation" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The rotation value used for positioning the PDF content. Default is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="ContentProvider">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Information about the content provider.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="name" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the content provider.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="authorizationRequired" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if the authorization is required.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="DigitalID">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A digital ID used to sign a signature field in the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="keystorePassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The password to the keystore.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="keyAlias" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The alias to sign with.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="keyPassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The password corresponding to the alias.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signReason" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The reason for the signing, such as ( I agree, I am the author, I approve, I have reviewed, I attest to the accuracy...).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signLocation" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The CPU host name or physical location of the signing.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signContactInformation" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Information provided by the signer to enable a recipient to contact the signer to verify the signature; for example, a phone number.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="certifyingSignature" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Set to true for a certifying/DocMDP signature. Defaults to false.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="certifyingPermissions" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This property is meaningful only if certifyingSignature is set to true. It is an integer representing the DocMDP Permissions.
Valid values are: 1-No Changes, 2-Form fill & Signing, 3-Form fill & Signing & Comments. Defaults to 2.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="format" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The format of the digital signature.  Valid values are : 0-PKCS7, 1-PAdES.  Defaults to 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="DocumentInfo">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Information about a document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="author" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's author.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="creationDate" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The date the document was created. (ISO-8601 format)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="creator" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's creator.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="modDate" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The date the document was last modified. (ISO-8601 format)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pageCount" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The number of pages in the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="producer" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's producer.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="subject" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's subject.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="title" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The title of the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="keywords" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's keywords.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Document">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A PDF document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="File">
      <xs:sequence>
              <xs:element name="author" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's author.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="creationDate" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The date the document was created. (ISO-8601 format)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="creator" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's creator.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="keywords" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's keywords.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="modDate" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The date the document was last modified. (ISO-8601 format)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pageCount" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The number of pages in the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="producer" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's producer.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="subject" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's subject.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="title" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The title of the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="linearized" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if the document is linearized.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="encrypted" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if the document is encrypted.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="encryption" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The encryption algorithm and length.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="content" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the document's content.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pages" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the document's pages.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="annotations" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the document's annotations.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="bookmarks" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the document's bookmarks.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="attachments" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the document's attachments.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fields" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the document's fields.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signatureFields" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the document's signature fields.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="allPermissions" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the document's pdf permissions.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="passwordPermissions" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the document's password permissions.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pageMode" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The value of the page mode viewer preference in the document. The
page mode is used when the document is opened in a PDF viewer.

This value can either be null or one of:<br>
PAGEMODE_USENONE: Neither document outline nor thumbnail images are
visible.<br>
PAGEMODE_USEOUTLINES: Document outline visible.<br>
PAGEMODE_USETHUMBS: Thumbnail images visible.<br>
PAGEMODE_FULLSCREEN: Full screen mode, with no menu bar, window controls,
or any other window visible.<br>
PAGEMODE_USEOC: Optional content group panel visible (PDF 1.5 and up).<br>
PAGEMODE_USEATTACHMENTS: Attachments panel visible (PDF 1.6 and up).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="Field">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A field in the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="name" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the field.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="type" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A description of the field type.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="userName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The field's user name.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="widgetCount" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The number of widgets associated with this field.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="widget" type="Widget" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The widgets associated with this field.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Fields">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[All fields in the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="fields" type="Field" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A list of all fields in the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="link" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the fields.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="content" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the fields content.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="File" abstract="true">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A File (folder or normal file).]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="path" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The path to this file.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="link" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The link to this file.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="bytes" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The size of the file in bytes.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Folder">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A folder.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="File">
      <xs:sequence>
              <xs:element name="children" type="File" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An array of sub folders and documents in this folder.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="GoToPage">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[The GotoPageAction. A GotoPageAction can be used to
position the display a page in a PDF document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="BookmarkAction">
      <xs:sequence>
              <xs:element name="zoomMode" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Returns the zoom mode. The mode tells the viewer how to set the scale
after setting the target page. There are values to tell the viewer to fit
to width, fit to height, etc.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pageIndex" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index of the page to open.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="scale" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Returns the scale, the value of the scale that the viewer will use after
setting the page. If this value is 0, the viewer will not change the
current scale.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="x" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Returns the x coordinate of the GotoPageAction. When a viewer goes to the
target page, it will use this value for the view's x position.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="y" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Returns the y coordinate of the GotoPageAction. When a viewer goes to the
target page, it will use this value for the view's y position.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="type" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The type of Action. This will be "GoTo" for this action.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="GoToURL">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[The GoToURLAction. A GoToURLAction can be used to open a
URL.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="BookmarkAction">
      <xs:sequence>
              <xs:element name="type" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The type of Action. This will be "URI" for this action.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="url" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The URL to open.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="ImageHandler">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An image handler in the optimize settings that controls the output images.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="compression" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An integer representing the type of compression to use for the output image.  0-Retain current compression, 1-JPEG compression, 2-JPEG2000 compression, 3-JBIG2 compression, 4-Flate compression.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="colorSpace" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An integer representing the color space for output images.  0-Retain current color space, 1-RGB, 2-Gray, 3-CMYK, 4-Black & White.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="dpi" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The maximum resolution for output images (dots per inch).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="jpegQuality" type="xs:float" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The quality of output images when the JPEG or JPEG2000 compression is used.  The value must be between 0 and 1.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Link">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A link to a resource.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="rel" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The link's relationship.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="href" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The link's destination.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="OptimizeProfile">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A profile for optimizing.  It includes a profile name and the associated Optimize Settings.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="profileName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the optimize settings profile.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="clearSignature" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if signatures will be cleared during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardAltImages" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if alternate images will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardAnnotations" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if annotations will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardBookmarks" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if bookmarks will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardDocumentInfo" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if document info will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardFileAttachments" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if file attachments will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardFormFields" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if form fields will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardJSActions" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if JavaScript actions will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardLinks" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if links will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardPageThumbnails" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if page thumbnails will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardUnusedResources" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if unused resources will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="discardXMPMetadata" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if XMP Metadata will be discarded during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="flateUncompressedStreams" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if uncompressed streams will be compressed during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="flattenAnnotations" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if annotations will be flattened during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="flattenFormFields" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if fields will be flattened during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="linearize" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if the document will be linearized during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="mergeDuplicateFonts" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if duplicate fonts will be merged during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="mergeDuplicateImages" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if duplicate images will be merged during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="compressObjectsIntoStreams" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if objects will be compressed into object streams during optimization.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="colorImageHandler" type="ImageHandler" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The image handler to be used for color images.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="grayImageHandler" type="ImageHandler" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The image handler to be used for gray images.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="bwImageHandler" type="ImageHandler" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The image handler to be used for black and white images.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="OptimizeProfiles">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[All available optimization profiles.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="optimizeProfiles" type="OptimizeProfile" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The list of available optimization profiles.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="PDFPermissions">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[All permissions in the PDF Document including password permissions, DocMDP permissions, usage rights, and signature permissions.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="passwordPermissions" type="Permissions" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's password permissions.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="docMDPPermissions" type="Permissions" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The DocMDP permissions in the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="usageRightsPermissions" type="Permissions" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's usage rights.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signaturePermissions" type="Permissions" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's signature permissions.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Page">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A page in the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="width" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The width of the page in points (72 DPI). Default value is 612.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="height" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The height of the page in points (72 DPI). Default value is 792.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="index" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index of the page in the document. Default value is -1.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="annotationCount" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The number of annotations on the page.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="link" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the page.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="rotation" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The rotation of the page in degrees.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="mediaBox" type="Rectangle" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The media box for the page.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="cropBox" type="Rectangle" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The crop box for the page.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Pages">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[All pages in the PDF Document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="pageCount" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The number of pages in the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pages" type="Page" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A list of all pages in the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="link" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the pages.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="content" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the pages content.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="text" type="Link" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Link to the pages text.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="PasswordPermissions">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Permissions for operating on the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="Permissions">
      <xs:sequence>
              <xs:element name="permissionsPassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's permissions password.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="openPassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The document's open password.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="encryptType" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An integer representing the type of encryption to use. Valid values are: 0-RC4 128, 1-AES 128, 2-RC4 40, 3-AES 256 (This is only available if the Java JVM provides unlimited strength encryption.)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="Permissions">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Permissions for operating on the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="assembleDocumentAllowed" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True of document assembly is allowed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="changeDocumentAllowed" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if changing the document is allowed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="extractTextAllowed" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if text extraction is allowed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="extractTextForAccessibilityAllowed" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if extracting text for accessibility is allowed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fillFormFieldsAllowed" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if filling form fields is allowed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="modifyAnnotationsAllowed" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if modifying annotations is allowed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="printAllowed" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if printing is allowed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="printHighResolutionAllowed" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if printing in high resolution is allowed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="PreflightInformation">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Information about the preflight process.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="profile" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the profile that was run.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pasVersion" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The version of the preflight engine.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="date" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The date and time that the preflight was run. (ISO-8601 format)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="duration" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The duration of the preflight run.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="PreflightResultRecord">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This object holds information about an issue found in the document.  The information
includes a header or short name, a detail string and the page number where the issue
happened.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="rectangle" type="Rectangle" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The bounds for which the result record was created.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="detail" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The detailed information about this result.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="header" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A short string about the result.  The intent is to use this
in a list.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pageNumber" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The page number for which the result record was created.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="PreflightResults">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[All preflight result records.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="resultRecords" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A list of result records categorized by their headers.]]>
                </xs:documentation>
              </xs:annotation>
  <xs:complexType>
    <xs:sequence>
      <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="key" minOccurs="1" type="xs:string"/>
            <xs:element name="value" minOccurs="1" type="xs:anyType"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
              </xs:element>
              <xs:element name="preflightInfo" type="PreflightInformation" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Information about the preflight run that created the results.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="documentInfo" type="DocumentInfo" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Information for the document that was preflighted.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Rectangle">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A component's boundaries within a page in a PDF document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="x" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The rectangle's upper left x coordinate.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="y" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The rectangle's upper left y coordinate.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="width" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The rectangle's width.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="height" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The rectangle's height.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Redaction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Redaction is used to specify the text to redact along with the properties of the redaction annotation before it is flattened and the resulting redaction.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="searchText" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The text to search for and redact.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="wholeWords" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Search for whole words only.  The default value is false.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="caseSensitive" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Search for only words that match the case of the searchText. The default value is false.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="outlineColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The annotation outline color.  The default color is red.  This can be in the format of an html predefined color name (ie Aquamarine), a hex string (ie #7FFFD4), an rgb string (ie rgb(127,255,212)), or as an int string (ie 8388564).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fillColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The annotation fill color.  There is no fill by default.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transparency" type="xs:float" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The annotation transparency as a value between 0 and 1 with 0 being opaque and 1 being completely transparent.  The default value is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="overlayFillColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The overlay fill color.  The default color is black.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="overlayTextColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The overlay text color. The default color is white.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="overlayText" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The overlay text that should be drawn over the redacted region.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="overlayFontName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the overlay text Font.
<p>
The supported fonts are Helvetica, Helvetica-Bold, Helvetica-Oblique,
Helvetica-BoldOblique, Courier, Courier-Bold, Courier-Oblique,
Courier-BoldOblique, Times-Roman, Times-Bold, Times-Italic,
Times-BoldItalic.
<p>
The default font is Helvetica.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="overlayFontSize" type="xs:float" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The size of the overlay font.
If the size is 0, then the text will be resized to fill the redacted region.
The default font size is 12.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="overlayAlignment" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The overlay text horizontal alignment.  Must be one of 0 (left), 1 (center), or 2 (right).  0 is the default value.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="overlayRepeat" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The flag that determines if the overlay text will repeat to fill the redacted region.
The default value is false.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="SignatureField">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A signature field in the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="Field">
      <xs:sequence>
              <xs:element name="signName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The signature name.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signLocation" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The signature location.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signReason" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The reason for signing.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signContactInformation" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Information provided by the signer to enable a recipient to contact the signer to verify the signature; for example, a phone number.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signDateTime" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The date and time of the signature. (ISO-8601 format)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signed" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if the field contains a signature.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="certifying" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[True if this is a certifying signature.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fieldName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the field.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signatureValidity" type="SignatureValidity" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The signature validity information associated with the signature (will be empty if the field is not signed).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="SignatureFields">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[All signature fields in the PDF document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="signatureFields" type="SignatureField" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A list of signature fields in the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="SignatureValidity">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Signature validity information associated with a signed signature field.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="validSignatureObject" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether the signature object was readable. If there
are any errors reading the signature object, this flag is set to false.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validSignatureHash" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether the stored signature hash matches the
calculated signature hash.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validRevocationList" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates the status of the revocation list validity. When this
is false, at least one of the certificates in the certificate chain has
been revoked.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validExpiration" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether the start and expiration dates on the
signature are valid and within range.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validCertificateChain" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates the validity of the certificate chain.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="trustedChain" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether the chain of certificates in the signature
starts with a certificate from a trusted certificate authority (CA).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="contentAppended" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates if there has been any content appended to this PDF.
If content has been appended, the signature does not cover the additional
content, but might still be valid for the original content, if it has not
been modified.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validByteRange" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether the byte range in the signature covers the
entire file, including the signature dictionary but excluding the
signature value itself.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="documentReconstructed" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether there was a problem reading the xref table
that resulted in the document being reconstructed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="documentTimestamp" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether this signature is a document timestamp.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="tsaTimestamp" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether the signature has a timestamp from a
timestamp authority.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validTimestampToken" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether a timestamp token is valid, when present.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validTimestampCertificate" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether the certificate of the timestamp token is
valid, when present.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="tsaTrustedChain" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether the TSA certificate chain is trusted.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validPadesCertificate" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates if this is a PAdES signature and the certificate is
valid OR if this is not a PAdES signature. False if it's a PAdES
signature with an invalid certificate.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validKeyUsage" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag that indicates whether the key usage is valid. It is set to true
when the KU field allows for signing documents.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validityText" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A textual description of the state of the signature. This method looks at
all the different flags and composes a human readable description of the
validity of the signature.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="WebApplicationException">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A web application exception.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="description" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Description of the error that occurred.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="status" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Response status code and description.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="Widget">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A widget in the PDF Document.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="rectangle" type="Rectangle" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The bounds of the widget.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pageIndex" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index of the page containing this widget.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="AddImageAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action contains information to add an image stamp to a page.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="pageActionModel">
      <xs:sequence>
              <xs:element name="pageIndex" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index of the page to add the image to.  If not supplied the image will be added to all pages.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transparency" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Percent of transparency. Value between 0 and 100, default is 0, no transparency.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="x" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Anchor X Coordinate, interpreted according to horzAlign.  Default is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="y" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Anchor Y coordinate, interpreted according to vertAlign.  Default is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="width" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Width of the rectangle on the page at which to add the image.  0 means use the image width.
When width is specified, horzAlign is ignored.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="height" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Height of the rectangle on the page at which to add the image.  0 means use the image height.
When height is specified, vertAlign is ignored.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="keepAspectRatio" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[If both width and height are specified and so the image needs to be resized, if this property
is set to 1, then the scales in X and Y will be adjusted to keep the original image's aspect ratio.
If set to 0, the scales are independent.  Default is 1.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="AddTextAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action contains information to add an image stamp to a page.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="pageActionModel">
      <xs:sequence>
              <xs:element name="pageIndex" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index of the page to add the image to.  If not supplied the image will be added to all pages.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="text" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Text to write.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="color" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Text color.  The default color is black.  This can be in the format of an html predefined color name (ie Aquamarine), a hex string (ie #7FFFD4), an rgb string (ie rgb(127,255,212)), or as an int string (ie 8388564).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fontSize" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Font size.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fontName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Font name. Must be one of "Courier", "Helvetica", or "Times-Roman".]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fontStyle" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Font style.  Must be one of "Plain", "Bold", "Italic", "Bold-Italic".]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transparency" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Percent of transparency. Value between 0 and 100, default is 0, no transparency.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="x" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Anchor X Coordinate, interpreted according to horzAlign.  Default is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="y" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Anchor Y coordinate, interpreted according to vertAlign.  Default is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="horzAlign" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Horizontal alignment, 0 == left (default), 1 == center, 2 == right.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="ApplyRedactionsAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action will apply or "burn in" all redaction annotations that are in
this document. The page content that is contained within the redaction
annotation's bounds will be redacted.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="documentActionModel">
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="CompareAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used for generating a comparison PDF document with separate
layers containing the PDF content converted to color.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="documentActionModel">
      <xs:sequence>
              <xs:element name="compareFilePath" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The path to the document to overlay and compare the current document
with. The path is to an already uploaded document including parent
directories.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="comparePassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The password associated with the document to overlay and compare the
current document with.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="currentOptions" type="OverlayCompareOptions" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The compare options to use for the current document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="compareOptions" type="OverlayCompareOptions" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The compare options to use for the comparison document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="CopyAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used to create a copy of a document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="documentActionModel">
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="documentActionModel" abstract="true">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Document actions contain information that is used to copy and modify documents.
DocumentActionModel is abstract and should not be used.  Instead, use one of it's subclasses: FlattenAnnotationsActionModel, FlattenFieldsActionModel,
OptimizeActionModel, CopyActionModel, and LinearizeActionModel.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="savePath" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Path to save the modified document.  If not provided, the original document will be overwritten.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="namingMode" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The behavior when saving the modified document to a new path that already exists.
Valid values are: 0-Throw a bad request exception, 1-Overwrite the existing file, 2-Append a random number to the file name.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="FlattenAnnotationsAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used to flatten all annotations in the document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="documentActionModel">
      <xs:sequence>
              <xs:element name="paintNonPrintableAnnots" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag to indicate if non-printable annotations should be painted.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="FlattenFieldsAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used to flatten all fields in the document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="documentActionModel">
      <xs:sequence>
              <xs:element name="paintButtons" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag to indicate whether push buttons should be painted or not.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="paintOnlyImageButtons" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag to indicate that push buttons should only be painted if they have an image (only matters if paintButtons is true).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="paintNonPrintableFields" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag to indicate whether non-printable fields should be painted or not.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="ImageStampAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action contains information to place an image stamp on one or more pages.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="stampActionModel">
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="InsertAttachedPagesAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used to insert or append a PDF or image file as a page/pages.  An image (jpeg, tiff, gif, png) or pdf file must also be sent as part of the request.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="insertPagesActionModel">
      <xs:sequence>
              <xs:element name="dpi" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The resolution of the gif image. Ignored for other content types.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="insertPagesActionModel" abstract="true">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Insert page actions are used to insert pages into the document.
InsertPagesActionModel is abstract and should not be used.  Instead, use one of it's subclasses: InsertAttachedPagesActionModel and InsertUploadedPagesActionModel.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="pageActionModel">
      <xs:sequence>
              <xs:element name="pageIndex" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index where the first page will be inserted.  If not supplied the pages will be appended at the end of the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="appendPassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The password (if any) for the document that will be appended.  Applies only to pdfs.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pageRange" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Optional.  The page range may be specified as a single number or as a hyphen separated range, i.e. 2-4.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="InsertUploadedPagesAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used to insert or append a PDF that is already uploaded.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="insertPagesActionModel">
      <xs:sequence>
              <xs:element name="appendFilePath" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The path to the already uploaded document including parent directories.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="LinearizeAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used to linearize a document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="documentActionModel">
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="NewDocumentAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[New Document actions contain information used to create a new document with the specified number of pages.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="pageWidth" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The width of the pages of the new document in points (72 DPI). If not provided, the default value is 612.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pageHeight" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The height of the pages of the new document in points (72 DPI). If not provided, the default value is 792.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pageCount" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The number of pages to create for the new document.  If not provided, the default value is 1.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="backgroundColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The background color of the pages of the new document.  If not provided, the default is no color.  This can be in the format of an html predefined color name (ie Aquamarine), a hex string (ie #7FFFD4), an rgb string (ie rgb(127,255,212)), or as an int string (ie 8388564).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="NewPageAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used to insert a new blank page.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="pageActionModel">
      <xs:sequence>
              <xs:element name="pageIndex" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index where the new page will be inserted.  If not supplied the new page will be appended at the end of the document.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="width" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The width of the page in points (72 DPI). Default value is 612.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="height" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The height of the page in points (72 DPI). Default value is 792.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="OCRAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used to perform OCR on one or more pages.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="pageActionModel">
      <xs:sequence>
              <xs:element name="pageIndex" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index of the page to perform OCR on.  If not supplied, OCR will be performed on all pages.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="language" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The language to use in performing the OCR.  (eng, fra, deu, ita, spa)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="dpi" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The resolution to use when converting the page to an image during OCR.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="OptimizeAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used to optimize the document with the specified profile.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="documentActionModel">
      <xs:sequence>
              <xs:element name="profileName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the profile to optimize with.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="PDFAConvertAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action is used to convert the document to PDF/A.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="documentActionModel">
      <xs:sequence>
              <xs:element name="profile" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The PDF/A conversion type.
Valid values are: pdfa1b, pdfa2b, pdfa3b, pdfa2u, pdfa3u.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="unsupportedAnnots" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The behavior when unsupported annotations are encountered.
Valid values are: 0 - delete, 1 - fail.
The default value is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transparency" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The behavior when transparency is encountered.
Valid values are: 1 - fail, 2 - make opaque.
The default value is 2.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="embeddedFiles" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The behavior when embedded files are encountered.
Valid values are: 0 - delete, 1 - fail.
The default value is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="addAnnots" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[On failure, adds the result records as annotations to the document that was preflighted. The default value is false.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="appendReport" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[On failure, appends the preflight report to the document that was preflighted. The default value is false.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="pageActionModel" abstract="true">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Page actions contain information that is used to modify pages.
PageActionModel is abstract and should not be used.  Instead, use one of its subclasses: OCRActionModel, ImageStampActionModel, TextStampActionModel, InsertAttachedPagesActionModel, InsertUploadedPagesActionModel, NewPageActionModel, RotatePageActionModel, PageOrderActionModel, AddImageActionModel, AddTextActionModel, and ResizePageActionModel.]]>
    </xs:documentation>
  </xs:annotation>
 </xs:complexType>

<xs:complexType name="PageOrderAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Page order actions contain information used to change the order of the pages in a document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="pageActionModel">
      <xs:sequence>
              <xs:element name="order" type="xs:int" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The new page order.  Array elements are the page indices.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="ResizePageAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Page actions contain information that is used to modify pages.
PageActionModel is abstract and should not be used.  Instead, use one of its subclasses: OCRActionModel, ImageStampActionModel, TextStampActionModel, InsertAttachedPagesActionModel, InsertUploadedPagesActionModel, NewPageActionModel, RotatePageActionModel, PageOrderActionModel, AddImageActionModel, AddTextActionModel, and ResizePageActionModel.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="pageActionModel">
      <xs:sequence>
              <xs:element name="pageIndex" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index of the page to resize.  If not supplied all pages will be resized.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="newPageWidth" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The new page width, in points (72 DPI).  IF not supplied, the width of the page will not be changed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="newPageHeight" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The new page height, in points (72 DPI).  If not supplied, the height of the page will not be changed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="scaleContent" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Resize the existing content, in percent.  Set to -1 to automatically scale to fit the new page size.  Content will be centered in the new page.  If not supplied, the content will remain at the same scale.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="RotatePageAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Rotate page actions contain information used to rotate a single page or all pages in a document.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="pageActionModel">
      <xs:sequence>
              <xs:element name="pageIndex" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index of the page to rotate.  If not supplied all pages will be rotated.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="rotation" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The new page rotation in degrees.  Default value is 0.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="stampActionModel" abstract="true">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Stamp actions contain information used to add a stamp to a page in the document. They can be used to create watermarks, headers, and footers.
StampActionModel is abstract and should not be used.  Instead, use one of its subclasses: ImageStampActionModel and TextStampActionModel.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="pageActionModel">
      <xs:sequence>
              <xs:element name="pageIndex" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The index of the page to stamp.  If not supplied the stamp will be applied to all pages.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="rotation" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Rotation of the stamp in degrees.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transparency" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Percent of transparency. Value between 0 and 100.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="x" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Center x coordinate.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="y" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Center x coordinate.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="TextStampAction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[This action contains information to place a text stamp on one or more pages.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="stampActionModel">
      <xs:sequence>
              <xs:element name="text" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Text to write.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="color" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Text color.  The default color is black.  This can be in the format of an html predefined color name (ie Aquamarine), a hex string (ie #7FFFD4), an rgb string (ie rgb(127,255,212)), or as an int string (ie 8388564).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fontSize" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Font size.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fontName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Font name. Must be one of "Courier", "Helvetica", or "Times-Roman".]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fontStyle" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Font style.  Must be one of "Plain", "Bold", "Italic", "Bold-Italic".]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="Point">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[The x and y coordinates of a point.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="x" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The x coordinate.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="y" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The y coordinate.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

</xs:schema>