Bug 58048: Add visio schemas to the OOXML jar

- Bumped OOXML jar version also

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1707177 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Dustin Spicuzza 2015-10-07 02:41:30 +00:00
parent cab7f9c2e0
commit bf68d5f290
4 changed files with 861 additions and 5 deletions

View File

@ -23,7 +23,7 @@
<classpathentry kind="lib" path="ooxml-lib/xmlbeans-2.6.0.jar"/>
<classpathentry kind="lib" path="lib/hamcrest-core-1.3.jar"/>
<classpathentry kind="lib" path="lib/junit-4.12.jar"/>
<classpathentry kind="lib" path="ooxml-lib/ooxml-schemas-1.1.jar" sourcepath="ooxml-lib/ooxml-schemas-1.1-sources.jar"/>
<classpathentry kind="lib" path="ooxml-lib/ooxml-schemas-1.2.jar" sourcepath="ooxml-lib/ooxml-schemas-1.2-sources.jar"/>
<classpathentry kind="lib" path="ooxml-lib/ooxml-security-1.0.jar" sourcepath="ooxml-lib/ooxml-security-1.0-sources.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="compile-lib/slf4j-api-1.7.7.jar"/>

View File

@ -203,8 +203,8 @@ under the License.
<property name="ooxml.xsds.url.1"
value="http://www.ecma-international.org/publications/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%204%20(PDF).zip"/>
<property name="ooxml.xsds.src.dir" location="build/ooxml-xsds-src"/>
<property name="ooxml.xsds.src.jar" location="${ooxml.lib}/ooxml-schemas-1.1-sources.jar"/>
<property name="ooxml.xsds.jar" location="${ooxml.lib}/ooxml-schemas-1.1.jar"/>
<property name="ooxml.xsds.src.jar" location="${ooxml.lib}/ooxml-schemas-1.2-sources.jar"/>
<property name="ooxml.xsds.jar" location="${ooxml.lib}/ooxml-schemas-1.2.jar"/>
<!-- additional schemas are packed into the poi schemas jar, -->
<!-- so we don't have to care about a seperate versioning of the original ooxml schemas -->
@ -222,6 +222,7 @@ under the License.
<property name="ooxml.security.src.jar" location="${ooxml.lib}/ooxml-security-1.0-sources.jar"/>
<property name="ooxml.security.jar" location="${ooxml.lib}/ooxml-security-1.0.jar"/>
<property name="ooxml.security.xsd.dir" location="src/ooxml/resources/org/apache/poi/poifs/crypt"/>
<property name="ooxml.visio.xsd.dir" location="src/ooxml/resources/org/apache/poi/xdgf"/>
<property name="maven.ooxml.xsds.version.id" value="1.0"/>
<property name="maven.ooxml.xsds.jar" value="ooxml-schemas-${maven.ooxml.xsds.version.id}.jar"/>
@ -639,6 +640,9 @@ under the License.
<property name="ooxml.xsds.tmp.dir" location="build/ooxml-xsds"/>
<mkdir dir="${ooxml.xsds.tmp.dir}"/>
<unzip src="${ooxml.lib}/${ooxml.xsds.izip.1}" dest="${ooxml.xsds.tmp.dir}"/>
<copy todir="${ooxml.xsds.tmp.dir}">
<fileset dir="${ooxml.visio.xsd.dir}"/>
</copy>
<xmlbean
schema="${ooxml.xsds.tmp.dir}"
srcgendir="${ooxml.xsds.src.dir}"
@ -1788,7 +1792,7 @@ under the License.
<auxClasspath path="${compile.lib}/bcprov-ext-jdk15on-1.51.jar" />
<auxClasspath path="${compile.lib}/slf4j-api-1.7.7.jar" />
<auxClasspath path="${compile.lib}/xmlsec-2.0.1.jar" />
<auxClasspath path="ooxml-lib/ooxml-schemas-1.1.jar" />
<auxClasspath path="${ooxml.xsds.jar}" />
<auxClasspath path="ooxml-lib/ooxml-security-1.0.jar" />
<auxClasspath path="ooxml-lib/xmlbeans-2.6.0.jar" />
<auxClasspath path="lib/commons-codec-1.9.jar" />
@ -1811,7 +1815,7 @@ under the License.
<auxClasspath path="${compile.lib}/bcprov-ext-jdk15on-1.51.jar" />
<auxClasspath path="${compile.lib}/slf4j-api-1.7.7.jar" />
<auxClasspath path="${compile.lib}/xmlsec-2.0.1.jar" />
<auxClasspath path="ooxml-lib/ooxml-schemas-1.1.jar" />
<auxClasspath path="${ooxml.xsds.jar}" />
<auxClasspath path="ooxml-lib/ooxml-security-1.0.jar" />
<auxClasspath path="ooxml-lib/xmlbeans-2.6.0.jar" />
<auxClasspath path="lib/commons-codec-1.9.jar" />

View File

@ -94,6 +94,29 @@
</execution>
</executions>
</plugin>
<!-- include the visio schema -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>target/schemas/</outputDirectory>
<resources>
<resource>
<directory>../../src/ooxml/resources/org/apache/poi/xdgf/</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>

View File

@ -0,0 +1,829 @@
<!--
XML for Visio Schema
http://schemas.microsoft.com/office/visio/2011/1/core
Copyright (C) 2000-2002 Microsoft Corporation. All rights reserved.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.microsoft.com/office/visio/2012/main"
xmlns="http://schemas.microsoft.com/office/visio/2012/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"/>
<xsd:annotation>
<xsd:documentation>
Permission to copy, display and distribute the contents of this document (the
"Specification"), in any medium for any purpose without fee or royalty is
hereby granted, provided that you include the following notice on ALL copies of
the Specification, or portions thereof, that you make:
Copyright (c) Microsoft Corporation. All rights reserved. Permission to copy,
display and distribute this document is available at:
http://msdn.microsoft.com/library/en-us/odcXMLRef/html/odcXMLRefLegalNotice.asp?frame=true.
No right to create modifications or derivatives of this Specification is
granted herein. There is a separate patent license available to parties
interested in implementing software programs that can read and write files that
conform to the Specification. This patent license is available at this
location: http://www.microsoft.com/mscorp/ip/format/xmlpatentlicense.asp.
THE SPECIFICATION IS PROVIDED "AS IS" AND MICROSOFT MAKES NO REPRESENTATIONS OR
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE;
THAT THE CONTENTS OF THE SPECIFICATION ARE SUITABLE FOR ANY PURPOSE; NOR THAT
THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS,
COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. MICROSOFT WILL NOT BE LIABLE FOR ANY
DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF
OR RELATING TO ANY USE OR DISTRIBUTION OF THE SPECIFICATION.
The name and trademarks of Microsoft may NOT be used in any manner, including
advertising or publicity pertaining to the Specification or its contents
without specific, written prior permission. Title to copyright in the
Specification will at all times remain with Microsoft. No other rights are
granted by implication, estoppel or otherwise.
</xsd:documentation>
</xsd:annotation>
<!--
Root-level elements for different parts
-->
<!--document.xml-->
<xsd:element name="VisioDocument" type="VisioDocument_Type" />
<!--masters/masters.xml-->
<xsd:element name="Masters" type="Masters_Type" />
<!--masters/master#.xml-->
<xsd:element name="MasterContents" type="PageContents_Type" />
<!--pages/pages.xml-->
<xsd:element name="Pages" type="Pages_Type" />
<!--pages/page#.xml-->
<xsd:element name="PageContents" type="PageContents_Type" />
<!--data/connections.xml-->
<xsd:element name="DataConnections" type="DataConnections_Type" />
<!--data/recordsets.xml-->
<xsd:element name="DataRecordSets" type="DataRecordSets_Type" />
<!--comments.xml-->
<xsd:element name="Comments" type="Comments_Type" />
<!--extensions.xml-->
<xsd:element name="Extensions" type="Extensions_Type" />
<!--
Complex types
-->
<xsd:complexType name="VisioDocument_Type">
<xsd:sequence>
<xsd:element name="DocumentSettings" type="DocumentSettings_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="Colors" type="Colors_Type" minOccurs="0" maxOccurs="1" />
<xsd:element name="FaceNames" type="FaceNames_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="StyleSheets" type="StyleSheets_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="DocumentSheet" type="DocumentSheet_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="EventList" type="EventList_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="HeaderFooter" type="HeaderFooter_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="PublishSettings" type="PublishSettings_Type" minOccurs="0"
maxOccurs="1" />
<xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
processContents="lax" />
</xsd:sequence>
<xsd:anyAttribute namespace="##other" processContents="lax" />
</xsd:complexType>
<!--Sheet abstract base class-->
<xsd:complexType name="Sheet_Type" abstract="true">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="Cell" type="Cell_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="Trigger" type="Trigger_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="Section" type="Section_Type" minOccurs="0"
maxOccurs="unbounded" />
<!--Sheets can hold and roundtrip arbitrary, unknown sub-XML-->
<xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
processContents="lax" />
</xsd:sequence>
<!--Style sheet IDs for inheritance-->
<xsd:attribute name="LineStyle" type="xsd:unsignedInt" />
<xsd:attribute name="FillStyle" type="xsd:unsignedInt" />
<xsd:attribute name="TextStyle" type="xsd:unsignedInt" />
<!--Sheets can hold and roundtrip arbitrary, unknown attributes-->
<xsd:anyAttribute namespace="##other" processContents="lax" />
</xsd:complexType>
<!--Section base types-->
<xsd:complexType name="Section_Type">
<xsd:sequence>
<!--Cells only show up directly under the Geometry section-->
<xsd:element name="Cell" type="Cell_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="Trigger" type="Trigger_Type" minOccurs="0"
maxOccurs="unbounded" />
<!--All Sections have child rows-->
<xsd:element name="Row" type="Row_Type" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="N" type="xsd:string" use="required" />
<xsd:attribute name="Del" type="xsd:boolean" />
<!--Only Geometry sections have indexes as there can be several in a Sheet-->
<xsd:attribute name="IX" type="xsd:unsignedInt" />
</xsd:complexType>
<!--Row base types-->
<xsd:complexType name="Row_Type">
<xsd:sequence>
<xsd:element name="Cell" type="Cell_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="Trigger" type="Trigger_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
<!--The name attributes are only used on named rows-->
<xsd:attribute name="N" type="xsd:string" />
<xsd:attribute name="LocalName" type="xsd:string" />
<!--The index attribute is only used on indexed rows-->
<xsd:attribute name="IX" type="xsd:unsignedInt" />
<!--The type attribute is only used on Rows in the Geometry section-->
<xsd:attribute name="T" type="xsd:string" />
<!--Any row can be locally deleted-->
<xsd:attribute name="Del" type="xsd:boolean" />
</xsd:complexType>
<!--Cell base type-->
<xsd:complexType name="Cell_Type" mixed="true">
<xsd:sequence>
<xsd:element name="RefBy" type="RefBy_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="N" type="xsd:string" use="required" />
<xsd:attribute name="U" type="xsd:string" />
<xsd:attribute name="E" type="xsd:string" />
<xsd:attribute name="F" type="xsd:string" />
<xsd:attribute name="V" type="xsd:string" />
</xsd:complexType>
<!--Trigger base type-->
<xsd:complexType name="Trigger_Type" mixed="true">
<xsd:sequence>
<xsd:element name="RefBy" type="RefBy_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="N" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="DocumentSheet_Type">
<xsd:complexContent>
<xsd:extension base="Sheet_Type">
<xsd:attribute name="Name" type="xsd:string" />
<xsd:attribute name="NameU" type="xsd:string" />
<xsd:attribute name="IsCustomName" type="xsd:boolean" />
<xsd:attribute name="IsCustomNameU" type="xsd:boolean" />
<xsd:attribute name="UniqueID" type="xsd:string" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="StyleSheet_Type">
<xsd:complexContent>
<xsd:extension base="Sheet_Type">
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="Name" type="xsd:string" />
<xsd:attribute name="NameU" type="xsd:string" />
<xsd:attribute name="IsCustomName" type="xsd:boolean" />
<xsd:attribute name="IsCustomNameU" type="xsd:boolean" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="PageSheet_Type">
<xsd:complexContent>
<xsd:extension base="Sheet_Type">
<xsd:attribute name="UniqueID" type="xsd:string" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ShapeSheet_Type">
<xsd:complexContent>
<xsd:extension base="Sheet_Type">
<xsd:sequence>
<!--Shape Text-->
<xsd:element name="Text" type="Text_Type" minOccurs="0" maxOccurs="1" />
<!--Legacy data fields-->
<xsd:element name="Data1" type="Data_Type" minOccurs="0" maxOccurs="1" />
<xsd:element name="Data2" type="Data_Type" minOccurs="0" maxOccurs="1" />
<xsd:element name="Data3" type="Data_Type" minOccurs="0" maxOccurs="1" />
<!--Foreign object data for images, OLE, ActiveX, etc.-->
<xsd:element name="ForeignData" type="ForeignData_Type" minOccurs="0"
maxOccurs="1" />
<!--Sub-shapes if this is a group-->
<xsd:element name="Shapes" type="Shapes_Type" minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="OriginalID" type="xsd:unsignedInt" />
<xsd:attribute name="Del" type="xsd:boolean" />
<xsd:attribute name="MasterShape" type="xsd:unsignedInt" />
<xsd:attribute name="UniqueID" type="xsd:string" />
<xsd:attribute name="Name" type="xsd:string" />
<xsd:attribute name="NameU" type="xsd:string" />
<xsd:attribute name="IsCustomName" type="xsd:boolean" />
<xsd:attribute name="IsCustomNameU" type="xsd:boolean" />
<xsd:attribute name="Master" type="xsd:unsignedInt" />
<xsd:attribute name="Type" type="xsd:token" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="Text_Type" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="cp" type="cp_Type" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="pp" type="pp_Type" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="tp" type="tp_Type" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="fld" type="fld_Type" minOccurs="0" maxOccurs="unbounded" />
</xsd:choice>
</xsd:complexType>
<!--Text fields-->
<xsd:complexType name="cp_Type">
<xsd:attribute name="IX" type="xsd:unsignedInt" use="required" />
</xsd:complexType>
<xsd:complexType name="pp_Type">
<xsd:attribute name="IX" type="xsd:unsignedInt" use="required" />
</xsd:complexType>
<xsd:complexType name="tp_Type">
<xsd:attribute name="IX" type="xsd:unsignedInt" use="required" />
</xsd:complexType>
<xsd:complexType name="fld_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="IX" type="xsd:unsignedInt" use="required" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="Data_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ForeignData_Type" mixed="true">
<xsd:sequence>
<xsd:element name="Rel" type="Rel_Type" minOccurs="1" maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="ForeignType" type="xsd:token" use="required" />
<xsd:attribute name="ObjectType" type="xsd:unsignedInt" />
<xsd:attribute name="ShowAsIcon" type="xsd:boolean" />
<xsd:attribute name="ObjectWidth" type="xsd:double" />
<xsd:attribute name="ObjectHeight" type="xsd:double" />
<xsd:attribute name="MappingMode" type="xsd:unsignedShort" />
<xsd:attribute name="ExtentX" type="xsd:double" />
<xsd:attribute name="ExtentY" type="xsd:double" />
<xsd:attribute name="CompressionType" type="xsd:token" />
<xsd:attribute name="CompressionLevel" type="xsd:double" />
</xsd:complexType>
<xsd:complexType name="DocumentSettings_Type">
<xsd:all>
<xsd:element name="GlueSettings" type="GlueSettings_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="SnapSettings" type="SnapSettings_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="SnapExtensions" type="SnapExtensions_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="SnapAngles" type="SnapAngles_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="DynamicGridEnabled" type="DynamicGridEnabled_Type"
minOccurs="0" maxOccurs="1" />
<xsd:element name="ProtectStyles" type="ProtectStyles_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="ProtectShapes" type="ProtectShapes_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="ProtectMasters" type="ProtectMasters_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="ProtectBkgnds" type="ProtectBkgnds_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="CustomMenusFile" type="CustomMenusFile_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="CustomToolbarsFile" type="CustomToolbarsFile_Type"
minOccurs="0" maxOccurs="1" />
<xsd:element name="AttachedToolbars" type="AttachedToolbars_Type" minOccurs="0"
maxOccurs="1" />
</xsd:all>
<xsd:attribute name="TopPage" type="xsd:unsignedInt" />
<xsd:attribute name="DefaultTextStyle" type="xsd:unsignedInt" />
<xsd:attribute name="DefaultLineStyle" type="xsd:unsignedInt" />
<xsd:attribute name="DefaultFillStyle" type="xsd:unsignedInt" />
<xsd:attribute name="DefaultGuideStyle" type="xsd:unsignedInt" />
</xsd:complexType>
<xsd:complexType name="GlueSettings_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:int" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="SnapSettings_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:int" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="SnapExtensions_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:int" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="SnapAngles_Type">
<xsd:sequence>
<xsd:element name="SnapAngle" type="SnapAngle_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SnapAngle_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:double" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="DynamicGridEnabled_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:boolean" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ProtectStyles_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:boolean" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ProtectShapes_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:boolean" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ProtectMasters_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:boolean" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ProtectBkgnds_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:boolean" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CustomMenusFile_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CustomToolbarsFile_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="AttachedToolbars_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:base64Binary" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="Colors_Type">
<xsd:sequence>
<xsd:element name="ColorEntry" type="ColorEntry_Type" minOccurs="1"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ColorEntry_Type">
<xsd:attribute name="IX" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="RGB" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="FaceNames_Type">
<xsd:sequence>
<xsd:element name="FaceName" type="FaceName_Type" minOccurs="1"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FaceName_Type">
<xsd:attribute name="NameU" type="xsd:string" use="required" />
<xsd:attribute name="UnicodeRanges" type="xsd:string" />
<xsd:attribute name="CharSets" type="xsd:string" />
<xsd:attribute name="Panos" type="xsd:string" />
<xsd:attribute name="Panose" type="xsd:string" />
<xsd:attribute name="Flags" type="xsd:unsignedInt" />
</xsd:complexType>
<xsd:complexType name="StyleSheets_Type">
<xsd:sequence>
<xsd:element name="StyleSheet" type="StyleSheet_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Masters_Type">
<xsd:sequence>
<xsd:element name="Master" type="Master_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="MasterShortcut" type="MasterShortcut_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Master_Type">
<xsd:all>
<xsd:element name="PageSheet" type="PageSheet_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="Rel" type="Rel_Type" minOccurs="1" maxOccurs="1" />
<xsd:element name="Icon" type="Icon_Type" minOccurs="0" maxOccurs="1" />
</xsd:all>
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="BaseID" type="xsd:string" />
<xsd:attribute name="UniqueID" type="xsd:string" />
<xsd:attribute name="MatchByName" type="xsd:boolean" />
<xsd:attribute name="Name" type="xsd:string" />
<xsd:attribute name="NameU" type="xsd:string" />
<xsd:attribute name="IsCustomName" type="xsd:boolean" />
<xsd:attribute name="IsCustomNameU" type="xsd:boolean" />
<xsd:attribute name="IconSize" type="xsd:unsignedShort" />
<xsd:attribute name="PatternFlags" type="xsd:unsignedShort" />
<xsd:attribute name="Prompt" type="xsd:string" />
<xsd:attribute name="Hidden" type="xsd:boolean" />
<xsd:attribute name="IconUpdate" type="xsd:boolean" />
<xsd:attribute name="AlignName" type="xsd:unsignedShort" />
<xsd:attribute name="MasterType" type="xsd:unsignedShort" />
</xsd:complexType>
<xsd:complexType name="Icon_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:base64Binary" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="MasterShortcut_Type">
<xsd:all>
<xsd:element name="Icon" type="Icon_Type" minOccurs="0" maxOccurs="1" />
</xsd:all>
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="Name" type="xsd:string" />
<xsd:attribute name="NameU" type="xsd:string" />
<xsd:attribute name="IsCustomName" type="xsd:boolean" />
<xsd:attribute name="IsCustomNameU" type="xsd:boolean" />
<xsd:attribute name="IconSize" type="xsd:unsignedShort" />
<xsd:attribute name="PatternFlags" type="xsd:unsignedShort" />
<xsd:attribute name="Prompt" type="xsd:string" />
<xsd:attribute name="ShortcutURL" type="xsd:string" />
<xsd:attribute name="ShortcutHelp" type="xsd:string" />
<xsd:attribute name="AlignName" type="xsd:unsignedShort" />
<xsd:attribute name="MasterType" type="xsd:unsignedShort" />
</xsd:complexType>
<xsd:complexType name="PageContents_Type">
<xsd:sequence>
<xsd:element name="Shapes" type="Shapes_Type" minOccurs="0" maxOccurs="1" />
<xsd:element name="Connects" type="Connects_Type" minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Shapes_Type">
<xsd:sequence>
<xsd:element name="Shape" type="ShapeSheet_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Connects_Type">
<xsd:sequence>
<xsd:element name="Connect" type="Connect_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Connect_Type">
<xsd:attribute name="FromSheet" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="FromCell" type="xsd:string" />
<xsd:attribute name="FromPart" type="xsd:int" />
<xsd:attribute name="ToSheet" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="ToCell" type="xsd:string" />
<xsd:attribute name="ToPart" type="xsd:int" />
</xsd:complexType>
<xsd:complexType name="Pages_Type">
<xsd:sequence>
<xsd:element name="Page" type="Page_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Page_Type">
<xsd:all>
<xsd:element name="PageSheet" type="PageSheet_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="Rel" type="Rel_Type" minOccurs="1" maxOccurs="1" />
</xsd:all>
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="Name" type="xsd:string" />
<xsd:attribute name="NameU" type="xsd:string" />
<xsd:attribute name="IsCustomName" type="xsd:boolean" />
<xsd:attribute name="IsCustomNameU" type="xsd:boolean" />
<xsd:attribute name="Background" type="xsd:boolean" />
<xsd:attribute name="BackPage" type="xsd:unsignedInt" />
<xsd:attribute name="ViewScale" type="xsd:double" />
<xsd:attribute name="ViewCenterX" type="xsd:double" />
<xsd:attribute name="ViewCenterY" type="xsd:double" />
<xsd:attribute name="ReviewerID" type="xsd:unsignedInt" />
<xsd:attribute name="AssociatedPage" type="xsd:unsignedInt" />
</xsd:complexType>
<xsd:complexType name="EventList_Type">
<xsd:sequence>
<xsd:element name="EventItem" type="EventItem_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EventItem_Type">
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="Action" type="xsd:unsignedShort" use="required" />
<xsd:attribute name="EventCode" type="xsd:unsignedShort" use="required" />
<xsd:attribute name="Enabled" type="xsd:boolean" />
<xsd:attribute name="Target" type="xsd:string" use="required" />
<xsd:attribute name="TargetArgs" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="HeaderFooter_Type">
<xsd:all>
<xsd:element name="HeaderMargin" type="HeaderMargin_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="FooterMargin" type="FooterMargin_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="HeaderLeft" type="HeaderLeft_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="HeaderCenter" type="HeaderCenter_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="HeaderRight" type="HeaderRight_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="FooterLeft" type="FooterLeft_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="FooterCenter" type="FooterCenter_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="FooterRight" type="FooterRight_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="HeaderFooterFont" type="HeaderFooterFont_Type" minOccurs="0"
maxOccurs="1" />
</xsd:all>
<xsd:attribute name="HeaderFooterColor" type="xsd:string" />
</xsd:complexType>
<xsd:complexType name="HeaderMargin_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:double">
<xsd:attribute name="Unit" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="FooterMargin_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:double">
<xsd:attribute name="Unit" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="HeaderLeft_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="HeaderCenter_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="HeaderRight_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="FooterLeft_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="FooterCenter_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="FooterRight_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string" />
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="HeaderFooterFont_Type">
<xsd:attribute name="Height" type="xsd:int" />
<xsd:attribute name="Width" type="xsd:int" />
<xsd:attribute name="Escapement" type="xsd:int" />
<xsd:attribute name="Orientation" type="xsd:int" />
<xsd:attribute name="Weight" type="xsd:int" />
<xsd:attribute name="Italic" type="xsd:unsignedByte" />
<xsd:attribute name="Underline" type="xsd:unsignedByte" />
<xsd:attribute name="StrikeOut" type="xsd:unsignedByte" />
<xsd:attribute name="CharSet" type="xsd:unsignedByte" />
<xsd:attribute name="OutPrecision" type="xsd:unsignedByte" />
<xsd:attribute name="ClipPrecision" type="xsd:unsignedByte" />
<xsd:attribute name="Quality" type="xsd:unsignedByte" />
<xsd:attribute name="PitchAndFamily" type="xsd:unsignedByte" />
<xsd:attribute name="FaceName" type="xsd:string" />
</xsd:complexType>
<xsd:complexType name="DataConnections_Type">
<xsd:sequence>
<xsd:element name="DataConnection" type="DataConnection_Type" minOccurs="1"
maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="NextID" type="xsd:unsignedInt" use="required" />
</xsd:complexType>
<xsd:complexType name="DataConnection_Type">
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="FileName" type="xsd:string" use="required" />
<xsd:attribute name="ConnectionString" type="xsd:string" />
<xsd:attribute name="Command" type="xsd:string" />
<xsd:attribute name="FriendlyName" type="xsd:string" />
<xsd:attribute name="Timeout" type="xsd:unsignedInt" />
<xsd:attribute name="AlwaysUseConnectionFile" type="xsd:boolean" />
</xsd:complexType>
<xsd:complexType name="DataRecordSets_Type">
<xsd:sequence>
<xsd:element name="DataRecordSet" type="DataRecordSet_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="NextID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="ActiveRecordsetID" type="xsd:unsignedInt" />
<xsd:attribute name="DataWindowOrder" type="xsd:string" />
</xsd:complexType>
<xsd:complexType name="DataRecordSet_Type">
<xsd:sequence>
<xsd:element name="Rel" type="Rel_Type" minOccurs="1" maxOccurs="1" />
<xsd:element name="DataColumns" type="DataColumns_Type" minOccurs="1"
maxOccurs="1" />
<xsd:element name="PrimaryKey" type="PrimaryKey_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="RowMap" type="RowMap_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="RefreshConflict" type="RefreshConflict_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="AutoLinkComparison" type="AutoLinkComparison_Type"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="ConnectionID" type="xsd:unsignedInt" />
<xsd:attribute name="Command" type="xsd:string" />
<xsd:attribute name="Options" type="xsd:unsignedInt" />
<xsd:attribute name="TimeRefreshed" type="xsd:dateTime" />
<xsd:attribute name="NextRowID" type="xsd:unsignedInt" />
<xsd:attribute name="Name" type="xsd:string" />
<xsd:attribute name="RowOrder" type="xsd:boolean" />
<xsd:attribute name="RefreshOverwriteAll" type="xsd:boolean" />
<xsd:attribute name="RefreshNoReconciliationUI" type="xsd:boolean" />
<xsd:attribute name="RefreshInterval" type="xsd:unsignedInt" />
<xsd:attribute name="ReplaceLinks" type="xsd:unsignedInt" />
<xsd:attribute name="Checksum" type="xsd:unsignedInt" />
</xsd:complexType>
<xsd:complexType name="DataColumns_Type">
<xsd:sequence>
<xsd:element name="DataColumn" type="DataColumn_Type" minOccurs="1"
maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="SortColumn" type="xsd:string" />
<xsd:attribute name="SortAsc" type="xsd:boolean" />
</xsd:complexType>
<xsd:complexType name="DataColumn_Type">
<xsd:attribute name="ColumnNameID" type="xsd:string" use="required" />
<xsd:attribute name="Name" type="xsd:string" use="required" />
<xsd:attribute name="Label" type="xsd:string" use="required" />
<xsd:attribute name="OrigLabel" type="xsd:string" />
<xsd:attribute name="LangID" type="xsd:unsignedInt" />
<xsd:attribute name="Calendar" type="xsd:unsignedShort" />
<xsd:attribute name="DataType" type="xsd:unsignedShort" />
<xsd:attribute name="UnitType" type="xsd:string" />
<xsd:attribute name="Currency" type="xsd:unsignedShort" />
<xsd:attribute name="Degree" type="xsd:unsignedInt" />
<xsd:attribute name="DisplayWidth" type="xsd:unsignedInt" />
<xsd:attribute name="DisplayOrder" type="xsd:unsignedInt" />
<xsd:attribute name="Mapped" type="xsd:boolean" />
<xsd:attribute name="Hyperlink" type="xsd:boolean" />
</xsd:complexType>
<xsd:complexType name="PrimaryKey_Type">
<xsd:sequence>
<xsd:element name="RowKeyValue" type="RowKeyValue_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="ColumnNameID" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="RowKeyValue_Type">
<xsd:attribute name="RowID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="Value" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="RowMap_Type">
<xsd:attribute name="RowID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="PageID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="ShapeID" type="xsd:unsignedInt" use="required" />
</xsd:complexType>
<xsd:complexType name="RefreshConflict_Type">
<xsd:attribute name="RowID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="ShapeID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="PageID" type="xsd:unsignedInt" use="required" />
</xsd:complexType>
<xsd:complexType name="AutoLinkComparison_Type">
<xsd:attribute name="ColumnName" type="xsd:string" use="required" />
<xsd:attribute name="ContextType" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="ContextTypeLabel" type="xsd:string" />
</xsd:complexType>
<xsd:complexType name="PublishSettings_Type">
<xsd:sequence>
<xsd:element name="PublishedPage" type="PublishedPage_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="RefreshableData" type="RefreshableData_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Comments_Type">
<xsd:sequence>
<xsd:element name="AuthorList" type="AuthorList_Type" minOccurs="0"
maxOccurs="1" />
<xsd:element name="CommentList" type="CommentList_Type" minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="ShowCommentTags" type="xsd:boolean" />
</xsd:complexType>
<xsd:complexType name="AuthorList_Type">
<xsd:sequence>
<xsd:element name="AuthorEntry" type="AuthorEntry_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AuthorEntry_Type">
<xsd:attribute name="Name" type="xsd:string" />
<xsd:attribute name="Initials" type="xsd:string" />
<xsd:attribute name="ResolutionID" type="xsd:string" />
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
</xsd:complexType>
<xsd:complexType name="CommentList_Type">
<xsd:sequence>
<xsd:element name="CommentEntry" type="CommentEntry_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommentEntry_Type">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="AuthorID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="PageID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="ShapeID" type="xsd:unsignedInt" />
<xsd:attribute name="Date" type="xsd:dateTime" use="required" />
<xsd:attribute name="EditDate" type="xsd:dateTime" />
<xsd:attribute name="Done" type="xsd:boolean" />
<xsd:attribute name="CommentID" type="xsd:unsignedInt" use="required" />
<xsd:attribute name="AutoCommentType" type="xsd:unsignedInt" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="PublishedPage_Type">
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
</xsd:complexType>
<xsd:complexType name="RefreshableData_Type">
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
</xsd:complexType>
<xsd:complexType name="RefBy_Type">
<xsd:attribute name="T" type="xsd:string" use="required" />
<xsd:attribute name="ID" type="xsd:unsignedInt" use="required" />
</xsd:complexType>
<xsd:complexType name="Extensions_Type">
<xsd:sequence>
<xsd:element name="CellDef" type="CellDef_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="FunctionDef" type="FunctionDef_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="SectionDef" type="SectionDef_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CellDef_Type">
<xsd:attribute name="N" type="xsd:string" use="required" />
<xsd:attribute name="T" type="xsd:token" use="required" />
<xsd:attribute name="F" type="xsd:string" />
<xsd:attribute name="IX" type="xsd:unsignedByte" />
<xsd:attribute name="S" type="xsd:unsignedByte" />
</xsd:complexType>
<xsd:complexType name="FunctionDef_Type">
<xsd:attribute name="N" type="xsd:string" use="required" />
</xsd:complexType>
<xsd:complexType name="SectionDef_Type">
<xsd:sequence>
<xsd:element name="CellDef" type="CellDef_Type" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="RowDef" type="RowDef_Type" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="N" type="xsd:string" use="required" />
<xsd:attribute name="T" type="xsd:string" />
<xsd:attribute name="S" type="xsd:unsignedByte" />
</xsd:complexType>
<xsd:complexType name="RowDef_Type">
<xsd:sequence>
<xsd:element name="CellDef" type="CellDef_Type" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Rel_Type">
<xsd:attribute ref="r:id" use="required"/>
</xsd:complexType>
</xsd:schema>