Merge branch 'master' into master-juno
diff --git a/features/org.eclipse.gendoc.feature/feature.xml b/features/org.eclipse.gendoc.feature/feature.xml
index fb76bee..9b5cf90 100644
--- a/features/org.eclipse.gendoc.feature/feature.xml
+++ b/features/org.eclipse.gendoc.feature/feature.xml
@@ -350,4 +350,25 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.gendoc.bundle.acceleo.html"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.gendoc.document.parser.pptx"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.gendoc.services.pptx"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.commons/src/org/eclipse/gendoc/bundle/acceleo/commons/files/CommonService.java b/plugins/org.eclipse.gendoc.bundle.acceleo.commons/src/org/eclipse/gendoc/bundle/acceleo/commons/files/CommonService.java
index fd58789..ce999b4 100644
--- a/plugins/org.eclipse.gendoc.bundle.acceleo.commons/src/org/eclipse/gendoc/bundle/acceleo/commons/files/CommonService.java
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.commons/src/org/eclipse/gendoc/bundle/acceleo/commons/files/CommonService.java
@@ -11,6 +11,8 @@
* Anne Haugommard (Atos Origin) anne.haugommard@atosorigin.com
* - Initial API and implementation
* - Add format service
+ * Antonio Campesino (Ericsson) - Bug 477381 - [GenDoc] cleanAndFormat produces
+ * xml-encoded characters.
*
*****************************************************************************/
package org.eclipse.gendoc.bundle.acceleo.commons.files;
@@ -430,10 +432,11 @@
}
index = end;
}
- if( no_tag_found){
- SPECIAL_CHARACTERS.put("&", "&");
- }
cleanedInput +=(input.substring(index));
+ if( no_tag_found){
+ //SPECIAL_CHARACTERS.put("&", "&");
+ cleanedInput = cleanedInput.replace("&", "&");
+ }
// Handle other special characters
for (String key : SPECIAL_CHARACTERS.keySet()){
cleanedInput = cleanedInput.replace(key, SPECIAL_CHARACTERS.get(key));
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/.classpath b/plugins/org.eclipse.gendoc.bundle.acceleo.html/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/.project b/plugins/org.eclipse.gendoc.bundle.acceleo.html/.project
new file mode 100644
index 0000000..65ed9ec
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/.project
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.gendoc.bundle.acceleo.html</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.acceleo.ide.ui.acceleoBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>compliance</key>
+ <value>pragmatic</value>
+ </dictionary>
+ <dictionary>
+ <key>resource.kind</key>
+ <value>xmi</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/META-INF/MANIFEST.MF b/plugins/org.eclipse.gendoc.bundle.acceleo.html/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1d40e16
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Gendoc html bundle
+Bundle-SymbolicName: org.eclipse.gendoc.bundle.acceleo.html;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Bundle-Activator: org.eclipse.gendoc.bundle.acceleo.html.Activator
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.xmi,
+ org.eclipse.ocl,
+ org.eclipse.ocl.ecore,
+ org.eclipse.acceleo.model,
+ org.eclipse.acceleo.engine,
+ org.eclipse.gendoc.script.acceleo,
+ org.eclipse.gendoc,
+ org.eclipse.gendoc.services,
+ org.eclipse.emf.edit,
+ org.eclipse.gendoc.tags.handlers,
+ org.eclipse.gendoc.tags,
+ org.eclipse.gendoc.documents,
+ org.eclipse.gendoc.tags.html
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Eclipse-LazyStart: true
+Export-Package: org.eclipse.gendoc.bundle.acceleo.html.files
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/about.html b/plugins/org.eclipse.gendoc.bundle.acceleo.html/about.html
new file mode 100644
index 0000000..c258ef5
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/build.acceleo b/plugins/org.eclipse.gendoc.bundle.acceleo.html/build.acceleo
new file mode 100644
index 0000000..ca99d8c
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/build.acceleo
@@ -0,0 +1,26 @@
+<!-- ===================================================================== -->
+<!-- Custom targets. -->
+<!-- Set customBuildCallbacks = build.acceleo in your build.properties. -->
+<!-- ===================================================================== -->
+<project name="Build Acceleo Module" default="noDefault">
+ <!-- ================================================================= -->
+ <!-- Default target -->
+ <!-- ================================================================= -->
+ <target name="noDefault">
+ <echo message="This file must be called with explicit targets" />
+ </target>
+
+ <!-- ================================================================= -->
+ <!-- This will be called automatically after the compilation of each -->
+ <!-- Bundle... in dependency order. -->
+ <!-- ================================================================= -->
+ <target name="post.compile.@dot">
+ <acceleoCompiler
+ sourceFolder="${target.folder}"
+ outputFolder="${target.folder}"
+ dependencies="${target.folder}/../../org.eclipse.gendoc.script.acceleo;${target.folder}/../../org.eclipse.gendoc.m2t;${target.folder}/../../org.eclipse.gendoc.services;${target.folder}/../../org.eclipse.gendoc.document.parser;${target.folder}/../../org.eclipse.gendoc.tags.handlers;${target.folder}/../../org.eclipse.gendoc.documents;${target.folder}/../../org.eclipse.gendoc.tags.parsers;${target.folder}/../../org.eclipse.gendoc.tags;${target.folder}/../../org.eclipse.gendoc.process;${target.folder}/../../org.eclipse.gendoc;"
+ binaryResource="false"
+ packagesToRegister="">
+ </acceleoCompiler>
+ </target>
+</project>
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/build.properties b/plugins/org.eclipse.gendoc.bundle.acceleo.html/build.properties
new file mode 100644
index 0000000..2ed945a
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ build.properties,\
+ about.html,\
+ .classpath
+customBuildCallbacks = build.acceleo
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/plugin.xml b/plugins/org.eclipse.gendoc.bundle.acceleo.html/plugin.xml
new file mode 100644
index 0000000..3218aa0
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/plugin.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.gendoc.script.acceleo.services">
+ <service
+ emtl="bin/org/eclipse/gendoc/bundle/acceleo/html/files/html.emtl"
+ importedByDefault="false"
+ name="html">
+ </service>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/pom.xml b/plugins/org.eclipse.gendoc.bundle.acceleo.html/pom.xml
new file mode 100644
index 0000000..f27baea
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/pom.xml
@@ -0,0 +1,46 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.gendoc</groupId>
+ <artifactId>parent</artifactId>
+ <relativePath>../../pom.xml</relativePath>
+ <version>0.7.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.gendoc.bundle.acceleo.html</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.acceleo</groupId>
+ <artifactId>${acceleo.maven.id}</artifactId>
+ <version>${acceleo.maven.version}</version>
+ <executions>
+ <execution>
+ <phase>compile</phase>
+ <goals>
+ <goal>acceleo-compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <useBinaryResources>false</useBinaryResources>
+ <usePlatformResourcePath>true</usePlatformResourcePath>
+ <acceleoProject>
+ <root>${project.basedir}</root>
+ <entries>
+ <entry>
+ <input>src</input>
+ <output>target/classes</output>
+ </entry>
+ </entries>
+ </acceleoProject>
+ <packagesToRegister>
+ <packageToRegister>org.eclipse.emf.ecore.EcorePackage</packageToRegister>
+ <packageToRegister>org.eclipse.gmf.runtime.notation.NotationPackage</packageToRegister>
+ </packagesToRegister>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/Activator.java b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/Activator.java
new file mode 100644
index 0000000..5555152
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/Activator.java
@@ -0,0 +1,81 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Ericsson AB.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.bundle.acceleo.html;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends Plugin {
+
+ /**
+ * The plug-in ID.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.gendoc.bundle.acceleo.html";
+
+ /**
+ * The shared instance.
+ */
+ private static Activator plugin;
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ }
+
+ /**{@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /**{@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ public static void error(String str, Throwable th) {
+ IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, str, th);
+ if (getDefault() == null) {
+ System.err.println(str);
+ if (th != null)
+ th.printStackTrace(System.err);
+ } else {
+ getDefault().getLog().log(status);
+ }
+
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlService.java b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlService.java
new file mode 100644
index 0000000..c9d79e9
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlService.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Ericsson AB.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.bundle.acceleo.html.files;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Properties;
+
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+import org.w3c.tidy.Tidy;
+
+public class HtmlService {
+ private static XPath XPATH = XPathFactory.newInstance().newXPath();
+ private static NullOutputStream NULL_OUTPUT_STREAM = new NullOutputStream();
+
+ public static boolean isHtml(String input) {
+ return isHtml(parseHtml(input));
+ }
+
+ public static String stripHtmlTags(String input) {
+ Document doc = parseHtml(input);
+ if (!isHtml(doc))
+ return input;
+
+ HtmlStripTagVisitor visitor = new HtmlStripTagVisitor();
+ HtmlUtils.visit(getBodyElement(doc), visitor);
+ return visitor.toString();
+ }
+
+ public static String htmlToText(String input) {
+ Document doc = parseHtml(input);
+ if (!isHtml(doc))
+ return input;
+
+ HtmlToTextVisitor visitor = new HtmlToTextVisitor();
+ HtmlUtils.visit(getBodyElement(doc), visitor);
+ return visitor.toString();
+ }
+
+ public static String textToHtml(String input) {
+ Document doc = parseHtml(input);
+ if (isHtml(doc))
+ return input;
+
+ TextToHtmlBuilder htmlBuilder = new TextToHtmlBuilder();
+ htmlBuilder.addText(input);
+ return htmlBuilder.toString();
+
+ }
+
+ private static class NullOutputStream extends OutputStream {
+ @Override
+ public void write(int b) throws IOException {}
+ }
+
+ private static Tidy initParser() {
+ Tidy t = new Tidy();
+ Properties oProps = new Properties();
+ oProps.setProperty("new-blocklevel-tags", "hhh");
+ t.setMakeClean(true);
+ t.setXmlOut(true);
+ t.setQuiet(true);
+ t.setRawOut(true);
+ t.setOnlyErrors(false);
+ t.setShowWarnings(false);
+ return t;
+ }
+
+ private static Element getBodyElement(Document doc) {
+ try {
+ return (Element)XPATH.evaluate("/html/body", doc, XPathConstants.NODE);
+ } catch (XPathExpressionException e) {
+ return null;
+ }
+ }
+
+ public static Document parseHtml(String input) {
+ Tidy t = initParser();
+ Document doc = t.parseDOM(new ByteArrayInputStream(input.getBytes()), NULL_OUTPUT_STREAM);
+ return doc;
+ }
+
+ private static boolean isHtml(Document doc) {
+ Element root = getBodyElement(doc);
+ if (root == null)
+ return false;
+ NodeList nl = root.getChildNodes();
+ for (int i=0; i<nl.getLength(); i++) {
+ if (!(nl.item(i) instanceof Text))
+ return true;
+ }
+
+ return false;
+ }
+
+ public static void main(String[] args) {
+ String txt = "The operational support functionality of the digital business systems is a common platform that can support the operatrional support needs of the network and operational domains for a service provider.\n"+
+ "A base set of functions with base interfaces is used to build the main functions of the OSS, but not all.\n\n"+
+ "a) *Service and Resource Life Cycle Management Function*";
+ System.out.println(textToHtml(txt));
+ }
+}
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlStripTagVisitor.java b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlStripTagVisitor.java
new file mode 100644
index 0000000..ddb8d96
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlStripTagVisitor.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Ericsson AB.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.bundle.acceleo.html.files;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
+
+public class HtmlStripTagVisitor implements IHtmlVisitor {
+ public HtmlStripTagVisitor() {
+ buf = new StringBuilder();
+ }
+
+ public String toString() {
+ return buf.toString();
+ }
+
+ @Override
+ public void visitText(Text node) {
+ buf.append(node.getNodeValue());
+ }
+
+ @Override
+ public void visitElementAfter(Element node) {
+ String tag = node.getTagName();
+ if (tag.equals("p")) {
+ newLine();
+ } else if (tag.equals("li")) {
+ if (!isStartingLine())
+ newLine();
+ }
+ }
+
+ @Override
+ public boolean visitElement(Element node) {
+ String tag = node.getTagName();
+ if (tag.equals("p")) {
+ if (!isStartingLine())
+ newLine();
+ } else if (tag.equals("br")) {
+ newLine();
+ return false;
+ }
+
+ if (tag.equals("ol") || tag.equals("ul")) {
+ if (!isStartingLine())
+ newLine();
+ }
+ return true;
+ }
+
+ @Override
+ public void visitDocumentAfter(Document node) {}
+
+ @Override
+ public boolean visitDocument(Document node) {
+ return true;
+ }
+
+ protected void newLine() {
+ buf.append("\n");
+ }
+
+ protected boolean isStartingLine() {
+ int pos = buf.length();
+ if (pos == 0)
+ return true;
+ pos--;
+ while (pos >= 0) {
+ char ch = buf.charAt(pos);
+ if (ch == '\n' || ch == Character.LINE_SEPARATOR || ch == Character.PARAGRAPH_SEPARATOR )
+ return true;
+ if (!Character.isWhitespace(ch))
+ return false;
+ pos--;
+ }
+ return true;
+ }
+
+ protected StringBuilder buf;
+}
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlToTextVisitor.java b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlToTextVisitor.java
new file mode 100644
index 0000000..5115f31
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlToTextVisitor.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Ericsson AB.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.bundle.acceleo.html.files;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
+
+public class HtmlToTextVisitor extends HtmlStripTagVisitor implements IHtmlVisitor {
+ @Override
+ public boolean visitElement(Element node) {
+ boolean res = super.visitElement(node);
+ String tag = node.getTagName();
+ if (tag.equals("ol")) {
+ listIndent++;
+ lists.add(0);
+ } else if(tag.equals("ul")) {
+ listIndent++;
+ lists.add(-1);
+ } else if (tag.equals("li")) {
+ item = true;
+ if (lists.size() == 0)
+ lists.add(0);
+ int l = lists.get(lists.size()-1);
+ if (l >= 0) {
+ lists.set(lists.size()-1,l+1);
+ }
+ }
+ return res;
+ }
+
+ @Override
+ public void visitElementAfter(Element node) {
+ String tag = node.getTagName();
+ if (tag.equals("ol")) {
+ listIndent--;
+ lists.remove(lists.size()-1);
+ } else if(tag.equals("ul")) {
+ listIndent--;
+ lists.remove(lists.size()-1);
+ }
+ super.visitElementAfter(node);
+ }
+
+ @Override
+ public void visitText(Text node) {
+ if (newLine) {
+ for (int i=0; i<listIndent; i++) {
+ buf.append("\t");
+ }
+ }
+ newLine = false;
+
+ if (item && lists.size()>0) {
+ int l = lists.get(lists.size()-1);
+ if (l < 0) {
+ buf.append("- ");
+ } else if (l >= 0) {
+ buf.append(l).append(". ");
+ }
+ }
+ item = false;
+ super.visitText(node);
+ }
+
+ @Override
+ protected void newLine() {
+ super.newLine();
+ newLine = true;
+ }
+
+ private int listIndent = 0;
+ private boolean newLine = false;
+ private boolean item = false;
+ private List<Integer> lists = new ArrayList<Integer>();
+}
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlUtils.java b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlUtils.java
new file mode 100644
index 0000000..11b61b3
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/HtmlUtils.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Ericsson AB.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.bundle.acceleo.html.files;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+
+public class HtmlUtils {
+ public static void visit(Node node, IHtmlVisitor visitor) {
+ if (node instanceof Document) {
+ boolean visitChildren = visitor.visitDocument((Document)node);
+ if (visitChildren)
+ visitChildren(node, visitor);
+ visitor.visitDocumentAfter((Document)node);
+ } else if (node instanceof Element) {
+ boolean visitChildren = visitor.visitElement((Element)node);
+ if (visitChildren)
+ visitChildren(node, visitor);
+ visitor.visitElementAfter((Element)node);
+ } else if (node instanceof Text) {
+ visitor.visitText((Text)node);
+ } else {
+ visitChildren(node,visitor);
+ }
+ }
+
+ private static void visitChildren(Node node, IHtmlVisitor visitor) {
+ NodeList nl = node.getChildNodes();
+ for (int i=0; i<nl.getLength(); i++) {
+ Node n = nl.item(i);
+ visit(n, visitor);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/IHtmlVisitor.java b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/IHtmlVisitor.java
new file mode 100644
index 0000000..4897a70
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/IHtmlVisitor.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Ericsson AB.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.bundle.acceleo.html.files;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
+
+public interface IHtmlVisitor {
+ public boolean visitDocument(Document node);
+ public void visitDocumentAfter(Document node);
+ public boolean visitElement(Element node);
+ public void visitElementAfter(Element node);
+ public void visitText(Text node);
+}
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/TextToHtmlBuilder.java b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/TextToHtmlBuilder.java
new file mode 100644
index 0000000..8d8a3ed
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/TextToHtmlBuilder.java
@@ -0,0 +1,247 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Ericsson AB.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.bundle.acceleo.html.files;
+
+import java.io.BufferedReader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+import java.util.Locale;
+import java.util.Stack;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.eclipse.gendoc.bundle.acceleo.html.Activator;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+public class TextToHtmlBuilder {
+ private static final Transformer TRANSFORMER = initTransformer();
+ private static Transformer initTransformer() {
+ try {
+ Transformer tr = TransformerFactory.newInstance().newTransformer();
+ tr.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
+ tr.setOutputProperty(OutputKeys.INDENT, "true");
+ tr.setOutputProperty(OutputKeys.METHOD, "html");
+ tr.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+ tr.setOutputProperty(OutputKeys.STANDALONE, "no");
+ return tr;
+ } catch (TransformerConfigurationException e) {
+ Activator.error(e.getMessage(), e);
+ return null;
+ }
+ }
+
+ private static final DocumentBuilder DOC_BUILDER = initDocBuilder();
+ private static DocumentBuilder initDocBuilder() {
+ try {
+ return DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ } catch (ParserConfigurationException e) {
+ Activator.error(e.getMessage(), e);
+ return null;
+ }
+ }
+
+ private static final NumberFormat FLOAT_FORMAT = DecimalFormat.getNumberInstance(Locale.US);
+ private static final Pattern PATTERN_ROMAN = Pattern.compile(
+ "(M|MM|MMM|m|mm|mmm)?(C|CC|CCC|CD|D|DC|DCC|DCCC|CM|c|cc|ccc|cd|d|dc|dcc|dccc|cm)?"+
+ "(X|XX|XXX|XL|L|LX|LXX|LXXX|XC|x|xx|xxx|xl|l|lx|lxx|lxxx|xc)?"+
+ "(I|II|III|IV|V|VI|VII|VIII|IX|i|ii|iii|iv|v|vi|vii|viii|ix)?"+
+ "(\\.|\\)|\\.-|\\-.)\\s+");
+ private static final Pattern PATTERN_ORDER = Pattern.compile("([0-9]+|[a-zA-Z])(\\.([0-9]+|[a-zA-Z]))*(\\.|\\)|\\.-|\\-.|\\))\\s+");
+ private static final Pattern PATTERN_SYM = Pattern.compile("[\\-\\+\\*\\¤\\>o]\\s+");
+ private static final Pattern[] PATTERNS = new Pattern[] {
+ PATTERN_SYM, PATTERN_ORDER, PATTERN_ROMAN};
+ private static final Pattern[] PATTERNS_ORDER = new Pattern[] {
+ PATTERN_ORDER, PATTERN_ROMAN};
+
+ public TextToHtmlBuilder() {
+ document = DOC_BUILDER.newDocument();
+ element = (Element)document.appendChild(document.createElement("html"));
+ }
+
+ public void addText(String str) {
+ try {
+ BufferedReader r = new BufferedReader(new StringReader(str));
+ String line = r.readLine();
+ while (line != null) {
+ int indent = getIndent(line,tabSpaces);
+ int spaces = getWhitespaces(line);
+ line = line.substring(spaces);
+ String listPrefix = getListPrefix(line);
+ if (listPrefix != null) {
+ line = line.substring(listPrefix.length());
+ //line = replaceTabs(" ").replaceMultipleSpaces(" ");
+ listItem(indent,listPrefix, line);
+ } else {
+ //line = replaceTabs(" ").replaceMultipleSpaces(" ");
+ paragraph(indent, line);
+ }
+ line = r.readLine();
+ }
+ } catch (Exception e) {
+ Activator.error(e.getMessage(), e);
+ }
+ }
+
+ protected void listItem(int indent, String prefix, String line) {
+ boolean isNumber = isNumber(prefix);
+ int diff = indent - this.indentation;
+
+ if (diff > 0) {
+ indentation = indent;
+ listTabs.push(indentation);
+ element = (Element)element.appendChild(document.createElement(isNumber?"ol":"ul"));
+ } else if (diff < 0) {
+ popIndentation(indent);
+ }
+ if (element.getTagName().equals("li"))
+ element = (Element)element.getParentNode();
+
+ element = (Element)element.appendChild(document.createElement("li"));
+ element.appendChild(document.createTextNode(line));
+ }
+
+ protected void paragraph(int indent, String line) {
+ int diff = indent - this.indentation;
+
+ if (this.indentation == -1) {
+ // Add Indentation style.
+ Element pEl = (Element)element.appendChild(document.createElement("p"));
+ pEl.appendChild(document.createTextNode(line));
+ diff--;
+ if (diff > 0)
+ pEl.setAttribute("style", "margin-left:"+ FLOAT_FORMAT.format(tabSize*diff)+"cm;");
+ return;
+ }
+
+ if (diff > 0) {
+ Element pEl = (Element)element.appendChild(document.createElement("p"));
+ pEl.appendChild(document.createTextNode(line));
+ if (diff > 0)
+ pEl.setAttribute("style", "margin-left:"+ FLOAT_FORMAT.format(tabSize*diff)+"cm;");
+ return;
+ } else if (diff < 0 || (indentation == 0 && diff == 0)) {
+ popIndentation(indent);
+ }
+
+ if (element.getTagName().equals("li")) {
+ element.appendChild(document.createElement("br"));
+ element.appendChild(document.createTextNode(line));
+ } else {
+ element.appendChild(document.createElement("p")).appendChild(document.createTextNode(line));
+ }
+ }
+
+ private void popIndentation(int indent) {
+ while (indentation > indent) {
+ if (element.getTagName().equals("li")) {
+ element = (Element)element.getParentNode();
+ }
+ // Closing <ol> or <ul>
+ element = (Element)element.getParentNode();
+ if(listTabs.size() <= 1) {
+ indentation = -1;
+ } else {
+ listTabs.pop();
+ indentation = listTabs.peek();
+ }
+ }
+ }
+
+ private int getIndent(String line, int tab) {
+ int nInd = 0;
+ for (int i=0; i<line.length(); i++) {
+ char ch = line.charAt(i);
+ if (ch == '\t') {
+ nInd+=tab;
+ } else if (Character.isWhitespace(ch)){
+ nInd++;
+ } else {
+ return nInd;
+ }
+ }
+ return nInd;
+ }
+
+ private int getWhitespaces(String line) {
+ int nInd = 0;
+ for (int i=0; i<line.length(); i++) {
+ char ch = line.charAt(i);
+ if (Character.isWhitespace(ch)){
+ nInd++;
+ } else {
+ return nInd;
+ }
+ }
+ return nInd;
+ }
+
+ private String getListPrefix(String line) {
+ for (Pattern p : PATTERNS) {
+ Matcher m = p.matcher(line);
+ if (m.find() && m.start() == 0) {
+ String prefix = line.substring(0,m.end());
+ if (!prefix.isEmpty())
+ return prefix;
+ }
+ }
+ return null;
+ }
+
+ private boolean isNumber(String line) {
+ for (Pattern p : PATTERNS_ORDER) {
+ Matcher m = p.matcher(line);
+ if (m.matches()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ StringWriter w = new StringWriter();
+ try {
+ NodeList nl = document.getDocumentElement().getChildNodes();
+ for (int i=0; i<nl.getLength(); i++) {
+ TRANSFORMER.transform(new DOMSource(nl.item(i)), new StreamResult(w));
+ w.append("\n");
+ }
+ } catch (TransformerException e) {
+ Activator.error(e.getMessage(), e);
+ }
+ return w.toString();
+ }
+
+ private Document document;
+ private Element element;
+ private int tabSpaces = 4;
+ private float tabSize = .25f;
+ private Stack<Integer> listTabs = new Stack<Integer>();
+ private int indentation = -1;
+}
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/html.mtl b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/html.mtl
new file mode 100644
index 0000000..8b4ac27
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.html/src/org/eclipse/gendoc/bundle/acceleo/html/files/html.mtl
@@ -0,0 +1,30 @@
+[comment
+ Copyright (c) 2018 Ericsson AB.
+
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Antonio Campesino (Ericsson) - Initial API and implementation
+/]
+[module html('http://www.eclipse.org/emf/2002/Ecore')/]
+
+[comment - Return if the given string contains HTML tags/]
+[query public isHtml(arg : String) : Boolean
+ = invoke('org.eclipse.gendoc.bundle.acceleo.html.files.HtmlService', 'isHtml(java.lang.String)', Sequence{arg}) /]
+
+[comment - Return a string without html tags./]
+[query public stripHtmlTags(arg : String) : String
+ = invoke('org.eclipse.gendoc.bundle.acceleo.html.files.HtmlService', 'stripHtmlTags(java.lang.String)', Sequence{arg})/]
+
+[comment - Return a plain text string for the given html string./]
+[query public htmlToText(arg : String) : String
+ = invoke('org.eclipse.gendoc.bundle.acceleo.html.files.HtmlService', 'htmlToText(java.lang.String)', Sequence{arg})/]
+
+[comment - Return a html string for the given plain string./]
+[query public textToHtml(arg : String) : String
+ = invoke('org.eclipse.gendoc.bundle.acceleo.html.files.HtmlService', 'textToHtml(java.lang.String)', Sequence{arg})/]
+
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusContextService.java b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusContextService.java
index a0ff20b..3d63be3 100644
--- a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusContextService.java
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusContextService.java
@@ -9,6 +9,8 @@
*
* Contributors:
* Vincent Hemery (Atos Origin) - Initial API and implementation
+ * Antonio Campesino (Ericsson) - Bug 526483: Diagrams doesn't show in the
+ * generate document if the papyrus model file with blanks in the URI.
*
*****************************************************************************/
package org.eclipse.gendoc.bundle.acceleo.papyrus.service;
@@ -40,6 +42,7 @@
@Override
public void setModel(String modelPath) throws ModelNotFoundException
{
+
if (isPapyrusModel(modelPath))
{
EMFModelLoaderService loader = GendocServices.getDefault().getService(IEMFModelLoaderService.class);
@@ -50,6 +53,7 @@
GendocServices.getDefault().setService(IEMFModelLoaderService.class, emfService);
}
}
+ modelPath = URI.createURI(modelPath, true).toString();
super.setModel(modelPath);
}
diff --git a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusModelLoaderService.java b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusModelLoaderService.java
index edd4406..5cffa0f 100644
--- a/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusModelLoaderService.java
+++ b/plugins/org.eclipse.gendoc.bundle.acceleo.papyrus/src/org/eclipse/gendoc/bundle/acceleo/papyrus/service/PapyrusModelLoaderService.java
@@ -9,6 +9,8 @@
*
* Contributors:
* Vincent Hemery (Atos Origin) - Initial API and implementation
+ * Antonio Campesino (Ericsson) - Bug 526488: Not all proxies are resolved when
+ * loading resources for papyrus models for complex model dependencies.
*
*****************************************************************************/
package org.eclipse.gendoc.bundle.acceleo.papyrus.service;
@@ -22,6 +24,7 @@
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.gendoc.tags.handlers.impl.context.EMFModelLoaderService;
import org.eclipse.papyrus.infra.core.Activator;
import org.eclipse.papyrus.infra.core.resource.AbstractBaseModel;
@@ -63,7 +66,7 @@
{
try {
resourceSet = getPapyrusModelSet(modelURI);
-
+ EcoreUtil.resolveAll(resourceSet);
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/.classpath b/plugins/org.eclipse.gendoc.doc.pptx/.classpath
new file mode 100644
index 0000000..ad32c83
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/.project b/plugins/org.eclipse.gendoc.doc.pptx/.project
new file mode 100644
index 0000000..ecdd2c6
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.gendoc.doc.pptx</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.gendoc.doc.pptx/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/META-INF/MANIFEST.MF b/plugins/org.eclipse.gendoc.doc.pptx/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c3c6b9f
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Gendoc User Guide for PPTX
+Bundle-SymbolicName: org.eclipse.gendoc.doc.pptx;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Bundle-Activator: org.eclipse.gendoc.pptx.doc.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/about.html b/plugins/org.eclipse.gendoc.doc.pptx/about.html
new file mode 100644
index 0000000..c258ef5
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/build.properties b/plugins/org.eclipse.gendoc.doc.pptx/build.properties
new file mode 100644
index 0000000..c536a41
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+ META-INF/,\
+ .,\
+ html/,\
+ *.xml,\
+ about.html
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/configure_generation.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/configure_generation.html
new file mode 100644
index 0000000..b18921a
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/configure_generation.html
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <meta content="text/html; charset=windows-1252" http-equiv="content-type">
+ <title>Configure the generation: <config> tag</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+ <body>
+ <h2>Configure the generation: <config> tag</h2>
+ <p>The tag <b><span class="code"><config></span></b> must be defined
+ <b><u>only once</u></b>, on top of the template document, in a text box in
+ one of the first slides, before any other Gendoc tag.</p>
+ <p>This tag defines the path of the output document, and a list of global
+ parameters for the template.</p>
+ <h2>Define generation output</h2>
+ <p><b><span class="code"><output></span></b> tag is optional. If not
+ present, the document is generated at template location, with suffix
+ '_generated'</p>
+ <p>If defined, the syntax is the following:</p>
+ <div class="codeBox cbBg">
+ <p class="code"> <config><br>
+   <output path=<<Absolute path of the document to be
+ generated>> />   ...<br>
+ </config> </p>
+ </div>
+ <p class="MsoNormal"><span lang="EN-US">Global parameters can be used to
+ define a relative path.</span></p>
+ <div class="codeBox cbBg">
+ <p><u>Example</u>: The generated document will be located in
+ D:/generatedFile.xlsx</p>
+ <p class="code"> <config><br>
+   <output path='D:/generatedFile.xlsx' /><br>
+   ...<br>
+ </config> </p>
+ </div>
+ <a name="_Define_global_parameters">
+ <h2>Define global parameters for the template</h2>
+ <p>Global parameters for the template can be defined, for example to
+ define model path, folders to use or any other static value to be used
+ in template.</p>
+ <p>Parameters are defined in <b><config></b> tag with the following
+ syntax:</p>
+ <div class="codeBox">
+ <p class="code"><config> <br>
+   ...<br>
+   <param key=<<Parameter1_key>>
+ value=<<Parameter1_value>> /><br>
+   <param key=<<Parameter2_key>>
+ value=<<Parameter2_value>> /><br>
+   <param .../><br>
+ </config> </p>
+ </div>
+ <p>How to access parameters?</p>
+ <ul>
+ <li><b>${</b><i>paramKey</i><b>}</b> inside <span class="code"><context></span>
+ or other <span class="code"><param></span> , </li>
+ <li> <b>gGet(</b><i>paramKey</i><b>)</b> inside a <span class="code"><gendoc></span>
+ tag</li>
+ </ul>
+ <div class="codeBox cbBg">
+ <p><u>Example</u>: creation of global parameters for model folder,
+ model path, and path of a specific package inside model and example of
+ usage in <context> tag.</p>
+ <p class="code"> <config><br>
+   <param key='<span class="blue">model_path</span>'
+ value='D:/Models/Model_v1/My_model.uml'/><br>
+   <param key='<span class="blue">UC_package_path</span>'
+ value='/MyUMLModel/UseCases'/><br>
+ </config><br>
+ <context model='<span class="blue">${model_path}</span>' element='<span
+ class="blue">${UC_package_path}</span>'/> </p>
+ </div>
+ <h2>Pre-defined parameters</h2>
+ <p>Some <b><span class="code"><param></span></b> are pre-defined in
+ Gendoc and can be used directly in the template.</p>
+ <ul>
+ <li>
+ <p><b>${input}</b> is the name of the input template document</p>
+ </li>
+ </ul>
+ <div class="codeBox cbBg">
+ <p>Example:</p>
+ <p class="code"> <param key='<span class="blue">generation_folder</span>'
+ value='D:/Generated'/><br>
+ <output path='<span class="blue">${generation_folder}</span>/<span
+ class="blue">${input}</span>-generated.docx' /> </p>
+ </div>
+ <p>If the input document is named template1.docx, the result file is named
+ template1-generated.docx. </p>
+ <p>The following variables are also ready to be used by default:</p>
+ <ul>
+ <li><b>${date}</b> is the date of the generation. The format of the date
+ is 'yyyy-MM-dd-HHmmss'.</li>
+ <li><b>${input_directory}</b> location directory of the template.</li>
+ </ul>
+ <div class="codeBox cbBg">
+ <p>Example:</p>
+ <p><b><span class="code"><output path='<span class="blue">${input_directory}
+ </span>/<span class="blue">${input}</span>-generated-<span class="blue">${date}
+ </span>.docx' /></span></b></p>
+ <p>Result file example: template-generated-2014-08-02-093707.docx</p>
+ </div>
+ <h2>Use of variables inside parameters</h2>
+ <p>It is also possible to use variables defined in project of the
+ document.</p>
+ <p>From the project on Project Explorer view, right click > Properties
+ > Resource > Linked Resources > Path Variables</p>
+ <img src="img/configure_set_variables_dialog.png">
+ <p>Predefined variables or user variables can be used in the template.
+ They are NOT case-sensitive.</p>
+ <div class="codeBox cbBg">
+ <p><u>Example</u> :</p>
+ <p><span class="code"><b><output
+ path='${project_loc}/${input}-generated.docx' /></b></span></p>
+ </div>
+ <h2>4.5 Variables stored in another file</h2>
+ <p>As you may need to put many additional variables inside your project,
+ in order to make the config tag more readable and more reusable, you can
+ put the variables in a file with .properties extension. To access the
+ content of this file you should add the <span class="code"><properties></span>
+ tag in the following manner:</p>
+ <div class="codeBox cbBg">
+ <p><u>Example</u> :</p>
+ <p class="code"><properties path='<span class="blue">${input_directory}</span>/vars.properties'
+ /></p>
+ </div>
+ <p>Where the vars.properties may have the content like this:</p>
+ <div class="codeBox cbBg">
+ <p><u>Example</u> :</p>
+ <p class="code">
+ output_generation=${workspace_loc}/generated-${date}.docx<br>
+ input_model_prop=${input}/model.uml<br>
+ image_test=${project_loc}/company_logo.jpg </p>
+ <p> </p>
+ </div>
+ <p>These variables can be used in Gendoc tags :</p>
+ <div class="codeBox cbBg">
+ <p><u>Example</u> :</p>
+ <p class="code"><output path='<span class="blue">${output_generation}</span>'
+ /></p>
+ </div>
+ <h2>4.6 Context with CDO models</h2>
+ <p>You can use CDO URIs in context tags</p>
+ <div class="codeBox cbBg">
+ <p><u>Example</u> :</p>
+ <p class="code"><context
+ model=Â’cdo.net4j.tcp://localhost:2036/repository/resource?transactional=trueÂ’
+ element=Â’{0}Â’/></p>
+ </div>
+ </a>
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/creation_doc_generator.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/creation_doc_generator.html
new file mode 100644
index 0000000..a927907
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/creation_doc_generator.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <meta content="text/html; charset=windows-1252" http-equiv="content-type">
+ <title>Creation of a document generator</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+ <body>
+ <h2>Creation of a document generator</h2>
+ <ul>
+ <li><b>Create a new document</b> in MS Office 2007+ (.pptx) format or get
+ an existing document (with the company charter for example) in one of
+ these formats.</li>
+ <li>Define <b>static parts</b> in the slides that can be : images, text,
+ some data, formulas, etc.</li>
+ <li><b>Identify dynamic parts</b> with <gendoc> tags inside text
+ boxes in the slides.</li>
+ <li>Just adapt configuration parameters in template header:
+ <ul>
+ <li>Model path</li>
+ <li>Output file path</li>
+ </ul>
+ </li>
+ <li>Generate with a right click menu</li>
+ <li>As it is an iterative process, you can do it whenever you want</li>
+ </ul>
+ <p>Animations inside of <gendoc> tags are not supported. RichText is
+ not supported.</p>
+ <p>Note: Generation can also be launched in batch mode.</p>
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/define_execution_context.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/define_execution_context.html
new file mode 100644
index 0000000..5da5b58
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/define_execution_context.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <title>Define script execution context : <context> tag</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+
+ <body>
+
+ <h1>Define script execution context : <context> tag</h1>
+ <p>Before a <strong><gendoc> </strong>tag, a <strong><context> </strong>
+ must have been defined to determine the model and the element to use as starting context.</p>
+
+ <p><a name="#_<context>_tag_"/><strong><context> </strong>
+ tag can contain the following attributes :</p>
+ <ul>
+ <li><strong>model</strong> : Model absolute path (<a href="configure_generation.html#_Define_global_parameters">
+ global parameters</a> can be used)</li>
+ <li><strong>element</strong> : Path to the model element to use as script context (path from model root)</li>
+ <li><strong>importedBundles</strong> : List of external bundles names (separated by ‘;’ character)</li>
+ <li><strong>searchMetamodels</strong> : false(default)/true. <br /> Set to “true” when your model
+ uses element from external meta-models, for example with SysML, when both UML and SysML meta-models are used.</li>
+ </ul>
+
+ <div class="codeBox">
+ <p class="code"><span class="red"><context </span><br/>
+   model='${model_folder}/model_1.uml'<br/>
+   element='model/package1/subpackage1'<br/>
+   importedBundles='gmf;papyrus'<br/>
+   searchMetamodels='true'<br/>
+ <span class="red">/></span></p>
+ </div>
+
+ <p>The context tag <strong>must be defined at least once </strong>in the document.</p>
+ <p>When executing a script, the <strong>last defined</strong> context is used.</p>
+ <p>Values of the attributes that are not updated are <strong>kept from previous context.<br /></strong>
+ For example, “importedBundles” attribute can be defined only once in the document and will
+ be kept until a new value is indicated.</p>
+
+ <h2>Dealing with specific models</h2>
+
+ <h3>Using multiple meta-models</h3>
+
+ <p>If the model selected references another meta-model, set the following attribute to “true”
+ in order for gendoc to analyse meta-models used as references.</p>
+ <div class="codeBox">
+ <p class="code">searchMetamodels='true'</p>
+ </div>
+
+ <h3>Meta-models where elements have no ‘name’ feature</h3>
+
+ <p>With specific meta-models where elements have no ‘name’ property, context elements are defined:</p>
+ <ul>
+ <li>Using another property for all the elements in path
+ <ul>
+ <li>Ex : <span class="code"><context … element='id1/id2/id3' labelFeature='id'/> </span><br />
+ Property ‘id’ is used for all elements in path</li>
+ <li>Note : standard case is equivalent to <context … element='modelRoot/package1/subPackage1'
+ labelFeature='name'/></li>
+ </ul>
+ </li>
+ <li>Using another property only for some elements in path
+ <ul>
+ <li>Ex : <span class="code"><context … element='modelRoot/id=“id2”/subPackage1'/></span> <br />
+ Property ‘id’ is used only for the package part of the element path<br /> Property ‘name’ is used for others</li>
+ </ul>
+ </li>
+ <li>Using indexes of the position inside model tree (starting at 0 and not 1)
+ <ul>
+ <li>Ex: <span class="code"><context … element='modelRoot/{1}/subPackage1'/></span> <br/>
+ If package2 is at the second place inside the model.</li>
+ </ul>
+ </li>
+ </ul>
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/define_script_parts.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/define_script_parts.html
new file mode 100644
index 0000000..382255f
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/define_script_parts.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <meta content="text/html; charset=windows-1252" http-equiv="content-type">
+ <title>Define script parts: <gendoc> tag:</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+ <body>
+ <h1>Define script parts: <span class="code"><gendoc></span> tag :</h1>
+ <p>Each dynamic part corresponds to a <span class="code"><gendoc></span>
+ tag.</p>
+ <p>A <span class="code"><context> </span>tag must be present before,
+ in order to set the execution context.</p>
+ <p><span class="code"><gendoc> </span>tag can contain:</p>
+ <ul>
+ <li><a href="script_language.html">Acceleo script</a> (see details on this
+ language on <a href="http://eclipse.org/acceleo/">http://eclipse.org/acceleo/</a>)</li>
+ <li>Static text</li>
+ <li><a href="script_formatting.html">Styles (colors / bullets / Â…)</a></li>
+ <li><a href="script_images_generation.html">Images and diagrams</a></li>
+ </ul>
+ <p>Note: Rich text content is not supported in this release</p>
+ <p>Note: Animations inside <gendoc> tags are not supported in this
+ release.</p>
+ <p>Note: Bookmark are not supported in this release.</p>
+ <p>Note: External document inclusion is not supported in this release.</p>
+ <p>Note: List and tables are not supported in this release.</p>
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/configure_set_variables_dialog.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/configure_set_variables_dialog.png
new file mode 100644
index 0000000..6fdbee2
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/configure_set_variables_dialog.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/default_generation_popup.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/default_generation_popup.png
new file mode 100644
index 0000000..052599b
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/default_generation_popup.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/default_generation_wiz.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/default_generation_wiz.png
new file mode 100644
index 0000000..6de59c5
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/default_generation_wiz.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/frame.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/frame.png
new file mode 100644
index 0000000..4894d9c
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/frame.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/frame_h.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/frame_h.png
new file mode 100644
index 0000000..c5a1a55
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/frame_h.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/frame_w.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/frame_w.png
new file mode 100644
index 0000000..bf308df
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/frame_w.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/image_gen_orig.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/image_gen_orig.png
new file mode 100644
index 0000000..9b0ef89
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/image_gen_orig.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/loffice_bookmark_ico2.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/loffice_bookmark_ico2.png
new file mode 100644
index 0000000..6a7cef9
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/loffice_bookmark_ico2.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/logo.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/logo.png
new file mode 100644
index 0000000..209fb0c
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/logo.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/ooffice_bookmark_ico1.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/ooffice_bookmark_ico1.png
new file mode 100644
index 0000000..1792f45
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/ooffice_bookmark_ico1.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/warning.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/warning.png
new file mode 100644
index 0000000..05ec6b6
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/warning.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/word_bookmark_ico.png b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/word_bookmark_ico.png
new file mode 100644
index 0000000..ddacebb
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/img/word_bookmark_ico.png
Binary files differ
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/reusing_scripts.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/reusing_scripts.html
new file mode 100644
index 0000000..a5df43e
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/reusing_scripts.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <meta content="text/html; charset=windows-1252" http-equiv="content-type">
+ <title>Reusing gendoc scripts inside the same document: <fragment> tag</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+ <body>
+ <h1>Reusing gendoc scripts inside the same document: <span class="codeHeading"><fragment></span>
+ tag</h1>
+ <p>If a script section is used several times in a same document template,
+ tag <span class="code"><fragment></span> can be used to define the
+ script section and its attributes.</p>
+ <p>It can then be called from <span class="code"><gendoc></span> tags
+ <strong><u>inside the same template document</u></strong></p>
+ <p><span class="code"><fragment></span> tag can contain the following
+ attributes:</p>
+ <ul>
+ <li><strong>name (Mandatory)</strong> : the name to call to use the
+ fragment</li>
+ <li><strong>importedBundles</strong> (Optional) : the <a href="bundles.html">external
+ bundles</a> needed in the fragment code (separated by <strong>;</strong>)</li>
+ <li><strong>removeClosingLine</strong>(Optional) : when this attribute is
+ set to ‘true’ the line containing the closing tag (<span class="code"></fragment></span>)
+ is removed during the generation</li>
+ </ul>
+ <br>
+ <table class="pptx" border="solid" height="320" width="540">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr height="75">
+ <td><dropSlide/><br>
+ <span class="blue"><fragment name=Â’displayDiagramÂ’
+ importedBundles=Â’commons;gmf;papyrusÂ’><br>
+  <arg name=Â’elementÂ’ type=Â’uml::ElementÂ’/><br>
+ </span><br>
+ <dropSlide/><br>
+ [for (d:Diagram|element.getPapyrusDiagrams())]</td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" height="320" width="540">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td> Diagram [d.name/]: </td>
+ </tr>
+ <tr height="200">
+ <td valign="top"> <image object=Â’[d.getDiagram()/]Â’
+ maxH=Â’trueÂ’/> </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" height="320" width="540">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td>  [/for]<br>
+ <span class="blue"></span><dropSlide/><br>
+ <span class="blue"></fragment><br>
+ </span><dropSlide/><br>
+ <span class="blue"></span></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" height="320" width="540">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td> <gendoc><br>
+ [for(p:Package|Package.allInstances())]<br>
+ <dropSlide/><br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" height="320" width="540">
+ <tbody>
+ <tr height="140px" valign="center">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td> <span class="blue">[p.displayDiagram()/]</span> </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" height="320" width="540">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td> <dropSlide/><br>
+  [/for] <br>
+ </gendoc> </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_bookmarks_generation.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_bookmarks_generation.html
new file mode 100644
index 0000000..3372922
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_bookmarks_generation.html
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <title>Bookmarks and hyperlinks generation</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+
+ <body>
+ <h2>Bookmarks and hyperlinks generation</h2>
+ <p>The complexity of generating bookmarks and hyperlinks in an output document is the
+ dynamicity of both bookmarks and hyperlinks.</p>
+ <p>The idea is to find a generated or not unique ID that will link source (hyperlink)
+ and target (bookmark) location in the document.</p>
+ <p>The following example shows how to create dynamic bookmarks and hyperlinks in templates
+ for a UML model containing classes, with references to other classes inside attributes.</p>
+ <table width="688" class="sample">
+ <tbody>
+ <tr class="heading">
+ <td colspan="2" width="430">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="257">
+ <p><strong>Output details</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td width="16" class="heading">
+ <p class="vertical" style="height:120px;"><strong>Step1</strong></p>
+ </td>
+ <td width="394">
+ <p><strong>Display classes and their attributes and types :</strong></p>
+ <p class="code"><context model=’${project_loc}/Models/TrafficLightManager.uml’ element='TrafficLightManager/LogicalView'/><br/>
+ <gendoc><drop/><br/>
+  [for (c:Class|self.ownedElement->filter(Class)->sortedBy(name))]</p>
+ <p class="blue">[c.name/]</p>
+ <p class="code">  [for (a:Property|c.ownedAttribute->filter(NamedElement)->sortedBy(name))]</p>
+ <p><strong>-[a.name/]</strong>: [a.type.name/]</p>
+ <p class="code">  [/for]<br/>
+  [/for]<br/>
+ </gendoc><br/>
+ </td>
+ <td width="257">
+ <p class="blue">TrafficLight</p>
+ <p>-<strong>green fire</strong>: GreenFire</p>
+ <p>-<strong>orange fire</strong>: OrangeFire</p>
+ <p>-<strong>red fire</strong>: RedFire</p>
+ <p class="blue">GreenFire</p>
+ <p class="blue">OrangeFire</p>
+ <p class="blue">RedFire</p>
+ </td>
+ </tr>
+ <tr>
+ <td width="16" class="heading">
+ <p class="vertical" style="height:120px;"><strong>Step2</strong></p>
+ </td>
+ <td width="394">
+ <p><strong>Add a (static) bookmark on the class name :</strong></p>
+ <p class="code"><context model=’${project_loc}/Models/TrafficLightManager.uml’ element='TrafficLightManager/LogicalView'/><br/>
+ <gendoc><drop/><br/>
+  [for (c:Class|self.ownedElement->filter(Class)->sortedBy(name))]</p>
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">[c.name/]</span> Add a bookmark :</p>
+ <ul class="dashed">
+ <li>On MS Word: <img src="img/word_bookmark_ico.png"/> Insert > Links > Bookmark</li>
+ <li>On OpenOffice / LibreOffice Writer : <img src="img/ooffice_bookmark_ico1.png"/> / <img src="img/loffice_bookmark_ico2.png"/> Insert > Bookmark</li>
+ </ul>
+ <p>Name of the bookmark (must be unique in document) : <br/>
+ <span class="code"> c_name_bookmark</span></p>
+ </div>
+ <p class="code">  [for (a:Property|c.ownedAttribute->filter(NamedElement)->sortedBy(name))]</p>
+ <p>-<strong>[a.name/]</strong>: [a.type.name/]</p>
+ <p class="code">  [/for]<br/>
+  [/for]<br/>
+ </gendoc></p>
+ </td>
+ <td width="257">
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">TrafficLight</span><br/>
+ bookmark <span style="color:black;">c_name_bookmark</span></p>
+ </div>
+ <p>-<strong>green fire</strong>: GreenFire</p>
+ <p>-<strong>orange fire</strong>: OrangeFire</p>
+ <p>-<strong>red fire</strong>: RedFire</p>
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">GreenFire</span><br/>
+ bookmark <span style="color:black;">c_name_bookmark</span></p>
+ </div>
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">OrangeFire</span><br/>
+ bookmark <span style="color:black;">c_name_bookmark</span></p>
+ </div>
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">RedFire</span><br/>
+ bookmark <span style="color:black;">c_name_bookmark</span></p>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td width="16" class="heading">
+ <p class="vertical" style="height:120px;"><strong>Step3</strong></p>
+ </td>
+ <td width="434">
+ <p><strong>Add dynamicity on the bookmark :</strong></p>
+ <p>Indicate in a dedicated tag on top of document how to generate a dynamic ID at bookmark location to make bookmark become dynamic.</p>
+ <p>What will the bookmark point to : class c</p>
+ <p>How to generate a unique Id for class c : use <a href="bundles_common.html#_Commons">service getId() from bundle commons</a>.</p>
+ <p class="code"><context model=’${project_loc}/Models/TrafficLightManager.uml’ element='TrafficLightManager/LogicalView'/></p>
+ <p class="code lgbluebk blue">
+ <bookmarks><br/>
+  <alias source=’c_name_bookmark’ target=’[c.getId()/]’/><br/>
+ </bookmarks>
+ </p>
+ <p class="code"><gendoc><drop/><br/>
+  [for (c:Class|self.ownedElement->filter(Class)->sortedBy(name))]</p>
+ <p class="lgbluebk blue"><strong>[c.name/] Bookmark named :</strong><span class="code">c_name_bookmark</span></p>
+ <p class="code">  [for (a:Property|c.ownedAttribute->filter(NamedElement)->sortedBy(name))]</p>
+ <p>-<strong>[a.name/]</strong>: [a.type.name/]</p>
+ <p class="code">
+   [/for]<br/>
+  [/for]</br>
+ </gendoc>
+ </p>
+ </td>
+ <td width="217">
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">TrafficLight</span><br/>
+ bookmark TrafficLight class ID</p>
+ </div>
+ <p>-<strong>green fire</strong>: GreenFire</p>
+ <p>-<strong>orange fire</strong>: OrangeFire</p>
+ <p>-<strong>red fire</strong>: RedFire</p>
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">GreenFire</span><br/>
+ bookmark GreenFire class ID</p>
+ </div>
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">OrangeFire</span><br/>
+ bookmark OrangeFire class ID</p>
+ </div>
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">RedFire</span><br/>
+ bookmark RedFire class ID</p>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td width="16" class="heading">
+ <p class="vertical" style="height:120px;"><strong>Step4</strong></p>
+ </td>
+ <td width="434">
+ <p><strong>Add hyperlinks to the (future) bookmark location : </strong></p>
+ <p>The hyperlink must also be dynamic and point to the future bookmark location, here the
+ generated unique ID for the class.</p>
+ <p>So the hyperlink must no point on c_name_bookmark (it would be replaced by
+ <span class="code">c.getId()</span> and point to current class), but to the
+ id of the property type class: <span class="code">a.type.getId()</span>.</p>
+ <p class="code">
+ <context model=’${project_loc}/Models/TrafficLightManager.uml’
+ element='TrafficLightManager/LogicalView'/><br/>
+ <bookmarks><br/>
+  <alias source=’c_name_bookmark’ target=’[c.getId()/]’/><br/>
+ </bookmarks><br/>
+ <gendoc><drop/><br/>
+  [for (c:Class|self.ownedElement->filter(Class)->sortedBy(name))]</p>
+ <p class="lgbluebk blue">
+ <strong>  [c.name/] Bookmark named : <span style="color:black;">c_name_bookmark</span></strong><br/>
+ </p>
+ <p class="code">
+   [for (a:Property|c.ownedAttribute->filter(NamedElement)->sortedBy(name))]</p>
+ <p>
+   -<strong>[a.name/]</strong>: [a.type.name/]
+ </p>
+ <p class="lgbluebk blue"><strong>    Add an hyperlink (Insert > Hyperlink … )<br/>
+     to the ID of the property type : #[<span class="code">a.type.getId()</span>/]</strong></p>
+ <p class="code">
+   [/for]<br/>
+  [/for]<br/>
+ </gendoc>
+ </p>
+ </td>
+ <td width="217">
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">TrafficLight</span><br/>
+ bookmark TrafficLight class ID</p>
+ <p style="margin-left:0.5cm;">-<strong>green fire</strong>: <span class="turqhl">GreenFire</span><br />
+ hyperlink <br />
+ to GreenFire class ID</p>
+ <p style="margin-left:0.5cm;">-<strong>orange fire</strong>: <span class="turqhl">OrangeFire</span><br />
+ hyperlink <br />
+ to GreenFire class ID</p>
+ <p style="margin-left:0.5cm;">-<strong>red fire</strong>: <span class="turqhl">RedFire</span><br/>
+ hyperlink <br />
+ to GreenFire class ID</p>
+ </div>
+ <div class="lgbluebk blue">
+ <p> <span class="turqhl">GreenFire</span><br/>
+ bookmark GreenFire class ID</p>
+ </div>
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">OrangeFire</span><br/>
+ bookmark OrangeFire class ID</p>
+ </div>
+ <div class="lgbluebk blue">
+ <p> <span class="bluehl">RedFire</span><br/>
+ bookmark RedFire class ID</p>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td width="16" class="heading">
+ <p class="vertical" style="height:120px;"><strong>Final output</strong></p>
+ </td>
+ <td colspan="2" width="652">
+ <p><a name="_QE7VYFI4EeGqaIKQSWhWfA"/><strong>GreenFire</strong></p>
+ <p><a name="_RNDbEFI4EeGqaIKQSWhWfA"/><strong>OrangeFire</strong></p>
+ <p><a name="_OTFkUFI4EeGqaIKQSWhWfA"/><strong>RedFire</strong></p>
+ <p><strong>TrafficLight</strong></p>
+ <p>- <strong>green fire</strong>: <a href="#_QE7VYFI4EeGqaIKQSWhWfA">GreenFire</a></p>
+ <p>- <strong>orange fire</strong>: <a href="#_RNDbEFI4EeGqaIKQSWhWfA">OrangeFire</a></p>
+ <p>- <strong>red fire</strong>: <a href="#_OTFkUFI4EeGqaIKQSWhWfA">RedFire</a></p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_external_documents_generation.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_external_documents_generation.html
new file mode 100644
index 0000000..20ca181
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_external_documents_generation.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <title>Enclose the external document</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+
+ <body>
+ <h2>Enclose the external document</h2>
+ <p>Gendoc offers the possibility of importing the content of an external document inside output,
+ <strong><u>for Microsoft Word templates only</u></strong>, through tag <span class="code"><include></span>.</p>
+ <p><span class="code"><include></span> tag must be contained in a <span class="code"><gendoc></span> tag.</p>
+ <p>The absolute path of the file to be imported is defined in filePath attribute.
+ The following file formats are supported: docx, txt, html.</p>
+ <div class="codeBox cbBg code">
+ <p>
+ <gendoc><br/>
+   <include filePath=‘C:/myFolder/anotherFile.docx’/><br/>
+ </gendoc>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_formatting.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_formatting.html
new file mode 100644
index 0000000..c2eb2c7
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_formatting.html
@@ -0,0 +1,978 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <meta content="text/html; charset=windows-1252" http-equiv="content-type">
+ <title>Formatting</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+ <body>
+ <h2>Formatting</h2>
+ <h3>Removing extra lines</h3>
+ <p>All characters inside scripts are used for generation output, including
+ spaces, line breaks, or carriage return characters.</p>
+ <table class="sample" width="100%">
+ <tbody>
+ <tr class="heading">
+ <td width="340">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="200">
+ <p><strong>Actual output</strong></p>
+ </td>
+ <td width="200">
+ <p><strong>Expected output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="340">
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td valign="top"><gendoc>¶ </td>
+ </tr>
+ <tr>
+ <td style="white-space: wrap;"> ..[for (p:Package |
+ self.ownedElement->filter( Package
+ )->sortedBy(name))].¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">[p.name/].¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td> ..[/for].¶ </td>
+ </tr>
+ <tr>
+ <td> </gendoc>.¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td valign="top">
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td valign="top">¶ </td>
+ </tr>
+ <tr>
+ <td style="white-space: wrap;"> ...¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">Allocations.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> ...¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">Context.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> ...¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">LogicalView.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> ...¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">PhisicalView.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> ...¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">UseCases.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td> ...¶ </td>
+ </tr>
+ <tr>
+ <td> .¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td valign="top" width="187">
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">Allocations.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">Context.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">LogicalView.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">PhisicalView.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">UseCases.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <p><span class="code"><drop/></span> tag allows to remove extra <strong>lines</strong>.<strong>
+ </strong><span class="code">If after applying <drop/></span> tag,
+ the textbox containing it is empty, the empty text box is removed also.</p>
+ <p> <span class="code"><dropSlide/></span> tag allows to remove the
+ whole slide<strong>. <br>
+ </strong></p>
+ <p>Document generation is internally performed in two steps and <span class="code"><drop/></span>
+ tag removes the <strong><u>WHOLE</u></strong> paragraph in which it is
+ contained and <dropSlide/> tag removes the whole slide in which it
+ is contained, so it must be handled with care.</p>
+ <p>First step is to analyze the lines to get as output to understand where
+ the extra lines come from in the template and where the <drop/> tags
+ should be located.</p>
+ <table class="sample" width="100%">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td valign="top"><gendoc><span style="background:#00FFFF;">¶</span>
+ </td>
+ </tr>
+ <tr>
+ <td style="white-space: wrap;"> <span style="background:yellow;">..</span>[for
+ (p:Package | self.ownedElement->filter( Package
+ )->sortedBy(name))]<span style="background:#00FF00;">.¶</span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">[p.name/].¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td> <span style="background:pink;">..</span>[/for]<span
+ style="background:red;">.¶</span> </td>
+ </tr>
+ <tr>
+ <td> </gendoc><span style="background:#00FFFF;">¶</span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td valign="top"><span style="background:#00FFFF;">¶</span>
+ </td>
+ </tr>
+ <tr>
+ <td style="white-space: wrap;"> <span style="background:yellow;">..</span><span
+ style="background:#00FF00;">.¶</span> </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">Allocations.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> <span style="background:yellow;">..</span><span
+ style="background:#00FF00;">.¶</span> </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">Context.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> <span style="background:pink;">..</span><span
+ style="background:#00FF00;">.¶</span> </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">LogicalView.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> <span style="background:pink;">..</span><span
+ style="background:#00FF00;">.¶</span> </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">PhisicalView.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> <span style="background:pink;">..</span><span
+ style="background:#00FF00;">.¶</span> </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">UseCases.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td> <span style="background:pink;">..</span><span style="background:#00FF00;"></span><span
+ style="background:red;">.¶</span> </td>
+ </tr>
+ <tr>
+ <td> <span style="background:#00FFFF;">¶</span> </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <table width="100%">
+ <tbody>
+ <tr>
+ <td class="heading">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td class="heading" width="198">
+ <p><strong>before <drop/> and <dropSlide/>
+ handling</strong></p>
+ </td>
+ <td class="heading" width="139">
+ <p><strong>Final output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="281">
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td valign="top"><gendoc>¶ </td>
+ </tr>
+ <tr>
+ <td style="white-space: wrap;">..[for (p:Package |
+ self.ownedElement->filter( Package
+ )->sortedBy(name))].<dropSlide/>¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">[p.name/].¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td> ..[/for].¶ </td>
+ </tr>
+ <tr>
+ <td> </gendoc>.<dropSlide>¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td valign="top" width="151">
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td valign="top">¶ </td>
+ </tr>
+ <tr>
+ <td style="white-space: wrap;">...<dropSlide/>¶
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">Allocations.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> .<dropSlide/>..¶
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">Context.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> .<dropSlide/>..¶
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">LogicalView.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> .<dropSlide/>..¶
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">PhisicalView.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="white-space: wrap;"> .<dropSlide/>..¶</td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">UseCases.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td> ...¶ </td>
+ </tr>
+ <tr>
+ <td> .<dropSlide/>¶ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td valign="top" width="187">
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">Allocations.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">Context.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">LogicalView.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">PhisicalView.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td><strong style="font-weight:900;">UseCases.¶</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <h3>Removing lines with empty content</h3>
+ <p>Tag <span class="code"><dropEmpty/></span> drop a paragraph if the
+ tag content is empty.</p>
+ <!--
+ <h3>Removing line breaks</h3> <p>Using tag <nobr/> allows to make template scripts easier to maintain, because code can be written on several paragraphs without displaying line breaks in output document, such as in the following example.</p> <table class="sample"> <tbody> <tr class="heading"> <td width="307"> <p><strong>Template content</strong></p> </td> <td width="307"> <p><strong>Output</strong></p> </td> </tr> <tr> <td width="307"> <p> <span class="code"> <strong><gendoc></strong><br/> <strong>[for (p:Package| … )]<drop/>¶</strong><br/> </span> Name:<strong> <span class="blue"><nobr/>¶</span></strong><br/> <span class="code">  <strong> [if ( … )]<drop/>¶</strong><br/> </span>  [p.name/]<strong>¶</strong><br/> <span class="code">  <strong> [else]<drop/>¶</strong><br/> </span>  Not found<strong>¶</strong><br/> <span class="code">  <strong> [/if]<drop/> ¶</strong><br/> </span> <<Other info on package>><strong>¶</strong><br/> <strong>¶</strong><br/> <span class="code"> <strong>[/for]<drop/>¶</strong><br/> <strong></gendoc>¶</strong> </span> </p> </td> <td width="307"> <p> Name: Actors<br/> Name: DeploymentView<br/> Name: Actors<strong>¶</strong><br/> <<Other info on package>><strong>¶</strong><br/> <strong>¶</strong><br/> Name: LogicalView<strong>¶</strong><br/> <<Other info on package>><strong>¶</strong><br/> <strong>¶</strong><br/> Name: UseCaseView<strong>¶</strong><br/> <<Other info on package>><strong>¶</strong><br/> <strong>¶</strong><br/> Name: Not found<strong>¶</strong><br/> <<Other info on package>><strong>¶</strong><br/> <strong>¶</strong> </p> </td> </tr> </tbody> </table> -->
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_images_generation.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_images_generation.html
new file mode 100644
index 0000000..3d8174f
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_images_generation.html
@@ -0,0 +1,714 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <meta content="text/html; charset=windows-1252" http-equiv="content-type">
+ <title>Images generation</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+ <body>
+ <h2>Images generation</h2>
+ <p><span class="code"><image></span> tag must be defined under a <span
+ class="code"><gendoc></span> tag.</p>
+ <p>It shall define one of the following attributes:</p>
+ <ul>
+ <li><span class="code">object</span> for diagram generation, filled with
+ an ID of the diagram. <a href="#_Displaying_diagrams">See Diagram
+ generation section</a>.</li>
+ <li><span class="code">filePath</span> for static image generation, filled
+ with the image absolute path. <a href="#_Displaying_static_images">See
+ static image generation section</a>.</li>
+ </ul>
+ <p>The drawing are correspond to the entire text box:</p>
+ <table class="pptx" border="solid" width="600">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td style="height: 17px;"><context
+ model='D:/Â…/myModel.uml'/> <gendoc><br>
+ </td>
+ </tr>
+ <tr>
+ <td>[for (p:Package | Package.allInstances())]</td>
+ </tr>
+ <tr height="150px" valign="top">
+ <td><strong style="font-weight:900;"><image Â… /></strong></td>
+ </tr>
+ <tr>
+ <td></for><br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <h3>Customize image size</h3>
+ <p><span class="code"><image> tag provides the following attributes to
+ handle image size customization: keepW, keepH, maxW, maxH. They are used
+ in association with the dimensions of the drawing area inside
+ <image> tag:</span></p>
+ <ul>
+ <li><strong>keepW</strong>: output image width will be the same as drawing
+ area width</li>
+ <li><strong>keepH</strong>: output image height will be the same as
+ drawing area height</li>
+ <li><strong>maxW</strong>: output image width will not oversize drawing
+ area width</li>
+ <li><strong>maxH</strong>: output image height will not oversize drawing
+ area height</li>
+ </ul>
+ <p>Possible values for these attributes: <span class="code">false</span>(default),
+ <span class="code">true</span>.</p>
+ <p>For the following initial image:</p>
+ <img src="img/image_gen_orig.png" width="350"><br>
+ <br>
+ <ul>
+ <li>Fix image width, height is computed proportionally, the image overlap
+ partially the next boxes.</li>
+ </ul>
+ <br>
+ <ul>
+ </ul>
+ <table class="sample" width="900px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td height="22"><gendoc></td>
+ </tr>
+ <tr height="75" valign="top">
+ <td class="code"><image object='…' <span class="blue">keepW=‘true’
+ keepH=‘false’/></span></td>
+ </tr>
+ <tr valign="top">
+ <td height="22"></gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td width="50%">
+ <table class="pptx" border="solid" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td height="22"><br>
+ </td>
+ </tr>
+ <tr height="75" valign="top">
+ <td><img class="border" src="img/image_gen_orig.png" width="350"></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <ul>
+ </ul>
+ <br>
+ <ul>
+ <li>Fix image height, width is computed proportionally</li>
+ </ul>
+ <br>
+ <ul>
+ </ul>
+ <table class="sample" width="900px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td height="22"><gendoc></td>
+ </tr>
+ <tr height="75" valign="top">
+ <td class="code"><image object='…' <span class="blue">keepW=‘false’
+ keepH=‘true’/></span><span class="blue"></span></td>
+ </tr>
+ <tr valign="top">
+ <td height="22"></gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr height="22">
+ <td><br>
+ </td>
+ </tr>
+ <tr height="75" valign="top">
+ <td><img class="border" src="img/image_gen_orig.png" height="65"
+ width="390"></td>
+ </tr>
+ <tr valign="top">
+ <td height="22"><br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <ul>
+ </ul>
+ <br>
+ <strong></strong>
+ <ul>
+ <li><strong><u>TO BE AVOIDED</u></strong> : Fix image height and width</li>
+ </ul>
+ <br>
+ <ul>
+ </ul>
+ <table class="sample" width="900px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td height="22"><gendoc></td>
+ </tr>
+ <tr height="75" valign="top">
+ <td class="code"><image object='…' <span class="blue">keepW=‘true’
+ keepH=‘true’/></span><span class="blue"></span></td>
+ </tr>
+ <tr valign="top">
+ <td height="22"></gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr height="22">
+ <td><br>
+ </td>
+ </tr>
+ <tr height="75" valign="top">
+ <td><img class="border" src="img/image_gen_orig.png" height="65"
+ width="340"></td>
+ </tr>
+ <tr valign="top">
+ <td height="22"><br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <ul>
+ </ul>
+ <br>
+ <ul>
+ <li>Ensure the image will not oversize a specified width
+ <ul>
+ <li>Case 1 : Image is smaller than the drawing area<br>
+ Output corresponds to origin image dimensions, and the picture may
+ overlap with the following rows.</li>
+ </ul>
+ <br>
+ <ul>
+ </ul>
+ </li>
+ </ul>
+ <table class="sample" width="900px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td height="22"><gendoc></td>
+ </tr>
+ <tr height="75" valign="top">
+ <td class="code"><image object='…' <span class="blue">maxW=‘true’/></span><span
+ class="blue"></span></td>
+ </tr>
+ <tr valign="top">
+ <td height="22"></gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr height="22">
+ <td><br>
+ </td>
+ </tr>
+ <tr height="75" valign="top">
+ <td><img class="border" src="img/image_gen_orig.png" width="280"></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <ul>
+ </ul>
+ <br>
+ <ul>
+ <ul>
+ <li>Case 2 : Image is larger than the drawing area<br>
+ Output corresponds to drawing area dimension:</li>
+ </ul>
+ </ul>
+ <br>
+ <ul>
+ </ul>
+ <table class="sample" width="900px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr valign="top">
+ <td>
+ <table style="width: 265px; height: 158px;" class="pptx">
+ <tbody>
+ <tr>
+ <td height="22"><gendoc></td>
+ </tr>
+ <tr height="75" valign="top">
+ <td class="code"><image object='…' <span class="blue">maxW=‘true’/></span><span
+ class="blue"></span></td>
+ </tr>
+ <tr valign="top">
+ <td height="22"></gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table style="width: 265px; height: 195px;" class="pptx">
+ <tbody>
+ <tr height="22">
+ <td><br>
+ </td>
+ </tr>
+ <tr height="75" valign="top">
+ <td><img class="border" src="img/image_gen_orig.png" width="242"></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <ul>
+ </ul>
+ <br>
+ <ul>
+ <li>Ensure the image will not oversize a specified height
+ <ul>
+ <li>Case 1 : Image is smaller than the drawing area<br>
+ Output corresponds to origin image dimensions</li>
+ </ul>
+ <br>
+ <ul>
+ </ul>
+ </li>
+ </ul>
+ <table class="sample" width="900px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td height="22"><gendoc></td>
+ </tr>
+ <tr height="110" valign="top">
+ <td class="code"><image object='…' <span class="blue">maxH=‘true’/></span><span
+ class="blue"></span></td>
+ </tr>
+ <tr valign="top">
+ <td height="22"></gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table style="width: 265px;" class="pptx">
+ <tbody>
+ <tr height="22">
+ <td><br>
+ </td>
+ </tr>
+ <tr height="110" valign="top">
+ <td><img class="border" src="img/image_gen_orig.png" height="75"></td>
+ </tr>
+ <tr height="22">
+ <td><br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <ul>
+ </ul>
+ <br>
+ <ul>
+ <li>Case 2 : Image is larger than the drawing area<br>
+ Output corresponds to drawing area dimension:</li>
+ </ul>
+ <br>
+ <ul>
+ </ul>
+ <table class="sample" width="920px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td height="22"><gendoc></td>
+ </tr>
+ <tr height="115" valign="top">
+ <td class="code"><image object='…' <span class="blue">maxH=‘true’/></span><span
+ class="blue"></span></td>
+ </tr>
+ <tr valign="top">
+ <td height="22"></gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr height="22">
+ <td><br>
+ </td>
+ </tr>
+ <tr height="110" valign="top">
+ <td><img class="border" src="img/image_gen_orig.png" height="110"></td>
+ </tr>
+ <tr height="22">
+ <td><br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <a name="_Displaying_diagrams">
+ <h3>Displaying diagrams</h3>
+ </a>
+ <p><a name="_Displaying_diagrams">Attribute object shall be filled by an ID
+ of the diagram. Diagram ID can be generated by </a><a href="bundles.html#_Gmf">service
+ getDiagram from bundle gmf</a>, called on the diagram:</p>
+ <table class="sample" width="800px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td height="22"><context model='${model}'
+ importedBundles='gmf;papyrus'/><br>
+ <gendoc><br>
+ [for (diag : Diagram|
+ self.getPapyrusDiagrams()]</td>
+ </tr>
+ <tr height="115" valign="top">
+ <td class="code"> <image
+ object='[diag.getDiagram()/]' maxW='true'
+ keepH='false'/> <span class="blue"></span><span
+ class="blue"></span></td>
+ </tr>
+ <tr valign="top">
+ <td height="22">[/for]<br>
+ </gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <a name="_Displaying_static_images">
+ <h3>Displaying static images</h3>
+ <p><span class="code"><image></span> tag can also be used for static
+ image generation, with the following content:</p>
+ <ul>
+ <li>attribute <span class="code">filePath</span> shall contain the
+ absolute path of the static image. <br>
+ The following image formats are supported : GIF, JPG, JPEG, BMP, PNG,
+ SVG</li>
+ <li><span class="code"><image></span> tag shall contain an empty
+ drawing area (alignment, text adaptation, Â…)</li>
+ <li>size attributes can be used : <span class="code">keepW</span>, <span
+ class="code">keepH</span>, <span class="code">maxW</span>, <span class="code">maxH</span></li>
+ </ul>
+ <p>The following example shows the display of a static image:</p>
+ <table class="sample" width="920px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Output</strong></p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td height="62"><context
+ model='${model_path}'/><br>
+ <gendoc><br>
+ Project logo is displayed below :</td>
+ </tr>
+ <tr height="115" valign="top">
+ <td class="code"> <image
+ filePath='D:/gendoc_logo.jpg' maxW='true'/> <span
+ class="blue"></span><span class="blue"></span></td>
+ </tr>
+ <tr valign="top">
+ <td height="22">[/for]<br>
+ </gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td width="50%">
+ <table class="pptx" border="solid" height="320" width="100%">
+ <tbody>
+ <tr valign="top">
+ <td>
+ <table class="pptx" width="100%">
+ <tbody>
+ <tr>
+ <td height="62">Project logo is displayed
+ below :<br>
+ </td>
+ </tr>
+ <tr height="115" valign="top">
+ <td class="code"><span class="blue"></span><span class="blue"></span><img
+ class="border" src="img/logo.png" height="100"></td>
+ </tr>
+ <tr valign="top">
+ <td height="22">[/for]<br>
+ </gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </a>
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_language.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_language.html
new file mode 100644
index 0000000..20e69ad
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_language.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <meta content="text/html; charset=windows-1252" http-equiv="content-type">
+ <title>Script language</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+ <body>
+ <h2>Script language</h2>
+ <p>The content of a gendoc tag corresponds to a script written in <a href="http://www.eclipse.org/acceleo">Acceleo</a>
+ language.</p>
+ <p>Acceleo syntax to display names of all packages</p>
+ <div class="codeBox cbBg">
+ <p><u>Example</u>: display names of all packages</p>
+ <p class="code"> [for (p:Package | Package.allInstances())]<br>
+ [p.name/]<br>
+ [/for]</p>
+ </div>
+ <p>The script is is written inside a text box in the slide. When the
+ the scrip is executed, the textboxes are considered ordered by the
+ position of its top-left position. Below there is a example of how to
+ display names of all packages, one in each slide.</p>
+ <table class="sample" width="650px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Generation output</strong></p>
+ </td>
+ </tr>
+ <tr valign="top">
+ <td align="center">
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx">
+ <tbody>
+ <tr height="75">
+ <td valign="top"><context
+ model='D:/Â…/myModel.uml'/><br>
+ <gendoc></td>
+ </tr>
+ <tr>
+ <td height="">[for (p:Package |
+ Package.allInstances())]</td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="90%">
+ <tbody>
+ <tr>
+ <td>
+ <ul>
+ <li> [p.name/]</li>
+ </ul>
+ </td>
+ </tr>
+ <tr height="40">
+ <td>[/for]<br>
+ </gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="100%">
+ <tbody>
+ <tr height="80">
+ <td> <br>
+ </td>
+ </tr>
+ <tr height="30">
+ <td> <br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="100%">
+ <tbody>
+ <tr>
+ <td>
+ <ul>
+ <li> Package 1</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ ...<br>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="100%">
+ <tbody>
+ <tr>
+ <td>
+ <ul>
+ <li> Package n</li>
+ </ul>
+ </td>
+ </tr>
+ <tr height="40">
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_text_generation.html b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_text_generation.html
new file mode 100644
index 0000000..61ebac4
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/script_text_generation.html
@@ -0,0 +1,196 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head>
+ <meta content="text/html; charset=windows-1252" http-equiv="content-type">
+ <title>Text generation</title>
+ <link rel="stylesheet" type="text/css" href="userguide.css">
+ </head>
+ <body>
+ <h2>Text generation</h2>
+ <p>Writing scripts inside a worksheet has a lot of inconveniences but the
+ great advantage is to benefit from all edition functionality, mainly
+ column, row and cell formats.</p>
+ <h3>Applying styles to the generation output</h3>
+ <p>The style applied to the text box containing the script inside the
+ template document is kept in the generation output (color, font, size,
+ alignments).</p>
+ <table class="sample" width="650px">
+ <tbody>
+ <tr class="heading">
+ <td width="50%">
+ <p><strong>Template content</strong></p>
+ </td>
+ <td width="50%">
+ <p><strong>Generation output</strong></p>
+ </td>
+ </tr>
+ <tr valign="top">
+ <td align="center">
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table class="pptx">
+ <tbody>
+ <tr height="75">
+ <td><context model='D:/Â…/myModel.uml'/><br>
+ <gendoc></td>
+ </tr>
+ <tr height="40">
+ <td>[for (p:Package | Package.allInstances())]</td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="90%">
+ <tbody>
+ <tr>
+ <td> <strong class="blue" style="font-weight:900;">[p.name/]</strong>
+ <br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="90%">
+ <tbody>
+ <tr>
+ <td>[/for]<br>
+ </gendoc></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td align="center">
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="90%">
+ <tbody>
+ <tr height="75">
+ <td> <br>
+ </td>
+ </tr>
+ <tr height="40">
+ <td> <br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="90%">
+ <tbody>
+ <tr>
+ <td><strong class="blue" style="font-weight:900;">Actors</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="90%">
+ <tbody>
+ <tr>
+ <td><strong class="blue" style="font-weight:900;">Use
+ case View</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="90%">
+ <tbody>
+ <tr>
+ <td><strong class="blue" style="font-weight:900;">Logical
+ View</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="90%">
+ <tbody>
+ <tr>
+ <td><strong class="blue" style="font-weight:900;">Deployment
+ View</strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ <table class="pptx" align="center" border="solid" width="90%">
+ <tbody>
+ <tr height="140px" valign="top">
+ <td>
+ <table width="90%">
+ <tbody>
+ <tr>
+ <td><br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <p>All other styles from document templates are kept during generation.</p>
+ </body>
+</html>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/userguide.css b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/userguide.css
new file mode 100644
index 0000000..2a70292
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/html/userguide/userguide.css
@@ -0,0 +1,194 @@
+body {
+ font-family: Palatino Linotype;
+ font-size: 12pt;
+}
+
+.codeHeading{
+ font-family: monospace;
+ font-weight: 900;
+}
+
+.code {
+ font-family: monospace;
+ font-weight: 900;
+ font-size: 10pt;
+}
+
+.codeBox .code {
+ font-size: 10pt;
+}
+
+.bluehl {
+ background: #0000FF;
+ color: #C0C0C0;
+}
+
+.turqhl {
+ background: #00F0FF;
+ color: #000000;
+}
+
+.lgbluebk {
+ background: #CFDCF0;
+}
+
+.blue,h1,h2,h3 {
+ color: #2F5897;
+}
+
+.red {
+ color: #C00000;
+}
+
+
+.codeBox {
+ border:solid windowtext 1.0pt;
+ padding:1.0pt 4.0pt 1.0pt 4.0pt;
+}
+
+.codeBox.cbBg {
+ background:#F2F2F2;
+}
+
+.codeBox p {
+ margin: 0cm;
+ padding: 0.1cm;
+}
+
+.border {
+ border:solid;
+ border-width:1px;
+ border-color:black;
+}
+
+.vertical {
+ writing-mode:tb-rl;
+ transform: rotate(180deg);
+ white-space:nowrap;
+ text-align: center;
+ bottom:0;
+}
+
+.tab {
+ position:relative;
+ left:60px;
+}
+
+.tab1 {
+ position:absolute;
+ left:60px;
+}
+
+.tab2 {
+ position:absolute;
+ left:120px;
+}
+
+.tab3 {
+ position:absolute;
+ left:180px;
+}
+
+.tab4 {
+ position:absolute;
+ left:240px;
+}
+
+ol {
+ list-style-type: none;
+ counter-reset: item;
+ margin: 0;
+ padding: 0;
+}
+
+ol > li {
+ display: table;
+ counter-increment: item;
+}
+
+ol > li:before {
+ content: counters(item, ".") ". ";
+ display: table-cell;
+ padding-right: 0.6em;
+}
+
+
+ol > li.prev1:before {
+ content: "1.1";
+}
+
+table.sample {
+ border: solid;
+ border-width: 1px;
+ border-color: black;
+ border-collapse: collapse;
+}
+
+table.sample td {
+ border: solid;
+ border-width: 1px;
+ border-color: black;
+ padding: 0.1cm;
+}
+
+table.sample tr.heading,td.heading {
+ background-color: #2F5897;
+ color: white;
+}
+
+table.sample td p {
+ margin: 0cm;
+ padding: 0.1cm;
+}
+
+ul {
+ margin: 0;
+}
+
+ul.dashed {
+ list-style-type: none;
+}
+
+ul.dashed > li {
+ text-indent: -5px;
+}
+
+ul.dashed > li:before {
+ content: "-";
+ margin-right: 10px;
+}
+
+table.pptx table {
+ border-spacing: 5px;
+ border-collapse:separate;
+ border-width:0px;
+}
+
+table.pptx {
+ border: solid;
+ border-width: 1px;
+ background: white;
+ border-color: gray;
+ border-spacing: 30px;
+ border-collapse:separate;
+}
+
+table.pptx td td{
+ border: solid;
+ border-width: 1px;
+ background: white;
+ border-color: gray;
+ border-collapse: collapse;
+ padding: 0.1cm;
+ font-family: monospace;
+ font-weight: 900;
+ font-size: 10pt;
+}
+
+table.pptx td {
+ border: none;
+ border-width: 0px;
+ background: white;
+ border-color: gray;
+
+}
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/plugin.xml b/plugins/org.eclipse.gendoc.doc.pptx/plugin.xml
new file mode 100644
index 0000000..7da1cf6
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+ <extension
+ point="org.eclipse.help.toc">
+ <toc
+ file="pptx_userguide.xml">
+ </toc>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/pom.xml b/plugins/org.eclipse.gendoc.doc.pptx/pom.xml
new file mode 100644
index 0000000..695aec8
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/pom.xml
@@ -0,0 +1,11 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.gendoc</groupId>
+ <artifactId>parent</artifactId>
+ <relativePath>../../pom.xml</relativePath>
+ <version>0.7.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.gendoc.doc.pptx</artifactId>
+ <packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/pptx_userguide.xml b/plugins/org.eclipse.gendoc.doc.pptx/pptx_userguide.xml
new file mode 100644
index 0000000..7630e68
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/pptx_userguide.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<toc label="PPTX User Guide" link_to="../org.eclipse.gendoc.doc/userguide.xml#gendocTemplates">
+ <topic label="PPTX Document Generator">
+ <topic href="html/userguide/creation_doc_generator.html" label="Creation of a document generator">
+ </topic>
+ <topic href="html/userguide/configure_generation.html" label="Configure the generation : <config> tag">
+ </topic>
+ <topic href="html/userguide/define_execution_context.html" label="Define script execution context : <context> tag">
+ </topic>
+ <topic href="html/userguide/define_script_parts.html" label="Define script parts : <gendoc> tag">
+ <topic href="html/userguide/script_language.html" label="Script language">
+ </topic>
+ <topic href="html/userguide/script_text_generation.html" label="Text generation">
+ </topic>
+ <topic href="html/userguide/script_images_generation.html" label="Images generation">
+ </topic>
+ <topic href="html/userguide/script_formatting.html" label="Formatting">
+ </topic>
+ </topic>
+ <topic href="html/userguide/reusing_scripts.html" label="Reusing gendoc scripts inside the same document : <fragment> tag">
+ </topic>
+ </topic>
+</toc>
diff --git a/plugins/org.eclipse.gendoc.doc.pptx/src/org/eclipse/gendoc/pptx/doc/Activator.java b/plugins/org.eclipse.gendoc.doc.pptx/src/org/eclipse/gendoc/pptx/doc/Activator.java
new file mode 100644
index 0000000..2d547da
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.doc.pptx/src/org/eclipse/gendoc/pptx/doc/Activator.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.gendoc.pptx.doc;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.gendoc.xlsx.doc"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.doc/html/userguide/doc_generator_preferences.html.bak b/plugins/org.eclipse.gendoc.doc/html/userguide/doc_generator_preferences.html.bak
deleted file mode 100644
index dfbd543..0000000
--- a/plugins/org.eclipse.gendoc.doc/html/userguide/doc_generator_preferences.html.bak
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
- <head>
- <meta content="text/html; charset=windows-1252" http-equiv="content-type">
- <title>Configure Document Generator in the Workbench</title>
- <link rel="stylesheet" type="text/css" href="userguide.css">
- </head>
- <body>
- <h2>Configure Document Generator in the Workbench</h2>
- <p>It is possible to configure local templates to be used in the Gendoc
- Wizard. Once the template is configured, the template will be available in
- the combo box of the Gendoc Wizard. The templates can be configured to be
- available for the entire workspace, or per project. The configuration
- specific to a project is stored together with the project file (.gendoc
- file in the project) and can be shared if using any source version control
- system. The workspace gendoc configuration is local to the workspace and
- it is done through the workspace preferences.</p>
- <p>To configure templates in the workspace, open the preferences (<strong>Window
- > Preferences</strong>) and select Gendoc Templates.</p>
- </body>
-</html>
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/.classpath b/plugins/org.eclipse.gendoc.document.parser.pptx/.classpath
new file mode 100644
index 0000000..4c62a80
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/.project b/plugins/org.eclipse.gendoc.document.parser.pptx/.project
new file mode 100644
index 0000000..3dd6d32
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.gendoc.document.parser.pptx</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.gendoc.document.parser.pptx/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/META-INF/MANIFEST.MF b/plugins/org.eclipse.gendoc.document.parser.pptx/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..faac259
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Pptx
+Bundle-SymbolicName: org.eclipse.gendoc.document.parser.pptx;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Activator: org.eclipse.gendoc.document.parser.pptx.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.core.resources,
+ org.eclipse.gendoc.documents,
+ org.eclipse.gendoc.document.parser,
+ org.eclipse.gendoc.services
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.gendoc.document.parser.pptx
+
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/build.properties b/plugins/org.eclipse.gendoc.document.parser.pptx/build.properties
new file mode 100644
index 0000000..e9863e2
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/plugin.xml b/plugins/org.eclipse.gendoc.document.parser.pptx/plugin.xml
new file mode 100644
index 0000000..622072a
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/plugin.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension
+ point="org.eclipse.gendoc.document.parser.factory">
+ <factory
+ class="org.eclipse.gendoc.document.parser.pptx.PPTXFactory"
+ extension="pptx">
+ </factory>
+ </extension>
+</plugin>
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/pom.xml b/plugins/org.eclipse.gendoc.document.parser.pptx/pom.xml
new file mode 100644
index 0000000..5c9bc10
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/pom.xml
@@ -0,0 +1,12 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.gendoc</groupId>
+ <artifactId>parent</artifactId>
+ <relativePath>../../pom.xml</relativePath>
+ <version>0.7.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.gendoc.document.parser.pptx</artifactId>
+ <packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/Activator.java b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/Activator.java
new file mode 100644
index 0000000..2e895ed
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/Activator.java
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.pptx;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.gendoc.document.parser.pptx"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ public static void log(Exception e, int severity)
+ {
+ IStatus status = new Status(severity, PLUGIN_ID, e.getMessage(), e);
+ Activator.getDefault().getLog().log(status);
+ }
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXDocument.java b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXDocument.java
new file mode 100644
index 0000000..73c6355
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXDocument.java
@@ -0,0 +1,109 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.pptx;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.Map;
+
+import org.eclipse.gendoc.document.parser.documents.DefaultXMLParserProvider;
+import org.eclipse.gendoc.document.parser.documents.IXMLParserProvider;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+import org.eclipse.gendoc.document.parser.documents.Document.CONFIGURATION;
+import org.eclipse.gendoc.document.parser.documents.helper.OfficeHelper;
+import org.eclipse.gendoc.document.parser.documents.helper.XMLHelper;
+import org.eclipse.gendoc.document.parser.documents.openoffice.OpenOfficeDocument;
+import org.w3c.dom.Node;
+
+/**
+ * The Class PPTXDocument.
+ */
+public class PPTXDocument extends OpenOfficeDocument
+{
+ public PPTXDocument(File documentFile) throws IOException
+ {
+ this(documentFile.toURI().toURL(), null);
+ }
+
+ public PPTXDocument(File documentFile, Map<CONFIGURATION, Boolean> configuration) throws IOException
+ {
+ this(documentFile.toURI().toURL(), configuration);
+
+ }
+
+ public PPTXDocument(URL documentFile, Map<CONFIGURATION, Boolean> configuration)
+ {
+ super(documentFile,configuration);
+ }
+
+ @Override
+ protected Collection<XMLParser> getXmlParsers(CONFIGURATION idForDocument)
+ {
+ Collection<XMLParser> parsers = new LinkedList<XMLParser>();
+
+ switch (idForDocument)
+ {
+ case content:
+ XMLParser presentation = new PPTXParser(this, getUnzipper().getFile(PPTXHelper.PRESENTATION_FILE_NAME), idForDocument);
+ parsers.add(presentation);
+ break;
+ case footer:
+ break;
+ case header:
+ break;
+ case comment:
+ // TODO
+ default:
+ }
+
+ return parsers;
+ }
+
+ @Override
+ public String getTextCorrespondingToCurrentStyle() {
+ return null;
+ }
+
+ public String getText() {
+ StringBuffer result = new StringBuffer("");
+ Node n = getXMLParser().getCurrentNode();
+ if (PPTXHelper.DRAWING_ML_TEXT_PARAGRAPH.equals(n.getNodeName()))
+ {
+ Node tmp = XMLHelper.next(n);
+ while (tmp != null && !PPTXHelper.DRAWING_ML_TEXT_PARAGRAPH.equals(tmp.getNodeName()))
+ {
+ if (PPTXHelper.DRAWING_ML_TEXT_STRING.equals(tmp.getNodeName()))
+ {
+ result.append(tmp.getTextContent());
+ }
+ tmp = XMLHelper.next(tmp);
+ }
+ }
+ return result.toString();
+ }
+
+ public Object get(PROPERTY property)
+ {
+ switch (property)
+ {
+ case text:
+ return getText();
+ default:
+ return null;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXFactory.java b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXFactory.java
new file mode 100644
index 0000000..0dc154b
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXFactory.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.pptx;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Map;
+
+import org.eclipse.gendoc.document.parser.documents.Document;
+import org.eclipse.gendoc.document.parser.documents.DocumentFactory;
+import org.eclipse.gendoc.document.parser.documents.Document.CONFIGURATION;
+
+/**
+ * A factory for creating XLSX objects.
+ */
+public class PPTXFactory implements DocumentFactory
+{
+ public PPTXFactory()
+ {
+ }
+
+ public Document loadDocument(File documentFile)
+ {
+ return loadDocument(documentFile, null);
+ }
+
+ public Document loadDocument(File documentFile, Map<CONFIGURATION, Boolean> configuration)
+ {
+ try {
+ return loadDocument(documentFile.toURI().toURL(), configuration);
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ }
+ return null ;
+ }
+
+ public Document loadDocument(URL documentFile)
+ {
+ return loadDocument(documentFile, null);
+ }
+
+ public Document loadDocument(URL documentFile, Map<CONFIGURATION, Boolean> configuration)
+ {
+ return new PPTXDocument(documentFile,configuration);
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXHelper.java b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXHelper.java
new file mode 100644
index 0000000..1d40d95
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXHelper.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.pptx;
+
+import org.eclipse.gendoc.document.parser.documents.openoffice.OpenOfficeHelper;
+
+public class PPTXHelper extends OpenOfficeHelper {
+
+ public static final String GENDOC_FLAT_STRUCTURE_ELEM = "gendoc:flatSlide";
+ public static final String GENDOC_REF_ELEM = "gendoc:ref";
+ public static final String GENDOC_REF_ELEM_REF_ATTR = "ref";
+ public static final String GENDOC_REF_ELEM_TYPE_ATTR = "type";
+ public static enum GENDOC_REF_TYPE {
+ startSlide,
+ endSlide
+ }
+ public static final String GENDOC_XPATHREF_ATTR = "gendoc:ref";
+
+ public static final String PRESENTATION_NAMESPACE = "http://schemas.openxmlformats.org/presentationml/2006/main";
+ public static final String PRESENTATION_FILE_NAME = "presentation.xml";
+ public static final String PRESENTATION_RELS_FILE_NAME = "presentation.xml.rels";
+ public static final String PRESENTATION_PATH = "/ppt/";
+ public static final String PRESENTATION_REL_PATH = "/ppt/_rels/";
+ public static final String PRESENTATION_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml";
+ public static final String PRESENTATION_TEMPLATE_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml";
+ public static final String PRESENTATION_SLIDE_SHOW_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml";
+ public static final String PRESENTATION_RELATIONSHIP = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument";
+
+ public static final String SLIDE_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.presentationml.slide+xml";
+ public static final String SLIDE_NAMESPACE = "http://schemas.openxmlformats.org/presentationml/2006/main";
+ public static final String SLIDE_RELATIONSHIP = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide";
+
+ public static final String SLIDE_ID_LIST_NODE = "p:sldIdLst";
+ public static final String SLIDE_ID_NODE = "p:sldId";
+ public static final String SLIDE_ID_ATTR = "r:id";
+
+ public static final String DRAWING_ML_TEXT_PARAGRAPH = "a:p";
+ public static final String DRAWING_ML_TEXT_STRING ="a:t";
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXNamespaceContext.java b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXNamespaceContext.java
new file mode 100644
index 0000000..ff585de
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXNamespaceContext.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.pptx;
+
+import org.eclipse.gendoc.document.parser.documents.openoffice.OpenOfficeHelper;
+import org.eclipse.gendoc.document.parser.documents.openoffice.OpenOfficeNamespaceContext;
+
+public class PPTXNamespaceContext extends OpenOfficeNamespaceContext {
+ private static final String[] MAPPING = new String[] {
+ "", PPTXHelper.PRESENTATION_NAMESPACE,
+ "p", PPTXHelper.PRESENTATION_NAMESPACE,
+ "mc", OpenOfficeHelper.MARKUP_COMPATIBILITY_NAMESPACE,
+ "a", OpenOfficeHelper.DRAWING_ML_NAMESPACE,
+ "ct", OpenOfficeHelper.CONTENT_TYPES_NAMESPACE,
+ "rel", OpenOfficeHelper.PACKAGE_RELATIONSHIPS_NAMESPACE,
+ "r", OpenOfficeHelper.RELATIONSHIPS_NAMESPACE,
+ "gendoc", OpenOfficeHelper.GENDOC_NS
+ };
+
+ public PPTXNamespaceContext() {
+ super(MAPPING);
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXParser.java b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXParser.java
new file mode 100644
index 0000000..70e2ea8
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXParser.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.pptx;
+
+import java.io.File;
+
+import org.eclipse.gendoc.document.parser.documents.Document;
+import org.eclipse.gendoc.document.parser.documents.openoffice.OpenOfficeParser;
+
+public class PPTXParser extends OpenOfficeParser {
+ public PPTXParser(PPTXDocument document, File f, Document.CONFIGURATION idForDocument) {
+ super(document, f, idForDocument);
+ }
+
+ @Override
+ protected XPathPptxUtils getXPathUtils() {
+ return XPathPptxUtils.INSTANCE;
+ }
+
+ @Override
+ protected void parse() {
+ super.parse();
+ }
+
+}
+
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXParserProvider.java b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXParserProvider.java
new file mode 100644
index 0000000..4648823
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXParserProvider.java
@@ -0,0 +1,33 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.pptx;
+
+import java.io.File;
+
+import org.eclipse.gendoc.document.parser.documents.Document.CONFIGURATION;
+import org.eclipse.gendoc.document.parser.documents.IXMLParserProvider;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+
+public class PPTXParserProvider implements IXMLParserProvider {
+ public PPTXParserProvider(PPTXDocument doc){
+ this.document = doc;
+ }
+
+ @Override
+ public XMLParser createParser(File f, CONFIGURATION conf) {
+ return new PPTXParser(document, f, conf);
+ }
+
+ private PPTXDocument document;
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXRef.java b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXRef.java
new file mode 100644
index 0000000..bcedcc9
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/PPTXRef.java
@@ -0,0 +1,31 @@
+package org.eclipse.gendoc.document.parser.pptx;
+
+public class PPTXRef {
+ public PPTXRef(String xpathSel) {
+ this(null,xpathSel);
+ }
+
+ public PPTXRef(String partPath, String xpathSel) {
+ this.partPath = partPath;
+ this.xpathSelector = xpathSel;
+ }
+
+ public String toString() {
+ if (partPath == null)
+ return xpathSelector.replace('[', '{').replace(']','}');
+ return "{"+partPath+"}:"+xpathSelector.replace('[', '{').replace(']','}');
+ }
+
+ public static final PPTXRef parse(String txt) {
+ String[] parts = txt.split("\\:");
+ if (parts[0].startsWith("{") && parts[0].endsWith("}")) {
+ return new PPTXRef(parts[0].substring(1, parts[0].length()-1),
+ txt.substring(parts[0].length()+1).replace('{', '[').replace('}',']'));
+ } else {
+ return new PPTXRef(txt.replace('{', '[').replace('}',']'));
+ }
+ }
+
+ public final String partPath;
+ public final String xpathSelector;
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/XPathPptxUtils.java b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/XPathPptxUtils.java
new file mode 100644
index 0000000..5c3357b
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser.pptx/src/org/eclipse/gendoc/document/parser/pptx/XPathPptxUtils.java
@@ -0,0 +1,25 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.pptx;
+
+import org.eclipse.gendoc.document.parser.documents.openoffice.OpenOfficeXPathUtils;
+
+public class XPathPptxUtils extends OpenOfficeXPathUtils {
+ public static final XPathPptxUtils INSTANCE = new XPathPptxUtils();
+
+ private XPathPptxUtils() {
+ super(new PPTXNamespaceContext());
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser/META-INF/MANIFEST.MF b/plugins/org.eclipse.gendoc.document.parser/META-INF/MANIFEST.MF
index c4f4e03..e4b29af 100644
--- a/plugins/org.eclipse.gendoc.document.parser/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.gendoc.document.parser/META-INF/MANIFEST.MF
@@ -8,11 +8,13 @@
org.eclipse.core.resources,
org.eclipse.ui
Bundle-ActivationPolicy: lazy
+Eclipse-ExtensibleAPI: true
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.gendoc.document.parser,
org.eclipse.gendoc.document.parser.documents,
org.eclipse.gendoc.document.parser.documents.docx,
org.eclipse.gendoc.document.parser.documents.helper,
- org.eclipse.gendoc.document.parser.documents.odt
+ org.eclipse.gendoc.document.parser.documents.odt,
+ org.eclipse.gendoc.document.parser.documents.openoffice
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/helper/XMLHelper.java b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/helper/XMLHelper.java
index 1f1e21e..eda966b 100644
--- a/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/helper/XMLHelper.java
+++ b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/helper/XMLHelper.java
@@ -16,6 +16,20 @@
*****************************************************************************/
package org.eclipse.gendoc.document.parser.documents.helper;
+import java.io.StringWriter;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.gendoc.document.parser.Activator;
+import org.w3c.dom.Document;
import org.w3c.dom.Node;
/**
@@ -25,6 +39,8 @@
*/
public final class XMLHelper
{
+ public static final TransformerFactory transformBuilder = TransformerFactory.newInstance();
+
/**
* Instantiates a new xML helper.
*/
@@ -136,4 +152,21 @@
}
return false;
}
+
+ public static String asText(Node n, boolean standalone) {
+ StringWriter wr = new StringWriter();
+ DOMSource domSource = new DOMSource(n);
+ StreamResult fluxDestination = new StreamResult(wr);
+ try {
+ Transformer transformer = transformBuilder.newTransformer();
+ transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
+ //transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+ transformer.setOutputProperty(OutputKeys.STANDALONE, standalone ? "yes" : "no");
+ transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, standalone ? "no" : "yes");
+ transformer.transform(domSource, fluxDestination);
+ } catch (Exception e) {
+ Activator.log(e, IStatus.ERROR);
+ }
+ return wr.toString();
+ }
}
diff --git a/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeDocument.java b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeDocument.java
new file mode 100644
index 0000000..28511f9
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeDocument.java
@@ -0,0 +1,175 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.documents.openoffice;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.gendoc.document.parser.Activator;
+import org.eclipse.gendoc.document.parser.documents.AbstractZipDocument;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public abstract class OpenOfficeDocument extends AbstractZipDocument {
+ private HashMap<String, XMLParser> subdocuments;
+
+ public OpenOfficeDocument(File documentFile, Map<CONFIGURATION, Boolean> configuration) throws IOException {
+ super(documentFile, configuration);
+ }
+
+ public OpenOfficeDocument(File document) throws IOException {
+ super(document);
+ }
+
+ public OpenOfficeDocument(URL documentFile, Map<CONFIGURATION, Boolean> configuration) {
+ super(documentFile, configuration);
+ }
+
+ public OpenOfficeDocument(URL document) {
+ super(document);
+ }
+
+ @Override
+ public OpenOfficeParser getXMLParser() {
+ return (OpenOfficeParser)super.getXMLParser();
+ }
+
+ public String getNextDocumentName(String relpath) {
+ File rel = new File(relpath.replace("/", File.separator));
+ String[] nameParts = rel.getName().split("\\*");
+ File f = new File(getUnzipLocationDocumentFile(),rel.getPath());
+ File folder = f.getParentFile();
+ int index = 0;
+ if (folder.exists()) {
+ String names[] = folder.list();
+ for (int i=0; names != null && i<names.length; i++) {
+ if (names[i].startsWith(nameParts[0]) && names[i].endsWith(nameParts[1])) {
+ try {
+ index = Math.max(Integer.valueOf(
+ names[i].replace(nameParts[0], "").replace(nameParts[1], "")),index);
+ } catch (NumberFormatException e) {}
+ }
+ }
+ }
+
+ String res = rel.getParent()+File.separator+rel.getName().replace("*",String.valueOf(index+1));
+ return res.replace(File.separator, "/");
+ }
+
+ public XMLParser createSubdocument(String path, CharSequence content) throws IOException {
+ return createSubdocument(path, content, null);
+ }
+
+ public XMLParser createSubdocument(String path, CharSequence content, String contentType) throws IOException {
+ File f = new File(getUnzipLocationDocumentFile(),path.replace("/", File.separator));
+ f.getParentFile().mkdirs();
+ FileOutputStream writer = new FileOutputStream(f);
+ writer.write(String.valueOf(content).getBytes(Charset.forName("UTF-8")));
+ writer.flush();
+ writer.close();
+
+ if (contentType != null) {
+ if (contentTypes == null)
+ contentTypes = getSubdocument("/[Content_Types].xml");
+
+ Node typesEl = null;
+ try {
+ typesEl = getXMLParser().getXPathUtils().evaluateNode(contentTypes.getDocument(), "/ct:Types");
+ Node n = getXMLParser().getXPathUtils().evaluateNode(typesEl, "./ct:Override[@PartName='"+path+"']");
+ if (n != null)
+ n.getParentNode().removeChild(n);
+ Element el = (Element)typesEl.appendChild(typesEl.getOwnerDocument().createElementNS(
+ OpenOfficeHelper.CONTENT_TYPES_NAMESPACE, "ct:Override"));
+ el.setAttribute("PartName", path);
+ el.setAttribute("ContentType", contentType);
+ } catch (XPathExpressionException e) {
+ Activator.log(e,IStatus.ERROR);
+ }
+ }
+ subdocuments.remove(path);
+ return getSubdocument(path);
+ }
+
+ @SuppressWarnings({"unchecked" })
+ public List<XMLParser> getSubdocuments(String folder) {
+ if (subdocuments == null)
+ return Collections.EMPTY_LIST;
+
+ List<XMLParser> parsers = new ArrayList<XMLParser>();
+ for (Map.Entry<String,XMLParser> e : subdocuments.entrySet()) {
+ if (!e.getKey().startsWith(folder+"/"))
+ continue;
+
+ if (e.getKey().indexOf('/',folder.length()+1) != -1)
+ continue; // In a subfolder of the given one.
+ parsers.add(e.getValue());
+ }
+ return parsers;
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public Collection<XMLParser> getSubdocuments() {
+ return (Collection)(subdocuments == null ?
+ Collections.emptyList() :
+ subdocuments.values());
+ }
+
+ public XMLParser getSubdocument(String relpath) {
+ if (subdocuments == null)
+ subdocuments = new HashMap<String, XMLParser>();
+ relpath = relpath.replace(File.separatorChar, '/');
+ if (!relpath.startsWith("/"))
+ relpath = "/"+relpath;
+ XMLParser p = subdocuments.get(relpath);
+ if (p != null)
+ return p;
+
+ File f = new File(getUnzipLocationDocumentFile(),relpath.replace("/", File.separator));
+ if (f.exists()) {
+ p = new XMLParser(f);
+ subdocuments.put(relpath, p);
+ }
+ return p;
+ }
+
+ public String getBasePath() {
+ return getUnzipLocationDocumentFile().getAbsolutePath();
+ }
+
+ public String getRelativePath(XMLParser p) {
+ String path = p.getXmlFile().getAbsolutePath();
+ String basePath = getBasePath();
+ if (!(path.startsWith(basePath)))
+ return null;
+
+ path = path.substring(basePath.length());
+ path = path.replace(File.separatorChar, '/');
+ return path;
+ }
+
+ private XMLParser contentTypes;
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeHelper.java b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeHelper.java
new file mode 100644
index 0000000..e64fb66
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeHelper.java
@@ -0,0 +1,33 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.documents.openoffice;
+
+/**
+ * The Class XLSXHelper.
+ */
+public class OpenOfficeHelper
+{
+ public static final String GENDOC_NS = "http://gendoc.eclipse.org/main";
+
+ // Content Type(s):
+ // Drawing
+ public static final String DRAWING_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.drawing+xml";
+ public static final String DRAWING_RELATIONSHIP = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing";
+
+ public static final String DRAWING_ML_NAMESPACE = "http://schemas.openxmlformats.org/drawingml/2006/main";
+ public static final String RELATIONSHIPS_NAMESPACE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
+ public static final String PACKAGE_RELATIONSHIPS_NAMESPACE = "http://schemas.openxmlformats.org/package/2006/relationships";
+ public static final String CONTENT_TYPES_NAMESPACE = "http://schemas.openxmlformats.org/package/2006/content-types";
+ public static final String MARKUP_COMPATIBILITY_NAMESPACE = "http://schemas.openxmlformats.org/markup-compatibility/2006";
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeNamespaceContext.java b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeNamespaceContext.java
new file mode 100644
index 0000000..6f5024c
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeNamespaceContext.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.documents.openoffice;
+
+import java.util.Iterator;
+
+import javax.xml.XMLConstants;
+import javax.xml.namespace.NamespaceContext;
+
+public class OpenOfficeNamespaceContext implements NamespaceContext
+{
+ private final String[] mapping;
+ private final String prefixMapping;
+
+ public OpenOfficeNamespaceContext(String[] mapping) {
+ this.mapping = mapping;
+ StringBuffer buf = new StringBuffer();
+ buf.append("xmlns=\"").append(mapping[1]).append("\" ");
+
+ for (int i=2; i<mapping.length; i+=2) {
+ buf.append("xmlns:").append(mapping[i]).append("=\"").append(mapping[i+1]).append("\" ");
+ }
+
+ prefixMapping = buf.toString().trim();
+ }
+
+ public final String getPrefixMapping() {
+ return prefixMapping;
+ }
+
+ public String getNamespaceURI(String prefix)
+ {
+ if (prefix == null || prefix.equals(""))
+ {
+ return mapping[1];
+ }
+
+ for (int i=2; i<mapping.length; i+=2) {
+ if (prefix.equals(mapping[i]))
+ return mapping[i+1];
+ }
+
+ return XMLConstants.NULL_NS_URI;
+
+ }
+
+ public String getPrefix(String uri)
+ {
+ for (int i=0; i<mapping.length; i+=2) {
+ if (uri.equals(mapping[i+1]))
+ return mapping[i];
+ }
+ return null;
+ }
+
+ @SuppressWarnings("rawtypes")
+ public Iterator getPrefixes(String uri)
+ {
+ return new Iterator<String>() {
+ @Override
+ public boolean hasNext() {
+ return pos < mapping.length;
+ }
+
+ @Override
+ public String next() {
+ String str = mapping[pos];
+ pos += 2;
+ return str;
+ }
+
+ private int pos = 0;
+ };
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeParser.java b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeParser.java
new file mode 100644
index 0000000..993be15
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeParser.java
@@ -0,0 +1,178 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.documents.openoffice;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.eclipse.core.runtime.Path;
+import org.eclipse.gendoc.document.parser.documents.Document.CONFIGURATION;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+public abstract class OpenOfficeParser extends XMLParser {
+ private OpenOfficeDocument openOfficeDocument;
+
+ private XMLParser relationships;
+ private int relationshipsNextId;
+ private HashMap<String, XMLParser> partsDocuments;
+
+ public OpenOfficeParser(OpenOfficeDocument document, File f) {
+ super(f);
+ openOfficeDocument = document;
+ parse();
+ }
+
+ public OpenOfficeParser(OpenOfficeDocument document, File f, CONFIGURATION conf) {
+ super(f,conf);
+ openOfficeDocument = document;
+ parse();
+ }
+
+ protected abstract OpenOfficeXPathUtils getXPathUtils();
+
+ public OpenOfficeDocument getOpenOfficeDocument() {
+ return this.openOfficeDocument;
+ }
+
+ public String getRelationshipsPath() {
+ return getPartParentRelativePath()+"/"+"_rels"+"/"+getXmlFile().getName()+".rels";
+ }
+
+ public String getPartParentRelativePath() {
+ try {
+ return getXmlFile().getParentFile().getAbsolutePath().replace(
+ getOpenOfficeDocument().getUnzipLocationDocumentFile().getCanonicalPath(),"").
+ replace(File.separatorChar, '/');
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public String getPartRelativePath() {
+ try {
+ return getXmlFile().getAbsolutePath().replace(
+ getOpenOfficeDocument().getUnzipLocationDocumentFile().getCanonicalPath(),"").
+ replace(File.separatorChar, '/');
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected void parse() {
+ String relpath = getPartRelativePath().replace(getXmlFile().getName(),"")+
+ "_rels/"+getXmlFile().getName()+".rels" ;
+ relationships = getOpenOfficeDocument().getSubdocument(relpath);
+ if (relationships != null) {
+ relationshipsNextId = getNextRelationId();
+ }
+
+ partsDocuments= new HashMap<String, XMLParser>();
+ }
+
+ public XMLParser loadExplicitPartDocument(String rel, String relId) throws IOException {
+ return loadPartDocument(relId+":"+rel,"//rel:Relationship[@Type='"+rel+
+ "' and @Id='"+relId+"']/@Target");
+ }
+
+ public XMLParser loadImplicitPartDocument(String rel) throws IOException {
+ return loadPartDocument(rel,"//rel:Relationship[@Type='"+rel+"']/@Target");
+ }
+
+ private XMLParser loadPartDocument(String key, String xpath) throws IOException {
+ XMLParser parser = partsDocuments.get(key);
+ if (parser == null && relationships != null) {
+ try {
+ NodeList nl = getXPathUtils().evaluateNodes(relationships.getDocument(),xpath);
+ if (nl.getLength() == 0)
+ return null;
+ String target = ((Attr)nl.item(0)).getValue();
+ File f = new File(getOpenOfficeDocument().getUnzipLocationDocumentFile(),
+ target.replace("/", File.separator));
+ if (!target.startsWith("/")) {
+ f = new File(getXmlFile().getParentFile(),target).getCanonicalFile();
+ }
+ String relpath = f.getAbsolutePath().replace(
+ getOpenOfficeDocument().getUnzipLocationDocumentFile().getCanonicalPath(),"");
+ parser = getOpenOfficeDocument().getSubdocument(relpath);
+ if (parser != null)
+ partsDocuments.put(key,parser);
+ } catch (XPathExpressionException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+ return parser;
+ }
+
+ /**
+ * Add an explicit relationship of the provided type to the provided target. A new relationship
+ * is generated and returned to be used to reference new relationship.
+ *
+ * @param relationshipType the type of the relationship.
+ * @param target the target of the relation
+ * @return
+ * @throws IOException
+ */
+ public String addRelationship(String relationshipType, String target) throws IOException {
+ try {
+ if (relationships == null) {
+ createRelationshipPart();
+ }
+
+
+ Element relationshipsEl = (Element)getXPathUtils().evaluateNode(relationships.getDocument(),"/rel:Relationships");
+ Element rel = (Element)relationshipsEl.appendChild(relationships.getDocument().createElementNS(
+ OpenOfficeHelper.PACKAGE_RELATIONSHIPS_NAMESPACE, "rel:Relationship"));
+ String id = "rId"+relationshipsNextId;
+ rel.setAttribute("Id",id);
+ rel.setAttribute("Type",relationshipType);
+ String relTarget = new Path(target).makeRelativeTo(new Path(getPartParentRelativePath())).toString();
+ rel.setAttribute("Target",relTarget);
+ relationshipsNextId++;
+ return id;
+ } catch (XPathExpressionException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ private void createRelationshipPart() throws IOException {
+ relationships = getOpenOfficeDocument().createSubdocument(getRelationshipsPath(),
+ "<Relationships xmlns=\""+OpenOfficeHelper.PACKAGE_RELATIONSHIPS_NAMESPACE+"\"/>");
+ relationshipsNextId += 1;
+ }
+
+ public int getNextRelationId() {
+ try {
+ List<String> values = getXPathUtils().evaluateValues(relationships.getDocument(),
+ "/rel:Relationships/rel:Relationship/@Id[starts-with(.,'rId')]");
+
+ int nextId = 1;
+ for (int i=0; i<values.size(); i++) {
+ String last = values.get(i).substring(3);
+ try {
+ nextId = Math.max(nextId, Integer.valueOf(last));
+ } catch (NumberFormatException e) {}
+ }
+ return nextId+1;
+ } catch (XPathExpressionException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeXPathUtils.java b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeXPathUtils.java
new file mode 100644
index 0000000..a5a7b45
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.document.parser/src/org/eclipse/gendoc/document/parser/documents/openoffice/OpenOfficeXPathUtils.java
@@ -0,0 +1,196 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.document.parser.documents.openoffice;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpression;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+public class OpenOfficeXPathUtils {
+ private OpenOfficeNamespaceContext namespaceContext;
+ private DocumentBuilderFactory domBuilderFactory;
+ private XPath xpath;
+
+ protected OpenOfficeXPathUtils(OpenOfficeNamespaceContext context) {
+ this.namespaceContext = context;
+ xpath = XPathFactory.newInstance().newXPath();
+ xpath.setNamespaceContext(context);
+ domBuilderFactory = DocumentBuilderFactory.newInstance();
+ domBuilderFactory.setNamespaceAware(true);
+ }
+
+ public OpenOfficeNamespaceContext getNamespaceContext() {
+ return namespaceContext;
+ }
+
+ public XPathExpression compile(String expr) throws XPathExpressionException {
+ return xpath.compile(expr);
+ }
+
+ public Node evaluateNode(Node contextNode, String expr) throws XPathExpressionException {
+ return (Node)xpath.evaluate(expr, contextNode, XPathConstants.NODE);
+ }
+
+ public NodeList evaluateNodes(Node contextNode, String expr) throws XPathExpressionException {
+ return (NodeList)xpath.evaluate(expr, contextNode, XPathConstants.NODESET);
+ }
+
+ public String evaluateText(Node contextNode, String expr) throws XPathExpressionException {
+ return (String)xpath.evaluate(expr, contextNode, XPathConstants.STRING);
+ }
+
+ public List<String> evaluateValues(Node contextNode, String expr) throws XPathExpressionException {
+ NodeList nl = evaluateNodes(contextNode, expr);
+ ArrayList<String> values = new ArrayList<String>();
+ for (int i=0;i<nl.getLength(); i++)
+ values.add(nl.item(i).getTextContent());
+ return values;
+ }
+
+ public List<Integer> evaluateInts(Node contextNode, String expr) throws XPathExpressionException {
+ NodeList nl = evaluateNodes(contextNode, expr);
+ ArrayList<Integer> values = new ArrayList<Integer>();
+ for (int i=0;i<nl.getLength(); i++) {
+ String str = nl.item(i).getTextContent();
+ try {
+ values.add(Integer.valueOf(str));
+ } catch (NumberFormatException e) {}
+ }
+ return values;
+ }
+
+ public int evaluateMax(Node contextNode, String expr) throws XPathExpressionException {
+ NodeList nl = evaluateNodes(contextNode, expr);
+ int max = Integer.MIN_VALUE;
+ for (int i=0;i<nl.getLength(); i++) {
+ String str = nl.item(i).getTextContent();
+ try {
+ max = Math.max(max,Integer.valueOf(str));
+ } catch (NumberFormatException e) {}
+ }
+ return max;
+ }
+
+ public int evaluateNumber(Node contextNode, String expr, int defval) throws XPathExpressionException {
+ Number number = (Number)xpath.evaluate(expr, contextNode, XPathConstants.NUMBER);
+ return number == null ? defval : number.intValue();
+ }
+
+ public long evaluateNumber(Node contextNode, String expr, long defval) throws XPathExpressionException {
+ Number number = (Number)xpath.evaluate(expr, contextNode, XPathConstants.NUMBER);
+ return number == null ? defval : number.longValue();
+ }
+
+
+ public float evaluateNumber(Node contextNode, String expr, float defval) throws XPathExpressionException {
+ Number number = (Number)xpath.evaluate(expr, contextNode, XPathConstants.NUMBER);
+ return number == null ? defval : number.floatValue();
+ }
+
+ public double evaluateNumber(Node contextNode, String expr, double defval) throws XPathExpressionException {
+ Number number = (Number)xpath.evaluate(expr, contextNode, XPathConstants.NUMBER);
+ return number == null ? defval : number.doubleValue();
+ }
+
+ public Element evaluateFirstOf(Node contextNode, String expr, String... childs) throws XPathExpressionException {
+ Element el = (expr == null || expr.equals(".")) ?
+ (Element)contextNode :
+ (Element)evaluateNode(contextNode, expr);
+ if (el == null) {
+ return null;
+ }
+
+ HashSet<String> s = new HashSet<String>(Arrays.asList(childs));
+ NodeList nl = el.getChildNodes();
+ for (int i=0; i<nl.getLength(); i++) {
+ Node n = nl.item(i);
+ if (!(n instanceof Element))
+ continue;
+
+ if (s.contains(n.getNodeName()))
+ return (Element)n;
+ }
+ return null;
+ }
+
+ public Node parserXmlFragment(String xmlFragment) throws ParserConfigurationException, SAXException, IOException {
+ boolean createFragment = false;
+ DocumentBuilder builder= domBuilderFactory.newDocumentBuilder();
+ if (!xmlFragment.startsWith("<?xml ")) {
+ xmlFragment = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><documentFragment "+namespaceContext.getPrefixMapping()+">"+xmlFragment+"</documentFragment>";
+ createFragment = true;
+ }
+
+ Document document = builder.parse(new ByteArrayInputStream(xmlFragment.getBytes("UTF-8")));
+ Element rootElement = document.getDocumentElement();
+
+ if (!createFragment)
+ return rootElement;
+
+ NodeList children = rootElement.getChildNodes();
+ if (children.getLength() == 1) {
+ return children.item(0);
+ }
+
+ DocumentFragment frag = document.createDocumentFragment();
+ for (int i=0; i<children.getLength(); i++) {
+ frag.appendChild(children.item(i));
+ }
+ return frag;
+ }
+
+ public String getNodeXPath(Element el) {
+ StringBuffer buf = new StringBuffer();
+ Node parent = el.getParentNode();
+ while (parent != null && parent instanceof Element) {
+ NodeList nl = parent.getChildNodes();
+ int index = 0;
+ for (int i=0; i<nl.getLength(); i++) {
+ Node n = nl.item(i);
+ if (el.getNodeName().equals(n.getNodeName()))
+ index++; // First index is 1
+ if (n == el)
+ break;
+ }
+ String prefix = namespaceContext.getPrefix(el.getNamespaceURI());
+ buf.insert(0,String.format("/%s:%s[%d]", prefix, el.getLocalName(), index));
+ el = (Element)parent;
+ parent = el.getParentNode();
+ }
+ buf.insert(0,"/"+namespaceContext.getPrefix(el.getNamespaceURI())+":"+el.getLocalName());
+ return buf.toString();
+ }
+
+
+}
+
diff --git a/plugins/org.eclipse.gendoc.documents/src/org/eclipse/gendoc/documents/XMLDocumentService.java b/plugins/org.eclipse.gendoc.documents/src/org/eclipse/gendoc/documents/XMLDocumentService.java
index 1cb61c8..8a6621d 100644
--- a/plugins/org.eclipse.gendoc.documents/src/org/eclipse/gendoc/documents/XMLDocumentService.java
+++ b/plugins/org.eclipse.gendoc.documents/src/org/eclipse/gendoc/documents/XMLDocumentService.java
@@ -10,6 +10,7 @@
* Contributors:
* Caroline Bourdeu d'Aguerre (Atos Origin) caroline.bourdeudaguerre@atosorigin.com - Initial API and implementation
* Anne Haugommard (Atos) anne.haugommard@atos.net - improvement in clean process
+ * Antonio Campesino (Ericsson) - Fixing clean process removing duplicate fragments (Bug 526979)
*
*****************************************************************************/
package org.eclipse.gendoc.documents;
@@ -26,6 +27,7 @@
import java.util.regex.Pattern;
import javax.xml.namespace.NamespaceContext;
+import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
@@ -324,6 +326,8 @@
// 1. Find next node with starting tag character
Node firstNode = findNodeWithOneTag(currentNode);
+ if (firstNode != null && getBestAscendantUntil(currentNode, firstNode)== null) //if not contained in current node
+ firstNode = null;
Node next = cleanTags(currentNode, tagLabels, firstNode);
if (currentNode == null || currentNode.getParentNode() == null)
{
@@ -335,6 +339,8 @@
while (next != null)
{
nextStartNode = findNodeWithStartTag(next, currentNode);
+ if (nextStartNode != null && getBestAscendantUntil(currentNode, nextStartNode)== null) //if not contained in current node
+ nextStartNode = null;
next = cleanTags(currentNode, tagLabels, nextStartNode);
if (currentNode == null || currentNode.getParentNode() == null)
{
diff --git a/plugins/org.eclipse.gendoc.services.pptx/.classpath b/plugins/org.eclipse.gendoc.services.pptx/.classpath
new file mode 100644
index 0000000..ad32c83
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.gendoc.services.pptx/.project b/plugins/org.eclipse.gendoc.services.pptx/.project
new file mode 100644
index 0000000..b72853e
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.gendoc.services.pptx</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.gendoc.services.pptx/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.gendoc.services.pptx/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.eclipse.gendoc.services.pptx/META-INF/MANIFEST.MF b/plugins/org.eclipse.gendoc.services.pptx/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7d263ab
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Gendoc Service for OpenOffice PPTX
+Bundle-SymbolicName: org.eclipse.gendoc.services.pptx;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Bundle-Activator: org.eclipse.gendoc.services.pptx.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.gendoc.services,
+ org.eclipse.gendoc.documents,
+ org.eclipse.gendoc.document.parser,
+ org.eclipse.gendoc.tags.handlers,
+ org.eclipse.gendoc.process,
+ org.eclipse.gendoc.tags,
+ org.eclipse.gendoc.document.parser.pptx
diff --git a/plugins/org.eclipse.gendoc.services.pptx/build.properties b/plugins/org.eclipse.gendoc.services.pptx/build.properties
new file mode 100644
index 0000000..e9863e2
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/plugins/org.eclipse.gendoc.services.pptx/plugin.xml b/plugins/org.eclipse.gendoc.services.pptx/plugin.xml
new file mode 100644
index 0000000..0409292
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/plugin.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.gendoc.documentTypes">
+ <documentType
+ documentService="org.eclipse.gendoc.services.pptx.PPTXDocumentService"
+ extension="pptx">
+ </documentType>
+ </extension>
+ <extension
+ point="org.eclipse.gendoc.processes">
+ <process
+ id="PPTXFlattenProcess"
+ label="PPTX Flatten Process"
+ parallel="false"
+ priority="NORMAL"
+ processor="org.eclipse.gendoc.services.pptx.PPTXFlattenProcess">
+ <predecessor
+ ref="countSteps">
+ </predecessor>
+ <successor
+ ref="PPTXTextRunNormalizer">
+ </successor>
+ </process>
+ <process
+ id="PPTXTextRunNormalizer"
+ label="PPTX Text Run Normalizer"
+ parallel="false"
+ priority="NORMAL"
+ processor="org.eclipse.gendoc.services.pptx.PPTXTextRunProcess">
+ <predecessor ref="countSteps">
+ </predecessor>
+ <successor ref="generate">
+ </successor>
+ </process>
+ <process
+ id="PPTXUnflattenProcess"
+ label="PPTX Unflatten Process"
+ parallel="false"
+ priority="NORMAL"
+ processor="org.eclipse.gendoc.services.pptx.PPTXUnflattenProcess">
+ <predecessor
+ ref="drop">
+ </predecessor>
+ <predecessor
+ ref="additionalStyles">
+ </predecessor>
+ <predecessor
+ ref="additionalResources">
+ </predecessor>
+ <predecessor
+ ref="nobr">
+ </predecessor>
+ <successor
+ ref="save">
+ </successor>
+ </process>
+ <process
+ id="SlideDropProcess"
+ label="Slide Drop Process"
+ parallel="false"
+ priority="NORMAL"
+ processor="org.eclipse.gendoc.services.pptx.tags.SlideDropProcess">
+ <predecessor
+ ref="drop">
+ </predecessor>
+ <predecessor
+ ref="generate">
+ </predecessor>
+ <successor
+ ref="PPTXUnflattenProcess">
+ </successor>
+ </process>
+ </extension>
+ <extension
+ point="org.eclipse.gendoc.tags">
+ <category
+ name="org.eclipse.gendoc.tags.top">
+ <tag
+ handler="org.eclipse.gendoc.services.pptx.tags.DropSlideTagHandler"
+ name="dropSlide">
+ </tag>
+ </category>
+ <category
+ name="org.eclipse.gendoc.tags.scripts">
+ <tagref
+ name="dropSlide">
+ </tagref>
+ </category>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.gendoc.services.pptx/pom.xml b/plugins/org.eclipse.gendoc.services.pptx/pom.xml
new file mode 100644
index 0000000..97a39c1
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/pom.xml
@@ -0,0 +1,12 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.gendoc</groupId>
+ <artifactId>parent</artifactId>
+ <relativePath>../../pom.xml</relativePath>
+ <version>0.7.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.gendoc.services.pptx</artifactId>
+ <packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/Activator.java b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/Activator.java
new file mode 100644
index 0000000..2b0baed
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/Activator.java
@@ -0,0 +1,64 @@
+package org.eclipse.gendoc.services.pptx;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.gendoc.services.pptx"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Log.
+ *
+ * @param e the exception
+ * @param severity the severity
+ */
+ public static void log(Exception e, int severity)
+ {
+ IStatus status = new Status(severity, PLUGIN_ID, e.getMessage(), e);
+ Activator.getDefault().getLog().log(status);
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXAdditionalResourceService.java b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXAdditionalResourceService.java
new file mode 100644
index 0000000..7dbe4ec
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXAdditionalResourceService.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.services.pptx;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+import org.eclipse.gendoc.document.parser.pptx.PPTXDocument;
+import org.eclipse.gendoc.document.parser.pptx.PPTXHelper;
+import org.eclipse.gendoc.document.parser.pptx.XPathPptxUtils;
+import org.eclipse.gendoc.documents.AdditionalResourceService;
+import org.eclipse.gendoc.documents.FileRunnable;
+import org.eclipse.gendoc.documents.IAdditionalResourceService;
+import org.eclipse.gendoc.documents.IDocumentManager;
+import org.eclipse.gendoc.documents.IDocumentService;
+import org.eclipse.gendoc.documents.IImageService;
+import org.eclipse.gendoc.documents.MimeTypes;
+import org.eclipse.gendoc.documents.ResourceRunnable;
+import org.eclipse.gendoc.services.GendocServices;
+import org.eclipse.gendoc.services.ILogger;
+import org.eclipse.gendoc.services.exception.AdditionalResourceException;
+import org.eclipse.gendoc.services.utils.DefaultImageExtensionUtils;
+import org.eclipse.gendoc.services.pptx.PPTXDocumentService;
+import org.w3c.dom.Element;
+
+public class PPTXAdditionalResourceService extends AdditionalResourceService implements IAdditionalResourceService {
+ private IImageService imageService;
+ private List<Element> relationshipsToAdd;
+ protected Map<String, String> externalChunkMap;
+
+ public PPTXAdditionalResourceService() {
+ super();
+ relationshipsToAdd = new ArrayList<Element>();
+ externalChunkMap = new LinkedHashMap<String, String>();
+ imageService = new PPTXImageService();
+ }
+
+ @Override
+ public IImageService getImageService() {
+ return imageService;
+ }
+
+ @Override
+ public String includeFile(String filePath) {
+ String id = generateUniqueId();
+
+ externalChunkMap.put(id, filePath);
+
+ // Add file extension to extensions list
+ fileExtensions.add(Path.fromOSString(filePath).getFileExtension());
+
+ return id;
+ }
+
+ @Override
+ public void includeExtensions(Set<String> fileExt) {
+ fileExtensions.addAll(fileExt);
+ }
+
+ @Override
+ public void addAdditionalResourcesToDocument() throws AdditionalResourceException {
+
+ String mediaLoc = getResourceFolder();
+ IDocumentManager docManager = GendocServices.getDefault().getService(IDocumentManager.class);
+ PPTXDocument pptxDocument = (PPTXDocument)docManager.getDocTemplate();
+
+ PPTXDocumentService documentService = GendocServices.getDefault()
+ .getService(IDocumentService.class);
+
+ // Get directory "media" and add it if not present
+ File mediaDir = new File(mediaLoc);
+ if (!mediaDir.exists()) {
+ mediaDir.mkdir();
+ }
+ // Add images resources to document
+ addImagesResourcesToDocument(mediaLoc);
+
+ // Add external file resources to document
+ addExternalResourcesToDocument(mediaLoc);
+
+ // Add mappings between images and files
+ //String relsLocation = addRelationShips(unzipLoc);
+ String relsLocation = SEPARATOR + "ppt" + SEPARATOR + "slides" + SEPARATOR + "_rels" + SEPARATOR;
+
+ // Add mapping files for each document XML (document.xml, headers,
+ // footers)
+ addRelationShipFiles(pptxDocument, relsLocation);
+
+ // Modify file with content types [Content_Types].xml to add unknown
+ // file extensions
+ modifyContentTypes(pptxDocument);
+
+ }
+
+ public String addRunnableResourceToDocument(String mediaLoc,
+ String diagramKey) throws AdditionalResourceException {
+ if (runnableMap.get(diagramKey) == null) {
+ throw new AdditionalResourceException("Image with id '"
+ + diagramKey + "' cannot be found.");
+ }
+ // Get runnableResource
+
+ ResourceRunnable runnable = runnableMap.get(diagramKey);
+
+ String extension = getFileExtensionFromRunnable(runnable);
+
+ // Run the resource
+ runnable.run(diagramKey, getResourceFolder());
+
+ // add relationship in drawing*.xml.rels
+ relationshipsToAdd.add(newImageRelationship(diagramKey, diagramKey + "."+ extension));
+ fileExtensions.add(extension);
+ return getResourceFolder() + SEPARATOR + diagramKey + "." + extension;
+
+ }
+
+ @Override
+ protected String getRelativeResourceFolder() {
+ return "ppt" + SEPARATOR + "media";
+ }
+
+ private void addImagesResourcesToDocument(String mediaLoc)
+ throws AdditionalResourceException {
+
+ // For each image
+ for (String imageKey : imagesMap.keySet()) {
+ // add image as file in the media directory
+ File imageFile = new File(imagesMap.get(imageKey));
+
+ // Extract and normalize file name
+ String imageLink = imageKey
+ + "."
+ + Path.fromOSString(imageFile.getAbsolutePath())
+ .getFileExtension();
+ try {
+ copyImage(imageFile, mediaLoc + SEPARATOR + imageLink);
+ } catch (IOException e) {
+ throw new AdditionalResourceException("File '"
+ + imageFile.getAbsolutePath() + "'cannot be copied.", e);
+ }
+ // add relationship in document.xml.rels
+ relationshipsToAdd.add(newImageRelationship(imageKey, imageLink));
+
+ if (!imageFile.exists()) {
+ throw new AdditionalResourceException(
+ "An image cannot be generated and has been replaced by a red cross. Cause: No image found at location:"
+ + imageFile.getAbsolutePath());
+ }
+ }
+ }
+
+ // TODO: Check if external docs can be inserted.
+ private void addExternalResourcesToDocument(String mediaLoc) throws AdditionalResourceException {
+/* for (String key : externalChunkMap.keySet()) {
+ // add external file as file in the media directory
+ File file = new File(externalChunkMap.get(key));
+ // Extract file
+ String externalLink = key
+ + "."
+ + Path.fromOSString(file.getAbsolutePath())
+ .getFileExtension();// normalizeString(getFileName(externalChunkMap.get(key)));
+ try {
+ copyFile(file, mediaLoc + SEPARATOR + externalLink);
+ } catch (IOException e) {
+ throw new AdditionalResourceException("File '"
+ + file.getAbsolutePath() + "'cannot be copied.", e);
+ }
+ // add relationship in document.xml.rels
+ relationShipsToAdd.append(newExternalChunkRelationship(key,
+ externalLink));
+ if (!file.exists()) {
+ throw new AdditionalResourceException(
+ "An external file cannot be generated. Cause: No file found at location:"
+ + file.getAbsolutePath());
+ }
+ }*/
+ }
+
+ private void addRelationShipFiles(PPTXDocument pptxDocument, String relsLocation)
+ throws AdditionalResourceException {
+
+ if (relationshipsToAdd == null)
+ return;
+
+ ILogger logger = GendocServices.getDefault().getService(ILogger.class);
+
+ // Get Word directory
+ File wordDir = new File(pptxDocument.getUnzipLocationDocumentFile()+
+ File.separator+relsLocation+File.separator+"..");
+ if (!wordDir.isDirectory()) {
+ return;
+ }
+
+ String[] fileNames = wordDir.list(new FilenameFilter() {
+ public boolean accept(File dir, String name) {
+ name = name.toLowerCase();
+ return name.startsWith("slide") && name.endsWith(".xml");
+ }
+ });
+ try {
+ // Add new relationships to all headers and footers
+ for (String fileName : fileNames) {
+ String relpath = relsLocation+ fileName + ".rels";
+
+ XMLParser relParser = pptxDocument.getSubdocument(relpath);
+ if (relParser == null) {
+ relParser = pptxDocument.createSubdocument(relpath, "<?xml version=\"1.0\" encoding=\"windows-1250\"?> "
+ + "<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"/>");
+ }
+
+ try {
+ for (Element relToAdd : relationshipsToAdd) {
+ if (XPathPptxUtils.INSTANCE.evaluateNode(relParser.getDocument(), "/rel:Relationships/rel:Relationship[@Id='"+
+ relToAdd.getAttribute("Id")+"']") != null)
+ continue;
+ relParser.getDocument().getDocumentElement().appendChild(
+ relParser.getDocument().importNode(relToAdd, true));
+ }
+ } catch (XPathExpressionException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ } catch (IOException e) {
+ logger.log(
+ "Mapping files for headers and footers are not copied properly. Some images in headers and "
+ + "footers can be missing.",
+ IStatus.INFO);
+ }
+ }
+
+ private void modifyContentTypes(PPTXDocument pptxDocument)
+ throws AdditionalResourceException {
+
+ XMLParser ctParser = pptxDocument.getSubdocument("/[Content_Types].xml");
+ try {
+ for (String extension : fileExtensions) {
+ if (XPathPptxUtils.INSTANCE.evaluateNode(ctParser.getDocument(),
+ "/ct:Types/ct:Default[@Extension='"+extension+"']") != null)
+ continue;
+ Element extEl = ctParser.getDocument().createElementNS(
+ PPTXHelper.CONTENT_TYPES_NAMESPACE, "Default");
+ extEl.setAttribute("ContentType", MimeTypes.getMimeTypefromExtension(extension));
+ extEl.setAttribute("Extension", extension);
+ ctParser.getDocument().getDocumentElement().insertBefore(
+ extEl, ctParser.getDocument().getDocumentElement().getFirstChild());
+ }
+ } catch (Exception e) {
+ throw new AdditionalResourceException(e);
+ }
+ }
+
+ private Element newImageRelationship(String imageKey, String imageLink) {
+ try {
+ return (Element)XPathPptxUtils.INSTANCE.parserXmlFragment("<rel:Relationship Id=\""
+ + imageKey
+ + "\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\" Target=\"../media/"
+ + imageLink + "\"/>");
+ } catch (Exception e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+
+ private String newExternalChunkRelationship(String key, String target) {
+ return "<Relationship Id=\""
+ + key
+ + "\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk\" Target=\"../media/"
+ + target + "\"/>";
+ }
+
+ private String getFileExtensionFromRunnable(ResourceRunnable runnable) {
+ if (runnable instanceof FileRunnable) {
+ return ((FileRunnable) runnable).getFileExtension();
+ }
+ return DefaultImageExtensionUtils.getDefaultImageExtension();
+ }
+}
diff --git a/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXDocumentService.java b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXDocumentService.java
new file mode 100644
index 0000000..e7b1541
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXDocumentService.java
@@ -0,0 +1,329 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.services.pptx;
+
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Stack;
+import java.util.regex.Pattern;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.gendoc.document.parser.documents.Document;
+import org.eclipse.gendoc.document.parser.documents.Document.CONFIGURATION;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+import org.eclipse.gendoc.document.parser.pptx.PPTXDocument;
+import org.eclipse.gendoc.document.parser.pptx.PPTXHelper;
+import org.eclipse.gendoc.document.parser.pptx.PPTXNamespaceContext;
+import org.eclipse.gendoc.documents.IAdditionalResourceService;
+import org.eclipse.gendoc.documents.IDocumentService;
+import org.eclipse.gendoc.documents.XMLDocumentService;
+import org.eclipse.gendoc.services.exception.DocumentServiceException;
+import org.eclipse.gendoc.services.exception.InvalidContentException;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+// TODO: Provide a common ooxml abstract implementation of XMLDocumentService
+// TODO: Some tags need to delegate to services associated to the tag (such as IHTMLService) which need to delegate to
+// an extension point and to a default implementation of the service for cases where the document type does not support
+// the function provided by the tag / service:
+// - IAdditionalResourceService
+// - IHtmlService (RichTextTag)
+
+public class PPTXDocumentService extends XMLDocumentService implements IDocumentService {
+ private static final boolean DEBUG = System.getProperty("debug") != null;
+ private String serviceId;
+ private PPTXAdditionalResourceService additionalResourceService = new PPTXAdditionalResourceService();
+
+ public PPTXDocumentService() {
+ // TODO Auto-generated constructor stub
+ }
+
+ @Override
+ public String getServiceId ()
+ {
+ return this.serviceId;
+ }
+
+ @Override
+ public void setServiceId (String serviceId)
+ {
+ this.serviceId = serviceId;
+ }
+
+
+ @Override
+ public void saveDocument(Document doc, String path) throws DocumentServiceException {
+ if (!(doc instanceof PPTXDocument)) {
+ throw new DocumentServiceException("Document is not a valid DOCX document.");
+ }
+
+ PPTXDocument document = (PPTXDocument)doc;
+ try
+ {
+ // back to the beginning
+ document.jumpToStart();
+ do
+ {
+ XMLParser p = document.getXMLParser();
+ DOMSource domSource = new DOMSource(p.getDocument());
+ if (p.getKind() == CONFIGURATION.content) {
+ StreamResult fluxDestination = new StreamResult(p.getXmlFile());
+ TransformerFactory transformBuilder = TransformerFactory.newInstance();
+
+ Transformer transformer = transformBuilder.newTransformer();
+ transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
+ transformer.setOutputProperty(OutputKeys.INDENT, "no");
+ transformer.transform(domSource, fluxDestination);
+
+ if (DEBUG) {
+ StringWriter swr = new StringWriter();
+ transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+ transformer.transform(domSource, new StreamResult(swr));
+ swr.flush();
+ Activator.getDefault().getLog().log(new Status(
+ IStatus.INFO, Activator.PLUGIN_ID,
+ "/ppt/" + document.getXMLParser().getXmlFile().getName()+":\n"+
+ swr.toString()));
+ }
+ }
+ }
+ while (document.jumpToNextFile());
+
+ for (XMLParser p : document.getSubdocuments()) {
+ DOMSource domSource = new DOMSource(p.getDocument());
+ StreamResult fluxDestination = new StreamResult(p.getXmlFile());
+ TransformerFactory transformBuilder = TransformerFactory.newInstance();
+
+ Transformer transformer = transformBuilder.newTransformer();
+ transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
+ transformer.setOutputProperty(OutputKeys.INDENT, "no");
+ transformer.transform(domSource, fluxDestination);
+ if (DEBUG) {
+ StringWriter swr = new StringWriter();
+ transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+ transformer.transform(domSource, new StreamResult(swr));
+ swr.flush();
+ Activator.getDefault().getLog().log(new Status(
+ IStatus.INFO, Activator.PLUGIN_ID,
+ p.getXmlFile().getAbsolutePath().replace(
+ document.getUnzipLocationDocumentFile().getAbsolutePath(),"")+":\n"+
+ swr.toString()));
+ }
+ }
+
+ ((PPTXDocument) document).zipToLocation(path);
+ }
+ catch (TransformerConfigurationException e1)
+ {
+ e1.printStackTrace();
+ }
+ catch (TransformerException e2)
+ {
+ e2.printStackTrace();
+ }
+ }
+
+ @Override
+ public String getListLabel() {
+ return null;
+ }
+
+ @Override
+ public boolean isList(String label) {
+ return false;
+ }
+
+ @Override
+ public String getListId(Node n) {
+ return null;
+ }
+
+ @Override
+ public String getContinueList(Node currentNode, String idList) throws InvalidContentException {
+ return null;
+ }
+
+ @Override
+ public boolean isListItem(String label) {
+ return false;
+ }
+
+ @Override
+ public String getTableLabel() {
+ return null;
+ }
+
+ @Override
+ public boolean isTable(String label) {
+ return false;
+ }
+
+ @Override
+ public boolean isRow(String label) {
+ return false;
+ }
+
+
+ // TODO: The nobr tag can not use pattern matching as the pptx format use <t> tags with
+ // xml:space="preserve" or by default preserve blanks.
+ // A mergeParagraphs(...) function may be needed on the DocumentService interface => IDocumentService2
+ @Override
+ public Pattern getNobrReplacePattern()
+ {
+ return null;
+ }
+
+ @Override
+ public String format(String input) {
+ // The <t> tags preserve blanks.
+ return input;
+ }
+
+ @Override
+ public PPTXNamespaceContext getNameSpaceContext() {
+ return new PPTXNamespaceContext();
+ }
+
+ @Override
+ public String getNamingSpaceURL() {
+ //return "xmlns:p=\""+ PPTXHelper.PRESENTATION_NAMESPACE+"\" xmlns:r=\""+OpenOfficeHelper.RELATIONSHIPS_NAMESPACE+"\"";
+ return getNameSpaceContext().getPrefixMapping();
+ }
+
+ @Override
+ public String getTextStyle() {
+ return PPTXHelper.DRAWING_ML_TEXT_STRING;
+ }
+
+ @Override
+ public boolean isPara(String label) {
+ return PPTXHelper.DRAWING_ML_TEXT_PARAGRAPH.equals(label) ||
+ PPTXHelper.GENDOC_REF_ELEM.equals(label);
+ }
+
+ @Override
+ public String[] getTextTagLabels() {
+ return new String[] {};
+ }
+
+ @Override
+ // TODO: Needed for insert images.
+ public IAdditionalResourceService getAdditionalResourceService() {
+ return additionalResourceService;
+ }
+
+ @Override
+ protected Node cleanTags(Node currentNode, List<String> tagLabels, Node baseNode) throws InvalidContentException {
+ if (baseNode == null)
+ {
+ return null;
+ }
+
+ // 2. Check that this node contains the start of a valid tag label
+ StringBuffer newNodeContent = new StringBuffer(extractNodeTextValue(baseNode));
+ while (baseNode != null && !containsOneOf(tagLabels, newNodeContent.toString()))
+
+ {
+ baseNode = findNodeWithStartTag(baseNode, currentNode);
+ if (baseNode != null)
+ {
+ newNodeContent = new StringBuffer(extractNodeTextValue(baseNode));
+ }
+ }
+ if (baseNode == null)
+ {
+ return null;
+ }
+ // 3. Base node is found AND matches a valid tag => Check tag closure
+
+ boolean isCompleteTag = containsFullTags(newNodeContent.toString(), tagLabels);
+
+ // 4. If tag not closed :
+ if (!isCompleteTag)
+ {
+ // Find all nodes matching the base node label
+ NodeList followingNodes = getNextNodes(baseNode, baseNode.getNodeName());
+ List<Node> nodesToRemove = new ArrayList<Node>();
+
+ if (followingNodes != null)
+ {
+ // Append text values of all these nodes until tag closure is found
+ for (int i = 0; i < followingNodes.getLength(); i++)
+ {
+ String textValue = extractNodeTextValue(followingNodes.item(i));
+ newNodeContent.append(textValue);
+ Node nodeToRemove = getBestAscendantUntil(currentNode, followingNodes.item(i));
+ if (!nodesToRemove.contains(nodeToRemove))
+ {
+ nodesToRemove.add(nodeToRemove);
+ }
+ if (containsFullTags(newNodeContent.toString(), tagLabels))
+ {
+ isCompleteTag = true;
+ break;
+ }
+
+ }
+
+ // Remove all nodes that are not useful anymore from initial current Node
+ for (Node nodeToRemove : nodesToRemove)
+ {
+ if (nodeToRemove != null && currentNode.equals(nodeToRemove.getParentNode()))
+ {
+ currentNode.removeChild(nodeToRemove);
+ }
+ }
+ }
+ }
+ // Replace content of base node with the text stored in "textContent" variable
+ String[] separated = asText(baseNode).split(XML_TAG_START + "|" + XML_TAG_END);
+ if (separated != null && separated.length > 1)
+ {
+ newNodeContent.insert(0, XML_TAG_START + separated[1] + XML_TAG_END);
+ newNodeContent.append(XML_TAG_START + separated[separated.length - 1] + XML_TAG_END);
+ }
+ else
+ {
+ newNodeContent.append(asText(baseNode));
+ }
+ // Replace invalid characters
+ String nodeContent = cleanXMLContent(newNodeContent.toString());
+
+ // Replace base node by the value of the buffer
+ Node result = injectNode(baseNode, nodeContent);
+ baseNode.getParentNode().removeChild(baseNode);
+ return result;
+ }
+
+ @Override
+ protected boolean areSimilarTags(String tagName1, String tagName2) {
+ return false;
+ }
+
+ @Override
+ protected String containsSimilarTag(Stack<String> tagStack, String tagName) {
+ return null;
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXFlattenProcess.java b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXFlattenProcess.java
new file mode 100644
index 0000000..61b1ea4
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXFlattenProcess.java
@@ -0,0 +1,170 @@
+package org.eclipse.gendoc.services.pptx;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.eclipse.gendoc.document.parser.documents.Document;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+import org.eclipse.gendoc.document.parser.documents.openoffice.OpenOfficeDocument;
+import org.eclipse.gendoc.document.parser.pptx.PPTXDocument;
+import org.eclipse.gendoc.document.parser.pptx.PPTXHelper;
+import org.eclipse.gendoc.document.parser.pptx.PPTXParser;
+import org.eclipse.gendoc.document.parser.pptx.PPTXRef;
+import org.eclipse.gendoc.document.parser.pptx.XPathPptxUtils;
+import org.eclipse.gendoc.documents.IDocumentManager;
+import org.eclipse.gendoc.documents.IDocumentService;
+import org.eclipse.gendoc.process.AbstractProcess;
+import org.eclipse.gendoc.services.GendocServices;
+import org.eclipse.gendoc.services.exception.GenDocException;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class PPTXFlattenProcess extends AbstractProcess {
+
+ @Override
+ protected void doRun() throws GenDocException {
+ IDocumentService docService = GendocServices.getDefault().getService(IDocumentService.class);
+ if (!(docService instanceof PPTXDocumentService))
+ return;
+
+ final IDocumentManager documentManager = GendocServices.getDefault().getService(IDocumentManager.class);
+ Document document = documentManager.getDocTemplate();
+ document.jumpToStart();
+
+ PPTXParser parser = (PPTXParser)document.getXMLParser();
+ Element gendocExt = (Element)parser.getDocument().getDocumentElement().appendChild(
+ parser.getDocument().createElementNS(PPTXHelper.GENDOC_NS,PPTXHelper.GENDOC_FLAT_STRUCTURE_ELEM));
+ gendocExt.setAttribute("xmlns:gendoc", PPTXHelper.GENDOC_NS);
+ do {
+ if (PPTXHelper.SLIDE_ID_NODE.equals(parser.getCurrentNode().getNodeName()))
+ {
+ Node item = parser.getCurrentNode().getAttributes().getNamedItem(PPTXHelper.SLIDE_ID_ATTR);
+ if (item != null)
+ {
+ String relId = item.getNodeValue();
+ try {
+ XMLParser slideParser = parser.loadExplicitPartDocument(PPTXHelper.SLIDE_RELATIONSHIP, relId);
+ createSlideFlattenStructure((OpenOfficeDocument)document,slideParser,gendocExt);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ }
+ } while (document.next());
+ }
+
+ protected void createSlideFlattenStructure(OpenOfficeDocument document, XMLParser parser, Element ownerEl) {
+ org.w3c.dom.Document doc = ownerEl.getOwnerDocument();
+
+ PPTXRef slideRef = new PPTXRef(document.getRelativePath(parser),
+ XPathPptxUtils.INSTANCE.getNodeXPath(doc.getDocumentElement()));
+
+ StringBuffer paragRefs = new StringBuffer();
+ Element startSlide = (Element)ownerEl.appendChild(doc.createElement(PPTXHelper.GENDOC_REF_ELEM));
+ startSlide.setAttribute(PPTXHelper.GENDOC_REF_ELEM_TYPE_ATTR,
+ PPTXHelper.GENDOC_REF_TYPE.startSlide.name());
+ startSlide.setAttribute(PPTXHelper.GENDOC_REF_ELEM_REF_ATTR,slideRef.toString());
+
+ try {
+ NodeList parasNodeList = XPathPptxUtils.INSTANCE.evaluateNodes(parser.getDocument(), "//"+PPTXHelper.DRAWING_ML_TEXT_PARAGRAPH);
+ ArrayList<Node> paras = new ArrayList<Node>();
+ for (int i=0;i<parasNodeList.getLength(); i++)
+ paras.add(parasNodeList.item(i));
+ Collections.sort(paras, new TextBoxNodeComparator((PPTXDocument)document, parser));
+ for (int i=0;i<paras.size(); i++) {
+ Element n = (Element)paras.get(i);
+ String xpathToEl = XPathPptxUtils.INSTANCE.getNodeXPath(n);
+ n = (Element)doc.importNode(n, true);
+ String ref = new PPTXRef(xpathToEl).toString();
+ n.setAttributeNS(PPTXHelper.GENDOC_NS, PPTXHelper.GENDOC_XPATHREF_ATTR, ref);
+ if (paragRefs.length() != 0)
+ paragRefs.append(",");
+ paragRefs.append(ref);
+ ownerEl.appendChild(n);
+ }
+ } catch (XPathExpressionException e) {}
+
+ Element endSlide = (Element)ownerEl.appendChild(doc.createElement(PPTXHelper.GENDOC_REF_ELEM));
+ endSlide.setAttribute(PPTXHelper.GENDOC_REF_ELEM_TYPE_ATTR,
+ PPTXHelper.GENDOC_REF_TYPE.endSlide.name());
+ endSlide.setAttribute(PPTXHelper.GENDOC_REF_ELEM_REF_ATTR, slideRef.toString());
+
+ startSlide.setAttribute("paras", paragRefs.toString());
+ }
+
+ @Override
+ protected int getTotalWork() {
+ return 1;
+ }
+
+ private static class TextBoxNodeComparator implements Comparator<Node> {
+ public TextBoxNodeComparator(PPTXDocument doc, XMLParser slideParser) {
+ this.slideParser = slideParser;
+ this.pptxDocument = doc;
+ }
+
+ @Override
+ public int compare(Node o1, Node o2) {
+ try {
+ Node xfrm1 = getXFrameNode(o1);
+ Node xfrm2 = getXFrameNode(o2);
+
+ if (xfrm1 == null && xfrm2 != null) {
+ return Integer.MAX_VALUE;
+ } else if (xfrm2 == null && xfrm1 != null)
+ return Integer.MIN_VALUE;
+
+ long y1 = XPathPptxUtils.INSTANCE.evaluateNumber(xfrm1,"./a:off/@y",Integer.MAX_VALUE);
+ long y2 = XPathPptxUtils.INSTANCE.evaluateNumber(xfrm2,"./a:off/@y",Integer.MAX_VALUE);
+
+ if (Math.abs(y1-y2) < 100) {
+ long x1 = XPathPptxUtils.INSTANCE.evaluateNumber(xfrm1,"./a:off/@x",Integer.MAX_VALUE);
+ long x2 = XPathPptxUtils.INSTANCE.evaluateNumber(xfrm2,"./a:off/@x",Integer.MAX_VALUE);
+ if (Math.abs(x1-x2) < 100) {
+ return 0;
+ }
+ return (int)(x1-x2);
+ } else
+ return (int)(y1 - y2);
+ } catch (XPathExpressionException e) {
+ return 0;
+ }
+
+ }
+
+ private Node getXFrameNode(Node par) throws XPathExpressionException {
+
+ Element xfrm = (Element)XPathPptxUtils.INSTANCE.evaluateNode(par,"./ancestor::p:sp/p:spPr/a:xfrm");
+ if (xfrm == null) {
+ Node phNode = XPathPptxUtils.INSTANCE.evaluateNode(par,"./ancestor::p:sp/p:nvSpPr/p:nvPr/p:ph");
+ if (phNode == null)
+ return null;
+ String idx = XPathPptxUtils.INSTANCE.evaluateText(phNode,"./@idx");
+ String type = XPathPptxUtils.INSTANCE.evaluateText(phNode,"./@type");
+ String relsPath = pptxDocument.getRelativePath(slideParser);
+ relsPath = relsPath.replace("/slides/","/slides/_rels/")+".rels";
+ XMLParser slideRelsPath = pptxDocument.getSubdocument(relsPath);
+ String layoutFile = XPathPptxUtils.INSTANCE.evaluateText(slideRelsPath.getDocument(),
+ "//rel:Relationship[@Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout']/@Target");
+ layoutFile = "/ppt/slideLayouts/"+layoutFile.substring(layoutFile.lastIndexOf('/')+1);
+ XMLParser slideLayoutParser = pptxDocument.getSubdocument(layoutFile);
+
+ xfrm = (Element)XPathPptxUtils.INSTANCE.evaluateNode(slideLayoutParser.getDocument(),"//p:sp[p:nvSpPr/p:nvPr/p:ph[@idx='"+idx+"']]/p:spPr/a:xfrm");
+ if (xfrm == null)
+ xfrm = (Element)XPathPptxUtils.INSTANCE.evaluateNode(slideLayoutParser.getDocument(),"//p:sp[p:nvSpPr/p:nvPr/p:ph[@type='"+type+"']]/p:spPr/a:xfrm");
+ }
+
+ return xfrm;
+ }
+
+ private PPTXDocument pptxDocument;
+ private XMLParser slideParser;
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXImageService.java b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXImageService.java
new file mode 100644
index 0000000..0b4eafc
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXImageService.java
@@ -0,0 +1,162 @@
+/*****************************************************************************
+ * (c) Copyright 2016 Telefonaktiebolaget LM Ericsson
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Antonio Campesino (Ericsson) antonio.campesino.robles@ericsson.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.services.pptx;
+
+import java.io.File;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+import org.eclipse.gendoc.document.parser.documents.helper.UnitsHelper;
+import org.eclipse.gendoc.document.parser.documents.helper.UnitsHelper.Unit;
+import org.eclipse.gendoc.document.parser.pptx.PPTXDocument;
+import org.eclipse.gendoc.document.parser.pptx.PPTXHelper;
+import org.eclipse.gendoc.document.parser.pptx.PPTXParser;
+import org.eclipse.gendoc.document.parser.pptx.XPathPptxUtils;
+import org.eclipse.gendoc.documents.AbstractImageService;
+import org.eclipse.gendoc.documents.IAdditionalResourceService;
+import org.eclipse.gendoc.documents.IDocumentService;
+import org.eclipse.gendoc.documents.ImageDimension;
+import org.eclipse.gendoc.services.GendocServices;
+import org.eclipse.gendoc.services.exception.AdditionalResourceException;
+import org.eclipse.gendoc.tags.ITag;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+//TODO: Provide a common ooxml abstract implementation of XLSXImageService
+public class PPTXImageService extends AbstractImageService
+{
+ @Override
+ public String manageImage(ITag tag, String imageId, String filePath, boolean keepH, boolean keepW, boolean maxH, boolean maxW) throws AdditionalResourceException {
+ IDocumentService documentService = GendocServices.getDefault().getService(IDocumentService.class);
+ PPTXDocument document = (PPTXDocument)documentService.getDocument();
+ XMLParser parser = document.getXMLParser();
+ if (!(parser instanceof PPTXParser))
+ return "";
+
+ IAdditionalResourceService additionalResourceService = documentService.getAdditionalResourceService();
+ String imageFileName = additionalResourceService.getImageRelativePath(imageId);
+ int index = imageFileName.lastIndexOf("/");
+ if (index != -1)
+ imageFileName = imageFileName.substring(index+1);
+
+ // TODO: Proper...
+ String str = String.format("<gendoc:pic imageId=\"%s\" keepH=\"%b\" keepW=\"%b\" maxH=\"%b\" maxW=\"%b\"/>",
+ imageId, keepH, keepW, maxH, maxW);
+
+ return str;
+ }
+
+ public void replaceParagraphWithPicture(PPTXDocument document, XMLParser slideParser, Node slideParEl, String imageId, boolean keepH, boolean keepW, boolean maxH, boolean maxW) {
+ try {
+ Node slideShape = XPathPptxUtils.INSTANCE.evaluateNode(slideParEl, "ancestor::p:sp");
+
+ String nvPrId = XPathPptxUtils.INSTANCE.evaluateText(slideShape,"./p:nvSpPr/p:cNvPr/@id");
+ String nvPrName = XPathPptxUtils.INSTANCE.evaluateText(slideShape,"./p:nvSpPr/p:cNvPr/@name");
+
+ StringBuffer picBuffer = new StringBuffer();
+ picBuffer.append("<p:pic>");
+ picBuffer.append("<p:nvPicPr>");
+ picBuffer.append("<p:cNvPr id=\""+nvPrId+"\" name=\""+nvPrName+"\"/>");
+ picBuffer.append("<p:cNvPicPr>");
+ picBuffer.append("<a:picLocks noGrp=\"1\" noChangeAspect=\"1\"/>");
+ picBuffer.append("</p:cNvPicPr>");
+ picBuffer.append("<p:nvPr/>");
+ picBuffer.append("</p:nvPicPr>");
+ picBuffer.append("<p:blipFill>");
+ picBuffer.append("<a:blip r:embed=\""+imageId+"\">");
+ picBuffer.append("</a:blip>");
+ picBuffer.append("<a:stretch>");
+ picBuffer.append("<a:fillRect/>");
+ picBuffer.append("</a:stretch>");
+ picBuffer.append("</p:blipFill>");
+ picBuffer.append("<p:spPr/>");
+ picBuffer.append("</p:pic>");
+
+ Node picNode = XPathPptxUtils.INSTANCE.parserXmlFragment(picBuffer.toString());
+ picNode = slideShape.getParentNode().insertBefore(slideShape.getOwnerDocument().importNode(picNode,true), slideShape);
+
+ Node phNode = XPathPptxUtils.INSTANCE.evaluateNode(slideShape,"./p:nvSpPr/p:nvPr/p:ph");
+ Element xfrm = (Element)XPathPptxUtils.INSTANCE.evaluateNode(slideShape,"./p:spPr/a:xfrm");
+ if (xfrm == null && phNode != null) {
+ String idx = XPathPptxUtils.INSTANCE.evaluateText(phNode,"./@idx");
+ String type = XPathPptxUtils.INSTANCE.evaluateText(phNode,"./@type");
+ String relsPath = document.getRelativePath(slideParser);
+ relsPath = relsPath.replace("/slides/","/slides/_rels/")+".rels";
+ XMLParser slideRelsPath = document.getSubdocument(relsPath);
+ String layoutFile = XPathPptxUtils.INSTANCE.evaluateText(slideRelsPath.getDocument(),
+ "//rel:Relationship[@Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout']/@Target");
+ layoutFile = "/ppt/slideLayouts/"+layoutFile.substring(layoutFile.lastIndexOf('/')+1);
+ XMLParser slideLayoutParser = document.getSubdocument(layoutFile);
+
+ xfrm = (Element)XPathPptxUtils.INSTANCE.evaluateNode(slideLayoutParser.getDocument(),"//p:sp[p:nvSpPr/p:nvPr/p:ph[@idx='"+idx+"']]/p:spPr/a:xfrm");
+ if (xfrm == null)
+ xfrm = (Element)XPathPptxUtils.INSTANCE.evaluateNode(slideLayoutParser.getDocument(),"//p:sp[p:nvSpPr/p:nvPr/p:ph[@type='"+type+"']]/p:spPr/a:xfrm");
+
+ }
+
+ if (phNode != null) {
+ Node pic_nvPrNode = XPathPptxUtils.INSTANCE.evaluateNode(picNode,"./p:nvPicPr/p:nvPr");
+ pic_nvPrNode.appendChild(phNode.cloneNode(true));
+ }
+
+ if (xfrm != null) {
+ // TODO: Change Size.
+ long x = XPathPptxUtils.INSTANCE.evaluateNumber(xfrm,"./a:off/@x",0);
+ long y = XPathPptxUtils.INSTANCE.evaluateNumber(xfrm,"./a:off/@y",0);
+ long cx = XPathPptxUtils.INSTANCE.evaluateNumber(xfrm,"./a:ext/@cx",0);
+ long cy = XPathPptxUtils.INSTANCE.evaluateNumber(xfrm,"./a:ext/@cy",0);
+ IDocumentService docServ = GendocServices.getDefault().getService(IDocumentService.class);
+ ImageDimension imDim = resizeImage(
+ document.getUnzipLocationDocumentFile()+File.separator+
+ docServ.getAdditionalResourceService().getImageRelativePath(imageId).replace(
+ '/', File.separatorChar),
+ (long)UnitsHelper.convertToPixels(Unit.EMU,cx,96),
+ (long)UnitsHelper.convertToPixels(Unit.EMU,cy,96),
+ keepH, keepW, maxH, maxW);
+
+ // TODO: Query the current DPI.
+
+ long newCx = (long)UnitsHelper.convertFromPixels(imDim.getWidth(),96,UnitsHelper.Unit.EMU);
+ long newCy = (long)UnitsHelper.convertFromPixels(imDim.getHeight(),96,UnitsHelper.Unit.EMU);
+
+ x += (cx - newCx) / 2;
+ y += (cy - newCy) / 2;
+ cx = newCx;
+ cy = newCy;
+
+ Element spPrNode = (Element)XPathPptxUtils.INSTANCE.evaluateNode(picNode, "./p:spPr");
+ xfrm = (Element)spPrNode.appendChild(picNode.getOwnerDocument().createElementNS(
+ PPTXHelper.DRAWING_ML_NAMESPACE, "a:xfrm"));
+ Element offNode = (Element)xfrm.appendChild(picNode.getOwnerDocument().createElementNS(
+ PPTXHelper.DRAWING_ML_NAMESPACE, "a:off"));
+ offNode.setAttribute("x", ""+x);
+ offNode.setAttribute("y", ""+y);
+ Element extNode = (Element)xfrm.appendChild(picNode.getOwnerDocument().createElementNS(
+ PPTXHelper.DRAWING_ML_NAMESPACE, "a:ext"));
+ extNode.setAttribute("cx", ""+cx);
+ extNode.setAttribute("cy", ""+cy);
+ Element prstGeom = (Element)spPrNode.appendChild(picNode.getOwnerDocument().createElementNS(
+ PPTXHelper.DRAWING_ML_NAMESPACE, "a:prstGeom"));
+ prstGeom.setAttribute("prst", "rect");
+ }
+ } catch (XPathExpressionException e) {
+ Activator.log(e, IStatus.ERROR);
+ } catch (Exception e) {
+ Activator.log(e, IStatus.ERROR);
+ }
+
+ }
+}
diff --git a/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXRegisteredTags.java b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXRegisteredTags.java
new file mode 100644
index 0000000..a1ae6ca
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXRegisteredTags.java
@@ -0,0 +1,5 @@
+package org.eclipse.gendoc.services.pptx;
+
+public class PPTXRegisteredTags {
+ public static final String DROP_SLIDE = "dropSlide";
+}
diff --git a/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXTextRunProcess.java b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXTextRunProcess.java
new file mode 100644
index 0000000..bbef636
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXTextRunProcess.java
@@ -0,0 +1,80 @@
+package org.eclipse.gendoc.services.pptx;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.gendoc.document.parser.documents.Document;
+import org.eclipse.gendoc.document.parser.documents.helper.XMLHelper;
+import org.eclipse.gendoc.document.parser.pptx.PPTXHelper;
+import org.eclipse.gendoc.documents.IDocumentService;
+import org.eclipse.gendoc.process.AbstractStepProcess;
+import org.eclipse.gendoc.services.GendocServices;
+import org.eclipse.gendoc.services.exception.GenDocException;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class PPTXTextRunProcess extends AbstractStepProcess {
+ public PPTXTextRunProcess() {
+ }
+
+ @Override
+ protected void doRun() throws GenDocException {
+ IDocumentService docService = GendocServices.getDefault().getService(IDocumentService.class);
+ if (!(docService instanceof PPTXDocumentService))
+ return;
+ super.doRun();
+ }
+
+ @Override
+ protected void step(Document document) throws GenDocException {
+ Node currentNode = document.getXMLParser().getCurrentNode();
+ List<Node> nodesToDelete = new ArrayList<Node>();
+ if (currentNode.getNodeName().equals(PPTXHelper.DRAWING_ML_TEXT_PARAGRAPH)) {
+ nodesToDelete.clear();
+ Element el = (Element)currentNode;
+ NodeList nl = el.getChildNodes();
+ Element lastText = null;
+ String lastRunProps = null;
+ for (int i=0; i<nl.getLength(); i++) {
+ if (!(nl.item(i) instanceof Element))
+ continue;
+
+ Element elem = (Element)nl.item(i);
+ if (elem.getNodeName().equals("a:r")) {
+ // Text Run element
+ Element text = (Element)elem.getElementsByTagName("a:t").item(0);
+ NodeList nl2 = elem.getElementsByTagName("a:rPr");
+ Element rPr = (Element)(nl2.getLength() > 0 ? nl2.item(0) : null);
+ String rPrTxt = "";
+ if (rPr != null) {
+ rPr.removeAttribute("lang");
+ rPr.removeAttribute("dirty");
+ rPr.removeAttribute("err");
+ rPrTxt = XMLHelper.asText(rPr, false).trim();
+ }
+ if (lastText == null) {
+ lastRunProps = rPrTxt;
+ lastText = text;
+ continue;
+ }
+
+ if (rPrTxt.equals(lastRunProps)) {
+ // Same kind of run...
+ lastText.setTextContent(lastText.getTextContent()+text.getTextContent());
+ nodesToDelete.add(elem);
+ }
+ } else {
+ lastText = null;
+ lastRunProps = null;
+ }
+ }
+
+ for (Node n : nodesToDelete) {
+ n.getParentNode().removeChild(n);
+ }
+ }
+
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXUnflattenProcess.java b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXUnflattenProcess.java
new file mode 100644
index 0000000..432773f
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/PPTXUnflattenProcess.java
@@ -0,0 +1,187 @@
+package org.eclipse.gendoc.services.pptx;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+import org.eclipse.gendoc.document.parser.documents.helper.XMLHelper;
+import org.eclipse.gendoc.document.parser.pptx.Activator;
+import org.eclipse.gendoc.document.parser.pptx.PPTXDocument;
+import org.eclipse.gendoc.document.parser.pptx.PPTXHelper;
+import org.eclipse.gendoc.document.parser.pptx.PPTXParser;
+import org.eclipse.gendoc.document.parser.pptx.PPTXRef;
+import org.eclipse.gendoc.document.parser.pptx.XPathPptxUtils;
+import org.eclipse.gendoc.documents.IDocumentManager;
+import org.eclipse.gendoc.documents.IDocumentService;
+import org.eclipse.gendoc.process.AbstractProcess;
+import org.eclipse.gendoc.services.GendocServices;
+import org.eclipse.gendoc.services.exception.GenDocException;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class PPTXUnflattenProcess extends AbstractProcess {
+
+ @Override
+ protected void doRun() throws GenDocException {
+ final IDocumentManager documentManager = GendocServices.getDefault().getService(IDocumentManager.class);
+ if (!(documentManager.getDocTemplate() instanceof PPTXDocument))
+ return;
+
+ final IDocumentService documentService = GendocServices.getDefault().getService(IDocumentService.class);
+ PPTXDocument document = (PPTXDocument)documentManager.getDocTemplate();
+ document.jumpToStart();
+
+ PPTXParser pptxParser = (PPTXParser)document.getXMLParser();
+ org.w3c.dom.Document doc = pptxParser.getDocument();
+ // Retrieve Slides
+
+ List<Node> parasToRemove = null;
+ DocumentFragment activeSlide = null;
+ XMLParser activeSlideParser = null;
+ List<DocumentFragment> newSlides = new ArrayList<DocumentFragment>();
+ List<DocumentFragment> newSlideRels = new ArrayList<DocumentFragment>();
+ Node flatStruct = null;
+ NodeList flatStructList = null;
+ try {
+ flatStruct = XPathPptxUtils.INSTANCE.evaluateNode(doc, "//"+PPTXHelper.GENDOC_FLAT_STRUCTURE_ELEM);
+ if (flatStruct != null)
+ flatStructList = XPathPptxUtils.INSTANCE.evaluateNodes(flatStruct, "./*");
+ } catch (XPathExpressionException e) {
+ Activator.log(e,IStatus.ERROR);
+ return;
+ }
+
+ if (flatStruct == null || flatStructList == null)
+ return;
+
+ for (int i = 0; i<flatStructList.getLength(); i++) {
+ Element el = (Element)flatStructList.item(i);
+ if (el.getNodeName().equals(PPTXHelper.GENDOC_REF_ELEM)) {
+ // Check Type:
+ String typeStr = el.getAttribute(PPTXHelper.GENDOC_REF_ELEM_TYPE_ATTR);
+ PPTXHelper.GENDOC_REF_TYPE type = PPTXHelper.GENDOC_REF_TYPE.valueOf(typeStr);
+
+ String ref = el.getAttribute(PPTXHelper.GENDOC_REF_ELEM_REF_ATTR);
+ PPTXRef slideRef = PPTXRef.parse(ref);
+ switch (type) {
+ // Start Slide: Clone the slide and select slide
+ case startSlide:
+ activeSlideParser = document.getSubdocument(slideRef.partPath);
+ Element sldEl = (Element)activeSlideParser.getDocument().getDocumentElement().cloneNode(true);
+ activeSlide = activeSlideParser.getDocument().createDocumentFragment();
+ activeSlide.appendChild(sldEl);
+ newSlides.add(activeSlide);
+
+ String relsPath = slideRef.partPath.replace("/ppt/slides/", "/ppt/slides/_rels/") + ".rels";
+ XMLParser relsP = document.getSubdocument(relsPath);
+ DocumentFragment relsFrag = relsP.getDocument().createDocumentFragment();
+ relsFrag.appendChild(relsP.getDocument().getDocumentElement().cloneNode(true));
+ newSlideRels.add(relsFrag);
+ Set<String> parasRefs = new LinkedHashSet<String>( Arrays.asList(el.getAttribute("paras").split(",")));
+ parasToRemove = new ArrayList<Node>();
+ for (String refToRemove : parasRefs) {
+ try {
+ Element par = (Element)XPathPptxUtils.INSTANCE.evaluateNode(
+ activeSlide,PPTXRef.parse(refToRemove).xpathSelector);
+ if (par != null) {
+ parasToRemove.add(par);
+ }
+ } catch (XPathExpressionException e) {}
+ }
+ break;
+ // End Slide: unselect slide
+ case endSlide:
+ for (Node n : parasToRemove) {
+ if (n.getNodeName().equals("a:p")) {
+ try {
+ if (XPathPptxUtils.INSTANCE.evaluateNodes(n.getParentNode(),"./a:p").getLength() == 1) {
+ n = XPathPptxUtils.INSTANCE.evaluateNode(n,"ancestor::p:sp");
+ }
+ } catch (XPathExpressionException e) {}
+ }
+ n.getParentNode().removeChild(n);
+ }
+ activeSlide = null;
+ activeSlideParser = null;
+ break;
+ }
+ } else if (el.getNodeName().equals(PPTXHelper.DRAWING_ML_TEXT_PARAGRAPH )) {
+ if (activeSlide == null)
+ continue;
+ try {
+ // Check for a image.
+ PPTXRef parRef = PPTXRef.parse(el.getAttribute(PPTXHelper.GENDOC_XPATHREF_ATTR));
+ Element par = (Element)XPathPptxUtils.INSTANCE.evaluateNode(activeSlide,parRef.xpathSelector);
+ if (par == null)
+ continue;
+
+ Node pic = XPathPptxUtils.INSTANCE.evaluateNode(el, ".//gendoc:pic");
+ if (pic != null) {
+ PPTXImageService imgService = (PPTXImageService)documentService.getAdditionalResourceService().getImageService();
+
+ String imageId = XPathPptxUtils.INSTANCE.evaluateText(pic,"./@imageId");
+ boolean keepH = "true".equals(XPathPptxUtils.INSTANCE.evaluateText(pic,"./@keepH"));
+ boolean keepW = "true".equals(XPathPptxUtils.INSTANCE.evaluateText(pic,"./@keepW"));
+ boolean maxH = "true".equals(XPathPptxUtils.INSTANCE.evaluateText(pic,"./@maxH"));
+ boolean maxW = "true".equals(XPathPptxUtils.INSTANCE.evaluateText(pic,"./@maxW"));
+ imgService.replaceParagraphWithPicture(document, activeSlideParser, par, imageId, keepH, keepW, maxH, maxW);
+ Element sp = (Element)XPathPptxUtils.INSTANCE.evaluateNode(par,"ancestor::p:sp");
+ sp.getParentNode().removeChild(sp);
+ parasToRemove.remove(par);
+ } else {
+ el.removeAttribute(PPTXHelper.GENDOC_XPATHREF_ATTR);
+ el.removeAttribute("xmlns:gendoc");
+ par.getParentNode().insertBefore(par.getOwnerDocument().importNode(el,true), par);
+ par.getParentNode().removeChild(par);
+ parasToRemove.remove(par);
+ }
+ } catch (XPathExpressionException e) {}
+ }
+ };
+
+ try {
+ Node slideList = XPathPptxUtils.INSTANCE.evaluateNode(pptxParser.getDocument(),"//"+PPTXHelper.SLIDE_ID_LIST_NODE);
+ NodeList nl = slideList.getChildNodes();
+ while (nl.getLength()>0)
+ slideList.removeChild(nl.item(0));
+
+ int index = 0;
+ for (DocumentFragment slide : newSlides) {
+ try {
+ document.createSubdocument("/ppt/slides/slide"+(index+1)+".xml",
+ XMLHelper.asText(slide.getFirstChild(), true),
+ PPTXHelper.SLIDE_CONTENT_TYPE);
+ document.createSubdocument("/ppt/slides/_rels/slide"+(index+1)+".xml.rels",
+ XMLHelper.asText(newSlideRels.get(index).getFirstChild(), true));
+ String relId = pptxParser.addRelationship(PPTXHelper.SLIDE_RELATIONSHIP, "/ppt/slides/slide"+(index+1)+".xml");
+
+ Element sldIdEl = slideList.getOwnerDocument().createElement(PPTXHelper.SLIDE_ID_NODE);
+ sldIdEl.setAttribute(PPTXHelper.SLIDE_ID_ATTR, relId);
+ sldIdEl.setAttribute("id", ""+(256+index));
+ slideList.appendChild(sldIdEl);
+ } catch (IOException e) {
+ Activator.log(e, IStatus.ERROR);
+ }
+ index ++;
+ }
+ } catch (XPathExpressionException e) {}
+
+ flatStruct.getParentNode().removeChild(flatStruct);
+ }
+
+ @Override
+ protected int getTotalWork() {
+ // TODO Auto-generated method stub
+ return 1;
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/tags/DropSlideTagHandler.java b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/tags/DropSlideTagHandler.java
new file mode 100644
index 0000000..e0255ce
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/tags/DropSlideTagHandler.java
@@ -0,0 +1,33 @@
+/*****************************************************************************
+ * Copyright (c) 2010 Atos Origin.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Kris Robertson (Atos Origin) kris.robertson@atosorigin.com - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.gendoc.services.pptx.tags;
+
+import org.eclipse.gendoc.services.exception.GenDocException;
+import org.eclipse.gendoc.tags.ITag;
+import org.eclipse.gendoc.tags.handlers.AbstractPrePostTagHandler;
+
+/**
+ * Handler for <drop> tags.
+ *
+ * @author Kris Robertson
+ */
+public class DropSlideTagHandler extends AbstractPrePostTagHandler
+{
+ @Override
+ public String doRun(ITag tag) throws GenDocException
+ {
+ return "<" + this.getTagName() + "/>";
+ }
+
+}
diff --git a/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/tags/SlideDropProcess.java b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/tags/SlideDropProcess.java
new file mode 100644
index 0000000..e2091dd
--- /dev/null
+++ b/plugins/org.eclipse.gendoc.services.pptx/src/org/eclipse/gendoc/services/pptx/tags/SlideDropProcess.java
@@ -0,0 +1,98 @@
+package org.eclipse.gendoc.services.pptx.tags;
+
+import java.util.LinkedList;
+import java.util.regex.Pattern;
+
+import org.eclipse.gendoc.document.parser.documents.Document;
+import org.eclipse.gendoc.document.parser.documents.Document.PROPERTY;
+import org.eclipse.gendoc.document.parser.pptx.PPTXHelper;
+import org.eclipse.gendoc.documents.IDocumentService;
+import org.eclipse.gendoc.process.AbstractStepProcess;
+import org.eclipse.gendoc.services.GendocServices;
+import org.eclipse.gendoc.services.exception.GenDocException;
+import org.eclipse.gendoc.services.pptx.PPTXDocumentService;
+import org.eclipse.gendoc.services.pptx.PPTXRegisteredTags;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public class SlideDropProcess extends AbstractStepProcess {
+ protected static final Pattern DROP_SLIDE_TAG_PATTERN = Pattern.compile("<\\s*" + PPTXRegisteredTags.DROP_SLIDE + "\\s*/\\s*>", Pattern.MULTILINE);
+
+ protected IDocumentService documentService = GendocServices.getDefault().getService(IDocumentService.class);
+
+ protected LinkedList<Node> nodesToRemove;
+
+ public SlideDropProcess() {
+ }
+
+
+ @Override
+ protected void doRun() throws GenDocException {
+ if (!(documentService instanceof PPTXDocumentService))
+ return;
+
+ nodesToRemove = new LinkedList<Node>();
+
+ super.doRun();
+
+ for (Node n : nodesToRemove) {
+ Node parent = n.getParentNode();
+ if (parent != null) {
+ parent.removeChild(n);
+ }
+ }
+ }
+
+ @Override
+ protected void step(Document document) throws GenDocException
+ {
+ Node currentNode = document.getXMLParser().getCurrentNode();
+ if (documentService.isPara(currentNode.getNodeName())) {
+ String text = (String)document.get(PROPERTY.text);
+ if (text != null && DROP_SLIDE_TAG_PATTERN.matcher(text).find()) {
+ Node start = findPrevStartSlideNode(currentNode);
+ Node end = findNextEndSlideNode(currentNode);
+ if (start == null || end == null)
+ return;
+ for (Node n = start; n != end; n = n.getNextSibling())
+ nodesToRemove.add(n);
+ nodesToRemove.add(end);
+ }
+ }
+ }
+
+ private Node findPrevStartSlideNode(Node n) {
+ return findSlideRefNode(n,true,PPTXHelper.GENDOC_REF_TYPE.startSlide);
+ }
+
+
+ private Node findNextEndSlideNode(Node n) {
+ return findSlideRefNode(n,false,PPTXHelper.GENDOC_REF_TYPE.endSlide);
+ }
+
+ private Node findSlideRefNode(Node n, boolean previous, PPTXHelper.GENDOC_REF_TYPE refType) {
+ Node sibling = findFlattenStructureChildNode(n);
+ if (sibling == null)
+ return null;
+
+ while (sibling != null) {
+ if (sibling.getNodeName().equals(PPTXHelper.GENDOC_REF_ELEM)) {
+ String typeStr = ((Element)sibling).getAttribute(PPTXHelper.GENDOC_REF_ELEM_TYPE_ATTR);
+ PPTXHelper.GENDOC_REF_TYPE t = PPTXHelper.GENDOC_REF_TYPE.valueOf(typeStr);
+ if (t == refType)
+ return sibling;
+ }
+ sibling = previous ? sibling.getPreviousSibling() : sibling.getNextSibling();
+ }
+ return null;
+ }
+
+ private Node findFlattenStructureChildNode(Node n) {
+ while (n != null) {
+ if (n.getParentNode() != null && n.getParentNode().getNodeName().equals(PPTXHelper.GENDOC_FLAT_STRUCTURE_ELEM))
+ return n;
+ n = n.getParentNode();
+ }
+ return null;
+ }
+}
diff --git a/plugins/org.eclipse.gendoc.tags.html/META-INF/MANIFEST.MF b/plugins/org.eclipse.gendoc.tags.html/META-INF/MANIFEST.MF
index 8037121..9fc87e9 100644
--- a/plugins/org.eclipse.gendoc.tags.html/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.gendoc.tags.html/META-INF/MANIFEST.MF
@@ -20,4 +20,6 @@
Bundle-ClassPath: lib/jtidy-04aug2000r7.jar,
.
Export-Package: org.eclipse.gendoc.tags.html,
- org.eclipse.gendoc.tags.html.impl
+ org.eclipse.gendoc.tags.html.impl,
+ org.w3c.dom,
+ org.w3c.tidy
diff --git a/pom.xml b/pom.xml
index f6ed70e..d5e643e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,12 +12,15 @@
<module>plugins/org.eclipse.gendoc.batch</module>
<module>plugins/org.eclipse.gendoc.bundle.acceleo.commons</module>
<module>plugins/org.eclipse.gendoc.bundle.acceleo.gmf</module>
+ <module>plugins/org.eclipse.gendoc.bundle.acceleo.html</module>
<module>plugins/org.eclipse.gendoc.bundle.acceleo.papyrus</module>
<module>plugins/org.eclipse.gendoc.bundle.acceleo.sirius</module>
<module>plugins/org.eclipse.gendoc.doc</module>
<module>plugins/org.eclipse.gendoc.doc.docx</module>
+ <module>plugins/org.eclipse.gendoc.doc.pptx</module>
<module>plugins/org.eclipse.gendoc.doc.xlsx</module>
<module>plugins/org.eclipse.gendoc.document.parser</module>
+ <module>plugins/org.eclipse.gendoc.document.parser.pptx</module>
<module>plugins/org.eclipse.gendoc.document.parser.xlsx</module>
<module>plugins/org.eclipse.gendoc.documents</module>
<module>plugins/org.eclipse.gendoc.documents.metadata</module>
@@ -28,6 +31,7 @@
<module>plugins/org.eclipse.gendoc.services</module>
<module>plugins/org.eclipse.gendoc.services.docx</module>
<module>plugins/org.eclipse.gendoc.services.odt</module>
+ <module>plugins/org.eclipse.gendoc.services.pptx</module>
<module>plugins/org.eclipse.gendoc.services.xlsx</module>
<module>plugins/org.eclipse.gendoc.tags</module>
<module>plugins/org.eclipse.gendoc.tags.handlers</module>
@@ -41,6 +45,8 @@
<module>plugins/org.eclipse.gendoc.documents.image.svg</module>
<module>tests/org.eclipse.gendoc.batch.tests</module>
+ <module>tests/org.eclipse.gendoc.services.openoffice.test</module>
+ <module>tests/org.eclipse.gendoc.services.pptx.tests</module>
<module>tests/org.eclipse.gendoc.services.xlsx.tests</module>
<module>features/org.eclipse.gendoc.feature</module>
@@ -84,7 +90,7 @@
</property>
</activation>
<properties>
- <milestone.version>M1</milestone.version>
+ <milestone.version>M2</milestone.version>
</properties>
</profile>
<profile>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/.classpath b/tests/org.eclipse.gendoc.services.openoffice.test/.classpath
new file mode 100644
index 0000000..4c62a80
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/.project b/tests/org.eclipse.gendoc.services.openoffice.test/.project
new file mode 100644
index 0000000..d773d0b
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.gendoc.services.openoffice.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.gendoc.services.openoffice.test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/META-INF/MANIFEST.MF b/tests/org.eclipse.gendoc.services.openoffice.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..bf232f7
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Open Office Documents Test Support
+Bundle-SymbolicName: org.eclipse.gendoc.services.openoffice.test
+Bundle-Version: 0.7.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit,
+ org.eclipse.core.resources,
+ org.eclipse.core.runtime,
+ org.eclipse.gendoc.services,
+ org.eclipse.gendoc.document.parser,
+ org.eclipse.gendoc,
+ org.eclipse.gendoc.tags.handlers
+Export-Package: org.eclipse.gendoc.services.openoffice.test
+Bundle-ActivationPolicy: lazy
+Eclipse-BundleShape: dir
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/build.properties b/tests/org.eclipse.gendoc.services.openoffice.test/build.properties
new file mode 100644
index 0000000..342f3ff
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ resources/
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/pom.xml b/tests/org.eclipse.gendoc.services.openoffice.test/pom.xml
new file mode 100644
index 0000000..1f81d11
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/pom.xml
@@ -0,0 +1,12 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.gendoc</groupId>
+ <artifactId>parent</artifactId>
+ <relativePath>../../pom.xml</relativePath>
+ <version>0.7.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.gendoc.services.openoffice.test</artifactId>
+ <packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dc.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dc.xsd
new file mode 100644
index 0000000..5d00eee
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dc.xsd
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xs:schema xmlns="http://purl.org/dc/elements/1.1/" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://purl.org/dc/elements/1.1/">
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ DCMES 1.1 XML Schema
+ XML Schema for http://purl.org/dc/elements/1.1/ namespace
+
+ Created 2003-04-02
+
+ Created by
+
+ Tim Cole (t-cole3@uiuc.edu)
+ Tom Habing (thabing@uiuc.edu)
+ Jane Hunter (jane@dstc.edu.au)
+ Pete Johnston (p.johnston@ukoln.ac.uk),
+ Carl Lagoze (lagoze@cs.cornell.edu)
+
+ This schema declares XML elements for the 15 DC elements from the
+ http://purl.org/dc/elements/1.1/ namespace.
+
+ It defines a complexType SimpleLiteral which permits mixed content
+ and makes the xml:lang attribute available. It disallows child elements by
+ use of minOcccurs/maxOccurs.
+
+ However, this complexType does permit the derivation of other complexTypes
+ which would permit child elements.
+
+ All elements are declared as substitutable for the abstract element any,
+ which means that the default type for all elements is dc:SimpleLiteral.
+
+ </xs:documentation>
+
+ </xs:annotation>
+
+ <xs:complexType name="SimpleLiteral">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ This is the default type for all of the DC elements.
+ It permits text content only with optional
+ xml:lang attribute.
+ Text is allowed because mixed="true", but sub-elements
+ are disallowed because minOccurs="0" and maxOccurs="0"
+ are on the xs:any tag.
+
+ This complexType allows for restriction or extension permitting
+ child elements.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:complexContent mixed="true">
+ <xs:restriction base="xs:anyType">
+ <xs:sequence>
+ <xs:any maxOccurs="0" minOccurs="0" processContents="lax"/>
+ </xs:sequence>
+ <xs:attribute ref="xml:lang" use="optional"/>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element abstract="true" name="any" type="SimpleLiteral"/>
+
+ <xs:element name="title" substitutionGroup="any"/>
+ <xs:element name="creator" substitutionGroup="any"/>
+ <xs:element name="subject" substitutionGroup="any"/>
+ <xs:element name="description" substitutionGroup="any"/>
+ <xs:element name="publisher" substitutionGroup="any"/>
+ <xs:element name="contributor" substitutionGroup="any"/>
+ <xs:element name="date" substitutionGroup="any"/>
+ <xs:element name="type" substitutionGroup="any"/>
+ <xs:element name="format" substitutionGroup="any"/>
+ <xs:element name="identifier" substitutionGroup="any"/>
+ <xs:element name="source" substitutionGroup="any"/>
+ <xs:element name="language" substitutionGroup="any"/>
+ <xs:element name="relation" substitutionGroup="any"/>
+ <xs:element name="coverage" substitutionGroup="any"/>
+ <xs:element name="rights" substitutionGroup="any"/>
+
+ <xs:group name="elementsGroup">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ This group is included as a convenience for schema authors
+ who need to refer to all the elements in the
+ http://purl.org/dc/elements/1.1/ namespace.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded" minOccurs="0">
+ <xs:element ref="any"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:complexType name="elementContainer">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ This complexType is included as a convenience for schema authors who need to define a root
+ or container element for all of the DC elements.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:choice>
+ <xs:group ref="elementsGroup"/>
+ </xs:choice>
+ </xs:complexType>
+
+
+</xs:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dcmitype.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dcmitype.xsd
new file mode 100644
index 0000000..54d9da0
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dcmitype.xsd
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://purl.org/dc/dcmitype/"
+ targetNamespace="http://purl.org/dc/dcmitype/"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ DCMI Type Vocabulary XML Schema
+ XML Schema for http://purl.org/dc/dcmitype/ namespace
+
+ Created 2003-04-02
+
+ Created by
+
+ Tim Cole (t-cole3@uiuc.edu)
+ Tom Habing (thabing@uiuc.edu)
+ Jane Hunter (jane@dstc.edu.au)
+ Pete Johnston (p.johnston@ukoln.ac.uk),
+ Carl Lagoze (lagoze@cs.cornell.edu)
+
+ This schema defines a simpleType which enumerates
+ the allowable values for the DCMI Type Vocabulary.
+ </xs:documentation>
+
+
+ </xs:annotation>
+
+
+ <xs:simpleType name="DCMIType">
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:Name">
+ <xs:enumeration value="Collection"/>
+ <xs:enumeration value="Dataset"/>
+ <xs:enumeration value="Event"/>
+ <xs:enumeration value="Image"/>
+ <xs:enumeration value="InteractiveResource"/>
+ <xs:enumeration value="Service"/>
+ <xs:enumeration value="Software"/>
+ <xs:enumeration value="Sound"/>
+ <xs:enumeration value="Text"/>
+ <xs:enumeration value="PhysicalObject"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+
+</xs:schema>
\ No newline at end of file
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dcterms.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dcterms.xsd
new file mode 100644
index 0000000..3c1aedd
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dcterms.xsd
@@ -0,0 +1,327 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:dcmitype="http://purl.org/dc/dcmitype/"
+ targetNamespace="http://purl.org/dc/terms/"
+ xmlns="http://purl.org/dc/terms/"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ DCterms XML Schema
+ XML Schema for http://purl.org/dc/terms/ namespace
+
+ Created 2003-04-02
+
+ Created by
+
+ Tim Cole (t-cole3@uiuc.edu)
+ Tom Habing (thabing@uiuc.edu)
+ Jane Hunter (jane@dstc.edu.au)
+ Pete Johnston (p.johnston@ukoln.ac.uk),
+ Carl Lagoze (lagoze@cs.cornell.edu)
+
+ This schema declares XML elements for the DC elements and
+ DC element refinements from the http://purl.org/dc/terms/ namespace.
+
+ It reuses the complexType dc:SimpleLiteral, imported from the dc.xsd
+ schema, which permits simple element content, and makes the xml:lang
+ attribute available.
+
+ This complexType permits the derivation of other complexTypes
+ which would permit child elements.
+
+ DC elements are declared as substitutable for the abstract element dc:any, and
+ DC element refinements are defined as substitutable for the base elements
+ which they refine.
+
+ This means that the default type for all XML elements (i.e. all DC elements and
+ element refinements) is dc:SimpleLiteral.
+
+ Encoding schemes are defined as complexTypes which are restrictions
+ of the dc:SimpleLiteral complexType. These complexTypes restrict
+ values to an appropriates syntax or format using data typing,
+ regular expressions, or enumerated lists.
+
+ In order to specify one of these encodings an xsi:type attribute must
+ be used in the instance document.
+
+ Also, note that one shortcoming of this approach is that any type can be
+ applied to any of the elements or refinements. There is no convenient way
+ to restrict types to specific elements using this approach.
+
+ </xs:documentation>
+
+ </xs:annotation>
+
+
+ <xs:import namespace="http://purl.org/dc/elements/1.1/"
+ schemaLocation="dc.xsd"/>
+
+ <xs:import namespace="http://purl.org/dc/dcmitype/"
+ schemaLocation="dcmitype.xsd"/>
+
+ <xs:element name="alternative" substitutionGroup="dc:title"/>
+
+ <xs:element name="tableOfContents" substitutionGroup="dc:description"/>
+ <xs:element name="abstract" substitutionGroup="dc:description"/>
+
+ <xs:element name="created" substitutionGroup="dc:date"/>
+ <xs:element name="valid" substitutionGroup="dc:date"/>
+ <xs:element name="available" substitutionGroup="dc:date"/>
+ <xs:element name="issued" substitutionGroup="dc:date"/>
+ <xs:element name="modified" substitutionGroup="dc:date"/>
+ <xs:element name="dateAccepted" substitutionGroup="dc:date"/>
+ <xs:element name="dateCopyrighted" substitutionGroup="dc:date"/>
+ <xs:element name="dateSubmitted" substitutionGroup="dc:date"/>
+
+ <xs:element name="extent" substitutionGroup="dc:format"/>
+ <xs:element name="medium" substitutionGroup="dc:format"/>
+
+ <xs:element name="isVersionOf" substitutionGroup="dc:relation"/>
+ <xs:element name="hasVersion" substitutionGroup="dc:relation"/>
+ <xs:element name="isReplacedBy" substitutionGroup="dc:relation"/>
+ <xs:element name="replaces" substitutionGroup="dc:relation"/>
+ <xs:element name="isRequiredBy" substitutionGroup="dc:relation"/>
+ <xs:element name="requires" substitutionGroup="dc:relation"/>
+ <xs:element name="isPartOf" substitutionGroup="dc:relation"/>
+ <xs:element name="hasPart" substitutionGroup="dc:relation"/>
+ <xs:element name="isReferencedBy" substitutionGroup="dc:relation"/>
+ <xs:element name="references" substitutionGroup="dc:relation"/>
+ <xs:element name="isFormatOf" substitutionGroup="dc:relation"/>
+ <xs:element name="hasFormat" substitutionGroup="dc:relation"/>
+ <xs:element name="conformsTo" substitutionGroup="dc:relation"/>
+
+ <xs:element name="spatial" substitutionGroup="dc:coverage"/>
+ <xs:element name="temporal" substitutionGroup="dc:coverage"/>
+
+ <xs:element name="audience" substitutionGroup="dc:any"/>
+
+ <xs:element name="mediator" substitutionGroup="audience"/>
+ <xs:element name="educationLevel" substitutionGroup="audience"/>
+
+ <xs:element name="accessRights" substitutionGroup="dc:rights"/>
+
+ <xs:element name="bibliographicCitation" substitutionGroup="dc:identifier"/>
+
+ <xs:complexType name="LCSH">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="MESH">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="DDC">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="LCC">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="UDC">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="Period">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="W3CDTF">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:union memberTypes="xs:gYear xs:gYearMonth xs:date xs:dateTime"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="DCMIType">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="dcmitype:DCMIType"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="IMT">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="URI">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:anyURI"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="ISO639-2">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="RFC1766">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:language"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="RFC3066">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:language"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="Point">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="ISO3166">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="Box">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="TGN">
+ <xs:simpleContent>
+ <xs:restriction base="dc:SimpleLiteral">
+ <xs:simpleType>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:attribute ref="xml:lang" use="prohibited"/>
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:group name="elementsAndRefinementsGroup">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ This group is included as a convenience for schema authors
+ who need to refer to all the DC elements and element refinements
+ in the http://purl.org/dc/elements/1.1/ and
+ http://purl.org/dc/terms namespaces.
+ N.B. Refinements available via substitution groups.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="dc:any" />
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:complexType name="elementOrRefinementContainer">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ This is included as a convenience for schema authors who need to define a root
+ or container element for all of the DC elements and element refinements.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:choice>
+ <xs:group ref="elementsAndRefinementsGroup"/>
+ </xs:choice>
+ </xs:complexType>
+
+
+</xs:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-chart.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-chart.xsd
new file mode 100644
index 0000000..6454ef9
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-chart.xsd
@@ -0,0 +1,1499 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ xmlns="http://schemas.openxmlformats.org/drawingml/2006/chart"
+ xmlns:cdr="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/chart"
+ elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ schemaLocation="shared-relationshipReference.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
+ schemaLocation="dml-main.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing"
+ schemaLocation="dml-chartDrawing.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:complexType name="CT_Boolean">
+ <xsd:attribute name="val" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Double">
+ <xsd:attribute name="val" type="xsd:double" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_UnsignedInt">
+ <xsd:attribute name="val" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RelId">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Extension">
+ <xsd:sequence>
+ <xsd:any processContents="lax"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="xsd:token"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExtensionList">
+ <xsd:sequence>
+ <xsd:element name="ext" type="CT_Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NumVal">
+ <xsd:sequence>
+ <xsd:element name="v" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="idx" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="formatCode" type="s:ST_Xstring" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NumData">
+ <xsd:sequence>
+ <xsd:element name="formatCode" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ptCount" type="CT_UnsignedInt" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pt" type="CT_NumVal" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NumRef">
+ <xsd:sequence>
+ <xsd:element name="f" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="numCache" type="CT_NumData" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NumDataSource">
+ <xsd:sequence>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="numRef" type="CT_NumRef" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="numLit" type="CT_NumData" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StrVal">
+ <xsd:sequence>
+ <xsd:element name="v" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="idx" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StrData">
+ <xsd:sequence>
+ <xsd:element name="ptCount" type="CT_UnsignedInt" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pt" type="CT_StrVal" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StrRef">
+ <xsd:sequence>
+ <xsd:element name="f" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="strCache" type="CT_StrData" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Tx">
+ <xsd:sequence>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="strRef" type="CT_StrRef" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="rich" type="a:CT_TextBody" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextLanguageID">
+ <xsd:attribute name="val" type="s:ST_Lang" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Lvl">
+ <xsd:sequence>
+ <xsd:element name="pt" type="CT_StrVal" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MultiLvlStrData">
+ <xsd:sequence>
+ <xsd:element name="ptCount" type="CT_UnsignedInt" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="lvl" type="CT_Lvl" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MultiLvlStrRef">
+ <xsd:sequence>
+ <xsd:element name="f" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="multiLvlStrCache" type="CT_MultiLvlStrData" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AxDataSource">
+ <xsd:sequence>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="multiLvlStrRef" type="CT_MultiLvlStrRef" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="numRef" type="CT_NumRef" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="numLit" type="CT_NumData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="strRef" type="CT_StrRef" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="strLit" type="CT_StrData" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SerTx">
+ <xsd:sequence>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="strRef" type="CT_StrRef" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="v" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LayoutTarget">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="inner"/>
+ <xsd:enumeration value="outer"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LayoutTarget">
+ <xsd:attribute name="val" type="ST_LayoutTarget" default="outer"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LayoutMode">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="edge"/>
+ <xsd:enumeration value="factor"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LayoutMode">
+ <xsd:attribute name="val" type="ST_LayoutMode" default="factor"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ManualLayout">
+ <xsd:sequence>
+ <xsd:element name="layoutTarget" type="CT_LayoutTarget" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="xMode" type="CT_LayoutMode" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="yMode" type="CT_LayoutMode" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="wMode" type="CT_LayoutMode" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="hMode" type="CT_LayoutMode" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="x" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="y" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="w" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="h" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Layout">
+ <xsd:sequence>
+ <xsd:element name="manualLayout" type="CT_ManualLayout" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Title">
+ <xsd:sequence>
+ <xsd:element name="tx" type="CT_Tx" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="overlay" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_RotX">
+ <xsd:restriction base="xsd:byte">
+ <xsd:minInclusive value="-90"/>
+ <xsd:maxInclusive value="90"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_RotX">
+ <xsd:attribute name="val" type="ST_RotX" default="0"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_HPercent">
+ <xsd:union memberTypes="ST_HPercentWithSymbol ST_HPercentUShort"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HPercentWithSymbol">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="0*(([5-9])|([1-9][0-9])|([1-4][0-9][0-9])|500)%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HPercentUShort">
+ <xsd:restriction base="xsd:unsignedShort">
+ <xsd:minInclusive value="5"/>
+ <xsd:maxInclusive value="500"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_HPercent">
+ <xsd:attribute name="val" type="ST_HPercent" default="100%"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_RotY">
+ <xsd:restriction base="xsd:unsignedShort">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="360"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_RotY">
+ <xsd:attribute name="val" type="ST_RotY" default="0"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DepthPercent">
+ <xsd:union memberTypes="ST_DepthPercentWithSymbol ST_DepthPercentUShort"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DepthPercentWithSymbol">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="0*(([2-9][0-9])|([1-9][0-9][0-9])|(1[0-9][0-9][0-9])|2000)%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DepthPercentUShort">
+ <xsd:restriction base="xsd:unsignedShort">
+ <xsd:minInclusive value="20"/>
+ <xsd:maxInclusive value="2000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DepthPercent">
+ <xsd:attribute name="val" type="ST_DepthPercent" default="100%"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Perspective">
+ <xsd:restriction base="xsd:unsignedByte">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="240"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Perspective">
+ <xsd:attribute name="val" type="ST_Perspective" default="30"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_View3D">
+ <xsd:sequence>
+ <xsd:element name="rotX" type="CT_RotX" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="hPercent" type="CT_HPercent" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="rotY" type="CT_RotY" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="depthPercent" type="CT_DepthPercent" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="rAngAx" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="perspective" type="CT_Perspective" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Surface">
+ <xsd:sequence>
+ <xsd:element name="thickness" type="CT_Thickness" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pictureOptions" type="CT_PictureOptions" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Thickness">
+ <xsd:union memberTypes="ST_ThicknessPercent xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ThicknessPercent">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="([0-9]+)%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Thickness">
+ <xsd:attribute name="val" type="ST_Thickness" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DTable">
+ <xsd:sequence>
+ <xsd:element name="showHorzBorder" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showVertBorder" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showOutline" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showKeys" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_GapAmount">
+ <xsd:union memberTypes="ST_GapAmountPercent ST_GapAmountUShort"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_GapAmountPercent">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="0*(([0-9])|([1-9][0-9])|([1-4][0-9][0-9])|500)%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_GapAmountUShort">
+ <xsd:restriction base="xsd:unsignedShort">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="500"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_GapAmount">
+ <xsd:attribute name="val" type="ST_GapAmount" default="150%"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Overlap">
+ <xsd:union memberTypes="ST_OverlapPercent ST_OverlapByte"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_OverlapPercent">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="(-?0*(([0-9])|([1-9][0-9])|100))%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_OverlapByte">
+ <xsd:restriction base="xsd:byte">
+ <xsd:minInclusive value="-100"/>
+ <xsd:maxInclusive value="100"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Overlap">
+ <xsd:attribute name="val" type="ST_Overlap" default="0%"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BubbleScale">
+ <xsd:union memberTypes="ST_BubbleScalePercent ST_BubbleScaleUInt"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_BubbleScalePercent">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="0*(([0-9])|([1-9][0-9])|([1-2][0-9][0-9])|300)%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_BubbleScaleUInt">
+ <xsd:restriction base="xsd:unsignedInt">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="300"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_BubbleScale">
+ <xsd:attribute name="val" type="ST_BubbleScale" default="100%"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SizeRepresents">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="area"/>
+ <xsd:enumeration value="w"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SizeRepresents">
+ <xsd:attribute name="val" type="ST_SizeRepresents" default="area"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FirstSliceAng">
+ <xsd:restriction base="xsd:unsignedShort">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="360"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FirstSliceAng">
+ <xsd:attribute name="val" type="ST_FirstSliceAng" default="0"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_HoleSize">
+ <xsd:union memberTypes="ST_HoleSizePercent ST_HoleSizeUByte"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HoleSizePercent">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="0*([1-9]|([1-8][0-9])|90)%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HoleSizeUByte">
+ <xsd:restriction base="xsd:unsignedByte">
+ <xsd:minInclusive value="1"/>
+ <xsd:maxInclusive value="90"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_HoleSize">
+ <xsd:attribute name="val" type="ST_HoleSize" default="10%"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SplitType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="cust"/>
+ <xsd:enumeration value="percent"/>
+ <xsd:enumeration value="pos"/>
+ <xsd:enumeration value="val"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SplitType">
+ <xsd:attribute name="val" type="ST_SplitType" default="auto"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustSplit">
+ <xsd:sequence>
+ <xsd:element name="secondPiePt" type="CT_UnsignedInt" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SecondPieSize">
+ <xsd:union memberTypes="ST_SecondPieSizePercent ST_SecondPieSizeUShort"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_SecondPieSizePercent">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="0*(([5-9])|([1-9][0-9])|(1[0-9][0-9])|200)%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_SecondPieSizeUShort">
+ <xsd:restriction base="xsd:unsignedShort">
+ <xsd:minInclusive value="5"/>
+ <xsd:maxInclusive value="200"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SecondPieSize">
+ <xsd:attribute name="val" type="ST_SecondPieSize" default="75%"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NumFmt">
+ <xsd:attribute name="formatCode" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="sourceLinked" type="xsd:boolean"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LblAlgn">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="r"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LblAlgn">
+ <xsd:attribute name="val" type="ST_LblAlgn" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DLblPos">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="bestFit"/>
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="inBase"/>
+ <xsd:enumeration value="inEnd"/>
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="outEnd"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="t"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DLblPos">
+ <xsd:attribute name="val" type="ST_DLblPos" use="required"/>
+ </xsd:complexType>
+ <xsd:group name="EG_DLblShared">
+ <xsd:sequence>
+ <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dLblPos" type="CT_DLblPos" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showLegendKey" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showVal" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showCatName" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showSerName" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showPercent" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showBubbleSize" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="separator" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:group name="Group_DLbl">
+ <xsd:sequence>
+ <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tx" type="CT_Tx" minOccurs="0" maxOccurs="1"/>
+ <xsd:group ref="EG_DLblShared" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_DLbl">
+ <xsd:sequence>
+ <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/>
+ <xsd:choice>
+ <xsd:element name="delete" type="CT_Boolean" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="Group_DLbl" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="Group_DLbls">
+ <xsd:sequence>
+ <xsd:group ref="EG_DLblShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="showLeaderLines" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="leaderLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_DLbls">
+ <xsd:sequence>
+ <xsd:element name="dLbl" type="CT_DLbl" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:choice>
+ <xsd:element name="delete" type="CT_Boolean" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="Group_DLbls" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MarkerStyle">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="circle"/>
+ <xsd:enumeration value="dash"/>
+ <xsd:enumeration value="diamond"/>
+ <xsd:enumeration value="dot"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="picture"/>
+ <xsd:enumeration value="plus"/>
+ <xsd:enumeration value="square"/>
+ <xsd:enumeration value="star"/>
+ <xsd:enumeration value="triangle"/>
+ <xsd:enumeration value="x"/>
+ <xsd:enumeration value="auto"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MarkerStyle">
+ <xsd:attribute name="val" type="ST_MarkerStyle" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MarkerSize">
+ <xsd:restriction base="xsd:unsignedByte">
+ <xsd:minInclusive value="2"/>
+ <xsd:maxInclusive value="72"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MarkerSize">
+ <xsd:attribute name="val" type="ST_MarkerSize" default="5"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Marker">
+ <xsd:sequence>
+ <xsd:element name="symbol" type="CT_MarkerStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="size" type="CT_MarkerSize" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DPt">
+ <xsd:sequence>
+ <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="invertIfNegative" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="marker" type="CT_Marker" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bubble3D" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="explosion" type="CT_UnsignedInt" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pictureOptions" type="CT_PictureOptions" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TrendlineType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="exp"/>
+ <xsd:enumeration value="linear"/>
+ <xsd:enumeration value="log"/>
+ <xsd:enumeration value="movingAvg"/>
+ <xsd:enumeration value="poly"/>
+ <xsd:enumeration value="power"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TrendlineType">
+ <xsd:attribute name="val" type="ST_TrendlineType" default="linear"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Order">
+ <xsd:restriction base="xsd:unsignedByte">
+ <xsd:minInclusive value="2"/>
+ <xsd:maxInclusive value="6"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Order">
+ <xsd:attribute name="val" type="ST_Order" default="2"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Period">
+ <xsd:restriction base="xsd:unsignedInt">
+ <xsd:minInclusive value="2"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Period">
+ <xsd:attribute name="val" type="ST_Period" default="2"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TrendlineLbl">
+ <xsd:sequence>
+ <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tx" type="CT_Tx" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Trendline">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="trendlineType" type="CT_TrendlineType" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="order" type="CT_Order" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="period" type="CT_Period" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="forward" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="backward" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="intercept" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dispRSqr" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dispEq" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="trendlineLbl" type="CT_TrendlineLbl" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ErrDir">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="x"/>
+ <xsd:enumeration value="y"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ErrDir">
+ <xsd:attribute name="val" type="ST_ErrDir" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ErrBarType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="both"/>
+ <xsd:enumeration value="minus"/>
+ <xsd:enumeration value="plus"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ErrBarType">
+ <xsd:attribute name="val" type="ST_ErrBarType" default="both"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ErrValType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="cust"/>
+ <xsd:enumeration value="fixedVal"/>
+ <xsd:enumeration value="percentage"/>
+ <xsd:enumeration value="stdDev"/>
+ <xsd:enumeration value="stdErr"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ErrValType">
+ <xsd:attribute name="val" type="ST_ErrValType" default="fixedVal"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ErrBars">
+ <xsd:sequence>
+ <xsd:element name="errDir" type="CT_ErrDir" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="errBarType" type="CT_ErrBarType" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="errValType" type="CT_ErrValType" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="noEndCap" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="plus" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="minus" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="val" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_UpDownBar">
+ <xsd:sequence>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_UpDownBars">
+ <xsd:sequence>
+ <xsd:element name="gapWidth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="upBars" type="CT_UpDownBar" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="downBars" type="CT_UpDownBar" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_SerShared">
+ <xsd:sequence>
+ <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="order" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="tx" type="CT_SerTx" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_LineSer">
+ <xsd:sequence>
+ <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="marker" type="CT_Marker" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="trendline" type="CT_Trendline" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="errBars" type="CT_ErrBars" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="smooth" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ScatterSer">
+ <xsd:sequence>
+ <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="marker" type="CT_Marker" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="trendline" type="CT_Trendline" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="errBars" type="CT_ErrBars" minOccurs="0" maxOccurs="2"/>
+ <xsd:element name="xVal" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="yVal" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="smooth" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RadarSer">
+ <xsd:sequence>
+ <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="marker" type="CT_Marker" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BarSer">
+ <xsd:sequence>
+ <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="invertIfNegative" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pictureOptions" type="CT_PictureOptions" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="trendline" type="CT_Trendline" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="errBars" type="CT_ErrBars" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AreaSer">
+ <xsd:sequence>
+ <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="pictureOptions" type="CT_PictureOptions" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="trendline" type="CT_Trendline" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="errBars" type="CT_ErrBars" minOccurs="0" maxOccurs="2"/>
+ <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PieSer">
+ <xsd:sequence>
+ <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="explosion" type="CT_UnsignedInt" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BubbleSer">
+ <xsd:sequence>
+ <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="invertIfNegative" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dPt" type="CT_DPt" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="trendline" type="CT_Trendline" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="errBars" type="CT_ErrBars" minOccurs="0" maxOccurs="2"/>
+ <xsd:element name="xVal" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="yVal" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bubbleSize" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bubble3D" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SurfaceSer">
+ <xsd:sequence>
+ <xsd:group ref="EG_SerShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cat" type="CT_AxDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="val" type="CT_NumDataSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Grouping">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="percentStacked"/>
+ <xsd:enumeration value="standard"/>
+ <xsd:enumeration value="stacked"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Grouping">
+ <xsd:attribute name="val" type="ST_Grouping" default="standard"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ChartLines">
+ <xsd:sequence>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_LineChartShared">
+ <xsd:sequence>
+ <xsd:element name="grouping" type="CT_Grouping" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ser" type="CT_LineSer" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dropLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_LineChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_LineChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="hiLowLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="upDownBars" type="CT_UpDownBars" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="marker" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="smooth" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Line3DChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_LineChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="gapDepth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="3" maxOccurs="3"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StockChart">
+ <xsd:sequence>
+ <xsd:element name="ser" type="CT_LineSer" minOccurs="3" maxOccurs="4"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dropLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="hiLowLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="upDownBars" type="CT_UpDownBars" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ScatterStyle">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="line"/>
+ <xsd:enumeration value="lineMarker"/>
+ <xsd:enumeration value="marker"/>
+ <xsd:enumeration value="smooth"/>
+ <xsd:enumeration value="smoothMarker"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ScatterStyle">
+ <xsd:attribute name="val" type="ST_ScatterStyle" default="marker"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ScatterChart">
+ <xsd:sequence>
+ <xsd:element name="scatterStyle" type="CT_ScatterStyle" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ser" type="CT_ScatterSer" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_RadarStyle">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="standard"/>
+ <xsd:enumeration value="marker"/>
+ <xsd:enumeration value="filled"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_RadarStyle">
+ <xsd:attribute name="val" type="ST_RadarStyle" default="standard"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RadarChart">
+ <xsd:sequence>
+ <xsd:element name="radarStyle" type="CT_RadarStyle" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ser" type="CT_RadarSer" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BarGrouping">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="percentStacked"/>
+ <xsd:enumeration value="clustered"/>
+ <xsd:enumeration value="standard"/>
+ <xsd:enumeration value="stacked"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_BarGrouping">
+ <xsd:attribute name="val" type="ST_BarGrouping" default="clustered"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BarDir">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="bar"/>
+ <xsd:enumeration value="col"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_BarDir">
+ <xsd:attribute name="val" type="ST_BarDir" default="col"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Shape">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="cone"/>
+ <xsd:enumeration value="coneToMax"/>
+ <xsd:enumeration value="box"/>
+ <xsd:enumeration value="cylinder"/>
+ <xsd:enumeration value="pyramid"/>
+ <xsd:enumeration value="pyramidToMax"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Shape">
+ <xsd:attribute name="val" type="ST_Shape" default="box"/>
+ </xsd:complexType>
+ <xsd:group name="EG_BarChartShared">
+ <xsd:sequence>
+ <xsd:element name="barDir" type="CT_BarDir" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="grouping" type="CT_BarGrouping" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ser" type="CT_BarSer" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_BarChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_BarChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="gapWidth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="overlap" type="CT_Overlap" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="serLines" type="CT_ChartLines" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Bar3DChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_BarChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="gapWidth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="gapDepth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="3"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_AreaChartShared">
+ <xsd:sequence>
+ <xsd:element name="grouping" type="CT_Grouping" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ser" type="CT_AreaSer" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dropLines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_AreaChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_AreaChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Area3DChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_AreaChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="gapDepth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="3"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_PieChartShared">
+ <xsd:sequence>
+ <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ser" type="CT_PieSer" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_PieChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_PieChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="firstSliceAng" type="CT_FirstSliceAng" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Pie3DChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_PieChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DoughnutChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_PieChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="firstSliceAng" type="CT_FirstSliceAng" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="holeSize" type="CT_HoleSize" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_OfPieType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="pie"/>
+ <xsd:enumeration value="bar"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_OfPieType">
+ <xsd:attribute name="val" type="ST_OfPieType" default="pie"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OfPieChart">
+ <xsd:sequence>
+ <xsd:element name="ofPieType" type="CT_OfPieType" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="EG_PieChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="gapWidth" type="CT_GapAmount" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="splitType" type="CT_SplitType" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="splitPos" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="custSplit" type="CT_CustSplit" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="secondPieSize" type="CT_SecondPieSize" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="serLines" type="CT_ChartLines" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BubbleChart">
+ <xsd:sequence>
+ <xsd:element name="varyColors" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ser" type="CT_BubbleSer" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dLbls" type="CT_DLbls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bubble3D" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bubbleScale" type="CT_BubbleScale" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showNegBubbles" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sizeRepresents" type="CT_SizeRepresents" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="2"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BandFmt">
+ <xsd:sequence>
+ <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BandFmts">
+ <xsd:sequence>
+ <xsd:element name="bandFmt" type="CT_BandFmt" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_SurfaceChartShared">
+ <xsd:sequence>
+ <xsd:element name="wireframe" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ser" type="CT_SurfaceSer" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="bandFmts" type="CT_BandFmts" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_SurfaceChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_SurfaceChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="2" maxOccurs="3"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Surface3DChart">
+ <xsd:sequence>
+ <xsd:group ref="EG_SurfaceChartShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="3" maxOccurs="3"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_AxPos">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="t"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_AxPos">
+ <xsd:attribute name="val" type="ST_AxPos" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Crosses">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="autoZero"/>
+ <xsd:enumeration value="max"/>
+ <xsd:enumeration value="min"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Crosses">
+ <xsd:attribute name="val" type="ST_Crosses" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_CrossBetween">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="between"/>
+ <xsd:enumeration value="midCat"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_CrossBetween">
+ <xsd:attribute name="val" type="ST_CrossBetween" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TickMark">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="cross"/>
+ <xsd:enumeration value="in"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="out"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TickMark">
+ <xsd:attribute name="val" type="ST_TickMark" default="cross"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TickLblPos">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="high"/>
+ <xsd:enumeration value="low"/>
+ <xsd:enumeration value="nextTo"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TickLblPos">
+ <xsd:attribute name="val" type="ST_TickLblPos" default="nextTo"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Skip">
+ <xsd:restriction base="xsd:unsignedInt">
+ <xsd:minInclusive value="1"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Skip">
+ <xsd:attribute name="val" type="ST_Skip" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TimeUnit">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="days"/>
+ <xsd:enumeration value="months"/>
+ <xsd:enumeration value="years"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TimeUnit">
+ <xsd:attribute name="val" type="ST_TimeUnit" default="days"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_AxisUnit">
+ <xsd:restriction base="xsd:double">
+ <xsd:minExclusive value="0"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_AxisUnit">
+ <xsd:attribute name="val" type="ST_AxisUnit" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BuiltInUnit">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="hundreds"/>
+ <xsd:enumeration value="thousands"/>
+ <xsd:enumeration value="tenThousands"/>
+ <xsd:enumeration value="hundredThousands"/>
+ <xsd:enumeration value="millions"/>
+ <xsd:enumeration value="tenMillions"/>
+ <xsd:enumeration value="hundredMillions"/>
+ <xsd:enumeration value="billions"/>
+ <xsd:enumeration value="trillions"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_BuiltInUnit">
+ <xsd:attribute name="val" type="ST_BuiltInUnit" default="thousands"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PictureFormat">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="stretch"/>
+ <xsd:enumeration value="stack"/>
+ <xsd:enumeration value="stackScale"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PictureFormat">
+ <xsd:attribute name="val" type="ST_PictureFormat" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PictureStackUnit">
+ <xsd:restriction base="xsd:double">
+ <xsd:minExclusive value="0"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PictureStackUnit">
+ <xsd:attribute name="val" type="ST_PictureStackUnit" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PictureOptions">
+ <xsd:sequence>
+ <xsd:element name="applyToFront" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="applyToSides" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="applyToEnd" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pictureFormat" type="CT_PictureFormat" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pictureStackUnit" type="CT_PictureStackUnit" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DispUnitsLbl">
+ <xsd:sequence>
+ <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tx" type="CT_Tx" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DispUnits">
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="custUnit" type="CT_Double" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="builtInUnit" type="CT_BuiltInUnit" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:element name="dispUnitsLbl" type="CT_DispUnitsLbl" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Orientation">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="maxMin"/>
+ <xsd:enumeration value="minMax"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Orientation">
+ <xsd:attribute name="val" type="ST_Orientation" default="minMax"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LogBase">
+ <xsd:restriction base="xsd:double">
+ <xsd:minInclusive value="2"/>
+ <xsd:maxInclusive value="1000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LogBase">
+ <xsd:attribute name="val" type="ST_LogBase" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Scaling">
+ <xsd:sequence>
+ <xsd:element name="logBase" type="CT_LogBase" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="orientation" type="CT_Orientation" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="max" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="min" type="CT_Double" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LblOffset">
+ <xsd:union memberTypes="ST_LblOffsetPercent ST_LblOffsetUShort"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_LblOffsetPercent">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="0*(([0-9])|([1-9][0-9])|([1-9][0-9][0-9])|1000)%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_LblOffsetUShort">
+ <xsd:restriction base="xsd:unsignedShort">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="1000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LblOffset">
+ <xsd:attribute name="val" type="ST_LblOffset" default="100%"/>
+ </xsd:complexType>
+ <xsd:group name="EG_AxShared">
+ <xsd:sequence>
+ <xsd:element name="axId" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="scaling" type="CT_Scaling" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="delete" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="axPos" type="CT_AxPos" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="majorGridlines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="minorGridlines" type="CT_ChartLines" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="title" type="CT_Title" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="majorTickMark" type="CT_TickMark" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="minorTickMark" type="CT_TickMark" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tickLblPos" type="CT_TickLblPos" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="crossAx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="crosses" type="CT_Crosses" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="crossesAt" type="CT_Double" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_CatAx">
+ <xsd:sequence>
+ <xsd:group ref="EG_AxShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="auto" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="lblAlgn" type="CT_LblAlgn" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="lblOffset" type="CT_LblOffset" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tickLblSkip" type="CT_Skip" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tickMarkSkip" type="CT_Skip" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="noMultiLvlLbl" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DateAx">
+ <xsd:sequence>
+ <xsd:group ref="EG_AxShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="auto" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="lblOffset" type="CT_LblOffset" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="baseTimeUnit" type="CT_TimeUnit" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="majorUnit" type="CT_AxisUnit" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="majorTimeUnit" type="CT_TimeUnit" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="minorUnit" type="CT_AxisUnit" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="minorTimeUnit" type="CT_TimeUnit" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SerAx">
+ <xsd:sequence>
+ <xsd:group ref="EG_AxShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="tickLblSkip" type="CT_Skip" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tickMarkSkip" type="CT_Skip" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ValAx">
+ <xsd:sequence>
+ <xsd:group ref="EG_AxShared" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="crossBetween" type="CT_CrossBetween" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="majorUnit" type="CT_AxisUnit" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="minorUnit" type="CT_AxisUnit" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dispUnits" type="CT_DispUnits" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PlotArea">
+ <xsd:sequence>
+ <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/>
+ <xsd:choice minOccurs="1" maxOccurs="unbounded">
+ <xsd:element name="areaChart" type="CT_AreaChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="area3DChart" type="CT_Area3DChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="lineChart" type="CT_LineChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="line3DChart" type="CT_Line3DChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="stockChart" type="CT_StockChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="radarChart" type="CT_RadarChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="scatterChart" type="CT_ScatterChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="pieChart" type="CT_PieChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="pie3DChart" type="CT_Pie3DChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="doughnutChart" type="CT_DoughnutChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="barChart" type="CT_BarChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="bar3DChart" type="CT_Bar3DChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="ofPieChart" type="CT_OfPieChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="surfaceChart" type="CT_SurfaceChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="surface3DChart" type="CT_Surface3DChart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="bubbleChart" type="CT_BubbleChart" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="valAx" type="CT_ValAx" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="catAx" type="CT_CatAx" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="dateAx" type="CT_DateAx" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="serAx" type="CT_SerAx" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:element name="dTable" type="CT_DTable" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotFmt">
+ <xsd:sequence>
+ <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="marker" type="CT_Marker" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dLbl" type="CT_DLbl" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotFmts">
+ <xsd:sequence>
+ <xsd:element name="pivotFmt" type="CT_PivotFmt" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LegendPos">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="tr"/>
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="t"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LegendPos">
+ <xsd:attribute name="val" type="ST_LegendPos" default="r"/>
+ </xsd:complexType>
+ <xsd:group name="EG_LegendEntryData">
+ <xsd:sequence>
+ <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_LegendEntry">
+ <xsd:sequence>
+ <xsd:element name="idx" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/>
+ <xsd:choice>
+ <xsd:element name="delete" type="CT_Boolean" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="EG_LegendEntryData" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Legend">
+ <xsd:sequence>
+ <xsd:element name="legendPos" type="CT_LegendPos" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="legendEntry" type="CT_LegendEntry" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="layout" type="CT_Layout" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="overlay" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DispBlanksAs">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="span"/>
+ <xsd:enumeration value="gap"/>
+ <xsd:enumeration value="zero"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DispBlanksAs">
+ <xsd:attribute name="val" type="ST_DispBlanksAs" default="zero"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Chart">
+ <xsd:sequence>
+ <xsd:element name="title" type="CT_Title" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="autoTitleDeleted" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pivotFmts" type="CT_PivotFmts" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="view3D" type="CT_View3D" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="floor" type="CT_Surface" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sideWall" type="CT_Surface" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="backWall" type="CT_Surface" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="plotArea" type="CT_PlotArea" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="legend" type="CT_Legend" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="plotVisOnly" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dispBlanksAs" type="CT_DispBlanksAs" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showDLblsOverMax" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Style">
+ <xsd:restriction base="xsd:unsignedByte">
+ <xsd:minInclusive value="1"/>
+ <xsd:maxInclusive value="48"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Style">
+ <xsd:attribute name="val" type="ST_Style" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotSource">
+ <xsd:sequence>
+ <xsd:element name="name" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="fmtId" type="CT_UnsignedInt" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Protection">
+ <xsd:sequence>
+ <xsd:element name="chartObject" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="data" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="formatting" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="selection" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="userInterface" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_HeaderFooter">
+ <xsd:sequence>
+ <xsd:element name="oddHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="oddFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="evenHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="evenFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="firstHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="firstFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="alignWithMargins" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="differentOddEven" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="differentFirst" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageMargins">
+ <xsd:attribute name="l" type="xsd:double" use="required"/>
+ <xsd:attribute name="r" type="xsd:double" use="required"/>
+ <xsd:attribute name="t" type="xsd:double" use="required"/>
+ <xsd:attribute name="b" type="xsd:double" use="required"/>
+ <xsd:attribute name="header" type="xsd:double" use="required"/>
+ <xsd:attribute name="footer" type="xsd:double" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PageSetupOrientation">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="portrait"/>
+ <xsd:enumeration value="landscape"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ExternalData">
+ <xsd:sequence>
+ <xsd:element name="autoUpdate" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageSetup">
+ <xsd:attribute name="paperSize" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="paperHeight" type="s:ST_PositiveUniversalMeasure" use="optional"/>
+ <xsd:attribute name="paperWidth" type="s:ST_PositiveUniversalMeasure" use="optional"/>
+ <xsd:attribute name="firstPageNumber" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="orientation" type="ST_PageSetupOrientation" use="optional"
+ default="default"/>
+ <xsd:attribute name="blackAndWhite" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="draft" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="useFirstPageNumber" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="horizontalDpi" type="xsd:int" use="optional" default="600"/>
+ <xsd:attribute name="verticalDpi" type="xsd:int" use="optional" default="600"/>
+ <xsd:attribute name="copies" type="xsd:unsignedInt" use="optional" default="1"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PrintSettings">
+ <xsd:sequence>
+ <xsd:element name="headerFooter" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pageMargins" type="CT_PageMargins" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pageSetup" type="CT_PageSetup" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="legacyDrawingHF" type="CT_RelId" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ChartSpace">
+ <xsd:sequence>
+ <xsd:element name="date1904" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="lang" type="CT_TextLanguageID" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="roundedCorners" type="CT_Boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="style" type="CT_Style" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="clrMapOvr" type="a:CT_ColorMapping" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pivotSource" type="CT_PivotSource" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="protection" type="CT_Protection" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="chart" type="CT_Chart" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txPr" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="externalData" type="CT_ExternalData" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="printSettings" type="CT_PrintSettings" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="userShapes" type="CT_RelId" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="chartSpace" type="CT_ChartSpace"/>
+ <xsd:element name="userShapes" type="cdr:CT_Drawing"/>
+ <xsd:element name="chart" type="CT_RelId"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-chartDrawing.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-chartDrawing.xsd
new file mode 100644
index 0000000..afa4f46
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-chartDrawing.xsd
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+ xmlns="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing"
+ targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing"
+ elementFormDefault="qualified">
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
+ schemaLocation="dml-main.xsd"/>
+ <xsd:complexType name="CT_ShapeNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1" maxOccurs="1"
+ />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Shape">
+ <xsd:sequence>
+ <xsd:element name="nvSpPr" type="CT_ShapeNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txBody" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="macro" type="xsd:string" use="optional"/>
+ <xsd:attribute name="textlink" type="xsd:string" use="optional"/>
+ <xsd:attribute name="fLocksText" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ConnectorNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvCxnSpPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Connector">
+ <xsd:sequence>
+ <xsd:element name="nvCxnSpPr" type="CT_ConnectorNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="macro" type="xsd:string" use="optional"/>
+ <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PictureNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Picture">
+ <xsd:sequence>
+ <xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="macro" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GraphicFrameNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties"
+ minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GraphicFrame">
+ <xsd:sequence>
+ <xsd:element name="nvGraphicFramePr" type="CT_GraphicFrameNonVisual" minOccurs="1"
+ maxOccurs="1"/>
+ <xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/>
+ <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="macro" type="xsd:string" use="optional"/>
+ <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupShapeNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupShape">
+ <xsd:sequence>
+ <xsd:element name="nvGrpSpPr" type="CT_GroupShapeNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="sp" type="CT_Shape"/>
+ <xsd:element name="grpSp" type="CT_GroupShape"/>
+ <xsd:element name="graphicFrame" type="CT_GraphicFrame"/>
+ <xsd:element name="cxnSp" type="CT_Connector"/>
+ <xsd:element name="pic" type="CT_Picture"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_ObjectChoices">
+ <xsd:sequence>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="sp" type="CT_Shape"/>
+ <xsd:element name="grpSp" type="CT_GroupShape"/>
+ <xsd:element name="graphicFrame" type="CT_GraphicFrame"/>
+ <xsd:element name="cxnSp" type="CT_Connector"/>
+ <xsd:element name="pic" type="CT_Picture"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:simpleType name="ST_MarkerCoordinate">
+ <xsd:restriction base="xsd:double">
+ <xsd:minInclusive value="0.0"/>
+ <xsd:maxInclusive value="1.0"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Marker">
+ <xsd:sequence>
+ <xsd:element name="x" type="ST_MarkerCoordinate" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="y" type="ST_MarkerCoordinate" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RelSizeAnchor">
+ <xsd:sequence>
+ <xsd:element name="from" type="CT_Marker"/>
+ <xsd:element name="to" type="CT_Marker"/>
+ <xsd:group ref="EG_ObjectChoices"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AbsSizeAnchor">
+ <xsd:sequence>
+ <xsd:element name="from" type="CT_Marker"/>
+ <xsd:element name="ext" type="a:CT_PositiveSize2D"/>
+ <xsd:group ref="EG_ObjectChoices"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_Anchor">
+ <xsd:choice>
+ <xsd:element name="relSizeAnchor" type="CT_RelSizeAnchor"/>
+ <xsd:element name="absSizeAnchor" type="CT_AbsSizeAnchor"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_Drawing">
+ <xsd:sequence>
+ <xsd:group ref="EG_Anchor" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-diagram.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-diagram.xsd
new file mode 100644
index 0000000..64e66b8
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-diagram.xsd
@@ -0,0 +1,1085 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/drawingml/2006/diagram"
+ xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/diagram"
+ elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ schemaLocation="shared-relationshipReference.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
+ schemaLocation="dml-main.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:complexType name="CT_CTName">
+ <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="val" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CTDescription">
+ <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="val" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CTCategory">
+ <xsd:attribute name="type" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="pri" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CTCategories">
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="cat" type="CT_CTCategory" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ClrAppMethod">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="span"/>
+ <xsd:enumeration value="cycle"/>
+ <xsd:enumeration value="repeat"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HueDir">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="cw"/>
+ <xsd:enumeration value="ccw"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Colors">
+ <xsd:sequence>
+ <xsd:group ref="a:EG_ColorChoice" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="meth" type="ST_ClrAppMethod" use="optional" default="span"/>
+ <xsd:attribute name="hueDir" type="ST_HueDir" use="optional" default="cw"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CTStyleLabel">
+ <xsd:sequence>
+ <xsd:element name="fillClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="linClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="effectClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txLinClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txFillClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txEffectClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorTransform">
+ <xsd:sequence>
+ <xsd:element name="title" type="CT_CTName" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="desc" type="CT_CTDescription" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="catLst" type="CT_CTCategories" minOccurs="0"/>
+ <xsd:element name="styleLbl" type="CT_CTStyleLabel" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="uniqueId" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="minVer" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:element name="colorsDef" type="CT_ColorTransform"/>
+ <xsd:complexType name="CT_ColorTransformHeader">
+ <xsd:sequence>
+ <xsd:element name="title" type="CT_CTName" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="desc" type="CT_CTDescription" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="catLst" type="CT_CTCategories" minOccurs="0"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="uniqueId" type="xsd:string" use="required"/>
+ <xsd:attribute name="minVer" type="xsd:string" use="optional"/>
+ <xsd:attribute name="resId" type="xsd:int" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:element name="colorsDefHdr" type="CT_ColorTransformHeader"/>
+ <xsd:complexType name="CT_ColorTransformHeaderLst">
+ <xsd:sequence>
+ <xsd:element name="colorsDefHdr" type="CT_ColorTransformHeader" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="colorsDefHdrLst" type="CT_ColorTransformHeaderLst"/>
+ <xsd:simpleType name="ST_PtType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="node"/>
+ <xsd:enumeration value="asst"/>
+ <xsd:enumeration value="doc"/>
+ <xsd:enumeration value="pres"/>
+ <xsd:enumeration value="parTrans"/>
+ <xsd:enumeration value="sibTrans"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Pt">
+ <xsd:sequence>
+ <xsd:element name="prSet" type="CT_ElemPropSet" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="t" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="modelId" type="ST_ModelId" use="required"/>
+ <xsd:attribute name="type" type="ST_PtType" use="optional" default="node"/>
+ <xsd:attribute name="cxnId" type="ST_ModelId" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PtList">
+ <xsd:sequence>
+ <xsd:element name="pt" type="CT_Pt" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_CxnType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="parOf"/>
+ <xsd:enumeration value="presOf"/>
+ <xsd:enumeration value="presParOf"/>
+ <xsd:enumeration value="unknownRelationship"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Cxn">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="modelId" type="ST_ModelId" use="required"/>
+ <xsd:attribute name="type" type="ST_CxnType" use="optional" default="parOf"/>
+ <xsd:attribute name="srcId" type="ST_ModelId" use="required"/>
+ <xsd:attribute name="destId" type="ST_ModelId" use="required"/>
+ <xsd:attribute name="srcOrd" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="destOrd" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="parTransId" type="ST_ModelId" use="optional" default="0"/>
+ <xsd:attribute name="sibTransId" type="ST_ModelId" use="optional" default="0"/>
+ <xsd:attribute name="presId" type="xsd:string" use="optional" default=""/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CxnList">
+ <xsd:sequence>
+ <xsd:element name="cxn" type="CT_Cxn" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DataModel">
+ <xsd:sequence>
+ <xsd:element name="ptLst" type="CT_PtList"/>
+ <xsd:element name="cxnLst" type="CT_CxnList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bg" type="a:CT_BackgroundFormatting" minOccurs="0"/>
+ <xsd:element name="whole" type="a:CT_WholeE2oFormatting" minOccurs="0"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="dataModel" type="CT_DataModel"/>
+ <xsd:attributeGroup name="AG_IteratorAttributes">
+ <xsd:attribute name="axis" type="ST_AxisTypes" use="optional" default="none"/>
+ <xsd:attribute name="ptType" type="ST_ElementTypes" use="optional" default="all"/>
+ <xsd:attribute name="hideLastTrans" type="ST_Booleans" use="optional" default="true"/>
+ <xsd:attribute name="st" type="ST_Ints" use="optional" default="1"/>
+ <xsd:attribute name="cnt" type="ST_UnsignedInts" use="optional" default="0"/>
+ <xsd:attribute name="step" type="ST_Ints" use="optional" default="1"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_ConstraintAttributes">
+ <xsd:attribute name="type" type="ST_ConstraintType" use="required"/>
+ <xsd:attribute name="for" type="ST_ConstraintRelationship" use="optional" default="self"/>
+ <xsd:attribute name="forName" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="ptType" type="ST_ElementType" use="optional" default="all"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_ConstraintRefAttributes">
+ <xsd:attribute name="refType" type="ST_ConstraintType" use="optional" default="none"/>
+ <xsd:attribute name="refFor" type="ST_ConstraintRelationship" use="optional" default="self"/>
+ <xsd:attribute name="refForName" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="refPtType" type="ST_ElementType" use="optional" default="all"/>
+ </xsd:attributeGroup>
+ <xsd:complexType name="CT_Constraint">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_ConstraintAttributes"/>
+ <xsd:attributeGroup ref="AG_ConstraintRefAttributes"/>
+ <xsd:attribute name="op" type="ST_BoolOperator" use="optional" default="none"/>
+ <xsd:attribute name="val" type="xsd:double" use="optional" default="0"/>
+ <xsd:attribute name="fact" type="xsd:double" use="optional" default="1"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Constraints">
+ <xsd:sequence>
+ <xsd:element name="constr" type="CT_Constraint" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NumericRule">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_ConstraintAttributes"/>
+ <xsd:attribute name="val" type="xsd:double" use="optional" default="NaN"/>
+ <xsd:attribute name="fact" type="xsd:double" use="optional" default="NaN"/>
+ <xsd:attribute name="max" type="xsd:double" use="optional" default="NaN"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Rules">
+ <xsd:sequence>
+ <xsd:element name="rule" type="CT_NumericRule" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PresentationOf">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_IteratorAttributes"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LayoutShapeType" final="restriction">
+ <xsd:union memberTypes="a:ST_ShapeType ST_OutputShapeType"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Index1">
+ <xsd:restriction base="xsd:unsignedInt">
+ <xsd:minInclusive value="1"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Adj">
+ <xsd:attribute name="idx" type="ST_Index1" use="required"/>
+ <xsd:attribute name="val" type="xsd:double" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AdjLst">
+ <xsd:sequence>
+ <xsd:element name="adj" type="CT_Adj" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Shape">
+ <xsd:sequence>
+ <xsd:element name="adjLst" type="CT_AdjLst" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="rot" type="xsd:double" use="optional" default="0"/>
+ <xsd:attribute name="type" type="ST_LayoutShapeType" use="optional" default="none"/>
+ <xsd:attribute ref="r:blip" use="optional"/>
+ <xsd:attribute name="zOrderOff" type="xsd:int" use="optional" default="0"/>
+ <xsd:attribute name="hideGeom" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="lkTxEntry" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="blipPhldr" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Parameter">
+ <xsd:attribute name="type" type="ST_ParameterId" use="required"/>
+ <xsd:attribute name="val" type="ST_ParameterVal" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Algorithm">
+ <xsd:sequence>
+ <xsd:element name="param" type="CT_Parameter" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="ST_AlgorithmType" use="required"/>
+ <xsd:attribute name="rev" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LayoutNode">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="varLst" type="CT_LayoutVariablePropertySet" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="forEach" type="CT_ForEach"/>
+ <xsd:element name="layoutNode" type="CT_LayoutNode"/>
+ <xsd:element name="choose" type="CT_Choose"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="styleLbl" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="chOrder" type="ST_ChildOrderType" use="optional" default="b"/>
+ <xsd:attribute name="moveWith" type="xsd:string" use="optional" default=""/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ForEach">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="forEach" type="CT_ForEach"/>
+ <xsd:element name="layoutNode" type="CT_LayoutNode"/>
+ <xsd:element name="choose" type="CT_Choose"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="ref" type="xsd:string" use="optional" default=""/>
+ <xsd:attributeGroup ref="AG_IteratorAttributes"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_When">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="forEach" type="CT_ForEach"/>
+ <xsd:element name="layoutNode" type="CT_LayoutNode"/>
+ <xsd:element name="choose" type="CT_Choose"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
+ <xsd:attributeGroup ref="AG_IteratorAttributes"/>
+ <xsd:attribute name="func" type="ST_FunctionType" use="required"/>
+ <xsd:attribute name="arg" type="ST_FunctionArgument" use="optional" default="none"/>
+ <xsd:attribute name="op" type="ST_FunctionOperator" use="required"/>
+ <xsd:attribute name="val" type="ST_FunctionValue" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Otherwise">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="forEach" type="CT_ForEach"/>
+ <xsd:element name="layoutNode" type="CT_LayoutNode"/>
+ <xsd:element name="choose" type="CT_Choose"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Choose">
+ <xsd:sequence>
+ <xsd:element name="if" type="CT_When" maxOccurs="unbounded"/>
+ <xsd:element name="else" type="CT_Otherwise" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SampleData">
+ <xsd:sequence>
+ <xsd:element name="dataModel" type="CT_DataModel" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="useDef" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Category">
+ <xsd:attribute name="type" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="pri" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Categories">
+ <xsd:sequence>
+ <xsd:element name="cat" type="CT_Category" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Name">
+ <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="val" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Description">
+ <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="val" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DiagramDefinition">
+ <xsd:sequence>
+ <xsd:element name="title" type="CT_Name" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="desc" type="CT_Description" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="catLst" type="CT_Categories" minOccurs="0"/>
+ <xsd:element name="sampData" type="CT_SampleData" minOccurs="0"/>
+ <xsd:element name="styleData" type="CT_SampleData" minOccurs="0"/>
+ <xsd:element name="clrData" type="CT_SampleData" minOccurs="0"/>
+ <xsd:element name="layoutNode" type="CT_LayoutNode"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="uniqueId" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="minVer" type="xsd:string" use="optional"/>
+ <xsd:attribute name="defStyle" type="xsd:string" use="optional" default=""/>
+ </xsd:complexType>
+ <xsd:element name="layoutDef" type="CT_DiagramDefinition"/>
+ <xsd:complexType name="CT_DiagramDefinitionHeader">
+ <xsd:sequence>
+ <xsd:element name="title" type="CT_Name" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="desc" type="CT_Description" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="catLst" type="CT_Categories" minOccurs="0"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="uniqueId" type="xsd:string" use="required"/>
+ <xsd:attribute name="minVer" type="xsd:string" use="optional"/>
+ <xsd:attribute name="defStyle" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="resId" type="xsd:int" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:element name="layoutDefHdr" type="CT_DiagramDefinitionHeader"/>
+ <xsd:complexType name="CT_DiagramDefinitionHeaderLst">
+ <xsd:sequence>
+ <xsd:element name="layoutDefHdr" type="CT_DiagramDefinitionHeader" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="layoutDefHdrLst" type="CT_DiagramDefinitionHeaderLst"/>
+ <xsd:complexType name="CT_RelIds">
+ <xsd:attribute ref="r:dm" use="required"/>
+ <xsd:attribute ref="r:lo" use="required"/>
+ <xsd:attribute ref="r:qs" use="required"/>
+ <xsd:attribute ref="r:cs" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="relIds" type="CT_RelIds"/>
+ <xsd:simpleType name="ST_ParameterVal">
+ <xsd:union
+ memberTypes="ST_DiagramHorizontalAlignment ST_VerticalAlignment ST_ChildDirection ST_ChildAlignment ST_SecondaryChildAlignment ST_LinearDirection ST_SecondaryLinearDirection ST_StartingElement ST_BendPoint ST_ConnectorRouting ST_ArrowheadStyle ST_ConnectorDimension ST_RotationPath ST_CenterShapeMapping ST_NodeHorizontalAlignment ST_NodeVerticalAlignment ST_FallbackDimension ST_TextDirection ST_PyramidAccentPosition ST_PyramidAccentTextMargin ST_TextBlockDirection ST_TextAnchorHorizontal ST_TextAnchorVertical ST_DiagramTextAlignment ST_AutoTextRotation ST_GrowDirection ST_FlowDirection ST_ContinueDirection ST_Breakpoint ST_Offset ST_HierarchyAlignment xsd:int xsd:double xsd:boolean xsd:string ST_ConnectorPoint"
+ />
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ModelId">
+ <xsd:union memberTypes="xsd:int s:ST_Guid"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PrSetCustVal">
+ <xsd:union memberTypes="s:ST_Percentage xsd:int"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ElemPropSet">
+ <xsd:sequence>
+ <xsd:element name="presLayoutVars" type="CT_LayoutVariablePropertySet" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="presAssocID" type="ST_ModelId" use="optional"/>
+ <xsd:attribute name="presName" type="xsd:string" use="optional"/>
+ <xsd:attribute name="presStyleLbl" type="xsd:string" use="optional"/>
+ <xsd:attribute name="presStyleIdx" type="xsd:int" use="optional"/>
+ <xsd:attribute name="presStyleCnt" type="xsd:int" use="optional"/>
+ <xsd:attribute name="loTypeId" type="xsd:string" use="optional"/>
+ <xsd:attribute name="loCatId" type="xsd:string" use="optional"/>
+ <xsd:attribute name="qsTypeId" type="xsd:string" use="optional"/>
+ <xsd:attribute name="qsCatId" type="xsd:string" use="optional"/>
+ <xsd:attribute name="csTypeId" type="xsd:string" use="optional"/>
+ <xsd:attribute name="csCatId" type="xsd:string" use="optional"/>
+ <xsd:attribute name="coherent3DOff" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="phldrT" type="xsd:string" use="optional"/>
+ <xsd:attribute name="phldr" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="custAng" type="xsd:int" use="optional"/>
+ <xsd:attribute name="custFlipVert" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="custFlipHor" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="custSzX" type="xsd:int" use="optional"/>
+ <xsd:attribute name="custSzY" type="xsd:int" use="optional"/>
+ <xsd:attribute name="custScaleX" type="ST_PrSetCustVal" use="optional"/>
+ <xsd:attribute name="custScaleY" type="ST_PrSetCustVal" use="optional"/>
+ <xsd:attribute name="custT" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="custLinFactX" type="ST_PrSetCustVal" use="optional"/>
+ <xsd:attribute name="custLinFactY" type="ST_PrSetCustVal" use="optional"/>
+ <xsd:attribute name="custLinFactNeighborX" type="ST_PrSetCustVal" use="optional"/>
+ <xsd:attribute name="custLinFactNeighborY" type="ST_PrSetCustVal" use="optional"/>
+ <xsd:attribute name="custRadScaleRad" type="ST_PrSetCustVal" use="optional"/>
+ <xsd:attribute name="custRadScaleInc" type="ST_PrSetCustVal" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Direction" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="norm"/>
+ <xsd:enumeration value="rev"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HierBranchStyle" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="hang"/>
+ <xsd:enumeration value="std"/>
+ <xsd:enumeration value="init"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AnimOneStr" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="one"/>
+ <xsd:enumeration value="branch"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AnimLvlStr" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="lvl"/>
+ <xsd:enumeration value="ctr"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_OrgChart">
+ <xsd:attribute name="val" type="xsd:boolean" default="false" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_NodeCount">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="-1"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ChildMax">
+ <xsd:attribute name="val" type="ST_NodeCount" default="-1" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ChildPref">
+ <xsd:attribute name="val" type="ST_NodeCount" default="-1" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BulletEnabled">
+ <xsd:attribute name="val" type="xsd:boolean" default="false" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Direction">
+ <xsd:attribute name="val" type="ST_Direction" default="norm" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_HierBranchStyle">
+ <xsd:attribute name="val" type="ST_HierBranchStyle" default="std" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AnimOne">
+ <xsd:attribute name="val" type="ST_AnimOneStr" default="one" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AnimLvl">
+ <xsd:attribute name="val" type="ST_AnimLvlStr" default="none" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ResizeHandlesStr" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="exact"/>
+ <xsd:enumeration value="rel"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ResizeHandles">
+ <xsd:attribute name="val" type="ST_ResizeHandlesStr" default="rel" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LayoutVariablePropertySet">
+ <xsd:sequence>
+ <xsd:element name="orgChart" type="CT_OrgChart" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="chMax" type="CT_ChildMax" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="chPref" type="CT_ChildPref" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bulletEnabled" type="CT_BulletEnabled" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dir" type="CT_Direction" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="hierBranch" type="CT_HierBranchStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="animOne" type="CT_AnimOne" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="animLvl" type="CT_AnimLvl" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="resizeHandles" type="CT_ResizeHandles" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SDName">
+ <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="val" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SDDescription">
+ <xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="val" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SDCategory">
+ <xsd:attribute name="type" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="pri" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SDCategories">
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="cat" type="CT_SDCategory" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextProps">
+ <xsd:sequence>
+ <xsd:group ref="a:EG_Text3D" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StyleLabel">
+ <xsd:sequence>
+ <xsd:element name="scene3d" type="a:CT_Scene3D" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sp3d" type="a:CT_Shape3D" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txPr" type="CT_TextProps" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StyleDefinition">
+ <xsd:sequence>
+ <xsd:element name="title" type="CT_SDName" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="desc" type="CT_SDDescription" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="catLst" type="CT_SDCategories" minOccurs="0"/>
+ <xsd:element name="scene3d" type="a:CT_Scene3D" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="styleLbl" type="CT_StyleLabel" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="uniqueId" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="minVer" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:element name="styleDef" type="CT_StyleDefinition"/>
+ <xsd:complexType name="CT_StyleDefinitionHeader">
+ <xsd:sequence>
+ <xsd:element name="title" type="CT_SDName" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="desc" type="CT_SDDescription" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="catLst" type="CT_SDCategories" minOccurs="0"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="uniqueId" type="xsd:string" use="required"/>
+ <xsd:attribute name="minVer" type="xsd:string" use="optional"/>
+ <xsd:attribute name="resId" type="xsd:int" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:element name="styleDefHdr" type="CT_StyleDefinitionHeader"/>
+ <xsd:complexType name="CT_StyleDefinitionHeaderLst">
+ <xsd:sequence>
+ <xsd:element name="styleDefHdr" type="CT_StyleDefinitionHeader" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="styleDefHdrLst" type="CT_StyleDefinitionHeaderLst"/>
+ <xsd:simpleType name="ST_AlgorithmType" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="composite"/>
+ <xsd:enumeration value="conn"/>
+ <xsd:enumeration value="cycle"/>
+ <xsd:enumeration value="hierChild"/>
+ <xsd:enumeration value="hierRoot"/>
+ <xsd:enumeration value="pyra"/>
+ <xsd:enumeration value="lin"/>
+ <xsd:enumeration value="sp"/>
+ <xsd:enumeration value="tx"/>
+ <xsd:enumeration value="snake"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AxisType" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="self"/>
+ <xsd:enumeration value="ch"/>
+ <xsd:enumeration value="des"/>
+ <xsd:enumeration value="desOrSelf"/>
+ <xsd:enumeration value="par"/>
+ <xsd:enumeration value="ancst"/>
+ <xsd:enumeration value="ancstOrSelf"/>
+ <xsd:enumeration value="followSib"/>
+ <xsd:enumeration value="precedSib"/>
+ <xsd:enumeration value="follow"/>
+ <xsd:enumeration value="preced"/>
+ <xsd:enumeration value="root"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AxisTypes">
+ <xsd:list itemType="ST_AxisType"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_BoolOperator" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="equ"/>
+ <xsd:enumeration value="gte"/>
+ <xsd:enumeration value="lte"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ChildOrderType" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="t"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ConstraintType" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="alignOff"/>
+ <xsd:enumeration value="begMarg"/>
+ <xsd:enumeration value="bendDist"/>
+ <xsd:enumeration value="begPad"/>
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="bMarg"/>
+ <xsd:enumeration value="bOff"/>
+ <xsd:enumeration value="ctrX"/>
+ <xsd:enumeration value="ctrXOff"/>
+ <xsd:enumeration value="ctrY"/>
+ <xsd:enumeration value="ctrYOff"/>
+ <xsd:enumeration value="connDist"/>
+ <xsd:enumeration value="diam"/>
+ <xsd:enumeration value="endMarg"/>
+ <xsd:enumeration value="endPad"/>
+ <xsd:enumeration value="h"/>
+ <xsd:enumeration value="hArH"/>
+ <xsd:enumeration value="hOff"/>
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="lMarg"/>
+ <xsd:enumeration value="lOff"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="rMarg"/>
+ <xsd:enumeration value="rOff"/>
+ <xsd:enumeration value="primFontSz"/>
+ <xsd:enumeration value="pyraAcctRatio"/>
+ <xsd:enumeration value="secFontSz"/>
+ <xsd:enumeration value="sibSp"/>
+ <xsd:enumeration value="secSibSp"/>
+ <xsd:enumeration value="sp"/>
+ <xsd:enumeration value="stemThick"/>
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="tMarg"/>
+ <xsd:enumeration value="tOff"/>
+ <xsd:enumeration value="userA"/>
+ <xsd:enumeration value="userB"/>
+ <xsd:enumeration value="userC"/>
+ <xsd:enumeration value="userD"/>
+ <xsd:enumeration value="userE"/>
+ <xsd:enumeration value="userF"/>
+ <xsd:enumeration value="userG"/>
+ <xsd:enumeration value="userH"/>
+ <xsd:enumeration value="userI"/>
+ <xsd:enumeration value="userJ"/>
+ <xsd:enumeration value="userK"/>
+ <xsd:enumeration value="userL"/>
+ <xsd:enumeration value="userM"/>
+ <xsd:enumeration value="userN"/>
+ <xsd:enumeration value="userO"/>
+ <xsd:enumeration value="userP"/>
+ <xsd:enumeration value="userQ"/>
+ <xsd:enumeration value="userR"/>
+ <xsd:enumeration value="userS"/>
+ <xsd:enumeration value="userT"/>
+ <xsd:enumeration value="userU"/>
+ <xsd:enumeration value="userV"/>
+ <xsd:enumeration value="userW"/>
+ <xsd:enumeration value="userX"/>
+ <xsd:enumeration value="userY"/>
+ <xsd:enumeration value="userZ"/>
+ <xsd:enumeration value="w"/>
+ <xsd:enumeration value="wArH"/>
+ <xsd:enumeration value="wOff"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ConstraintRelationship" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="self"/>
+ <xsd:enumeration value="ch"/>
+ <xsd:enumeration value="des"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ElementType" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="all"/>
+ <xsd:enumeration value="doc"/>
+ <xsd:enumeration value="node"/>
+ <xsd:enumeration value="norm"/>
+ <xsd:enumeration value="nonNorm"/>
+ <xsd:enumeration value="asst"/>
+ <xsd:enumeration value="nonAsst"/>
+ <xsd:enumeration value="parTrans"/>
+ <xsd:enumeration value="pres"/>
+ <xsd:enumeration value="sibTrans"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ElementTypes">
+ <xsd:list itemType="ST_ElementType"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ParameterId" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="horzAlign"/>
+ <xsd:enumeration value="vertAlign"/>
+ <xsd:enumeration value="chDir"/>
+ <xsd:enumeration value="chAlign"/>
+ <xsd:enumeration value="secChAlign"/>
+ <xsd:enumeration value="linDir"/>
+ <xsd:enumeration value="secLinDir"/>
+ <xsd:enumeration value="stElem"/>
+ <xsd:enumeration value="bendPt"/>
+ <xsd:enumeration value="connRout"/>
+ <xsd:enumeration value="begSty"/>
+ <xsd:enumeration value="endSty"/>
+ <xsd:enumeration value="dim"/>
+ <xsd:enumeration value="rotPath"/>
+ <xsd:enumeration value="ctrShpMap"/>
+ <xsd:enumeration value="nodeHorzAlign"/>
+ <xsd:enumeration value="nodeVertAlign"/>
+ <xsd:enumeration value="fallback"/>
+ <xsd:enumeration value="txDir"/>
+ <xsd:enumeration value="pyraAcctPos"/>
+ <xsd:enumeration value="pyraAcctTxMar"/>
+ <xsd:enumeration value="txBlDir"/>
+ <xsd:enumeration value="txAnchorHorz"/>
+ <xsd:enumeration value="txAnchorVert"/>
+ <xsd:enumeration value="txAnchorHorzCh"/>
+ <xsd:enumeration value="txAnchorVertCh"/>
+ <xsd:enumeration value="parTxLTRAlign"/>
+ <xsd:enumeration value="parTxRTLAlign"/>
+ <xsd:enumeration value="shpTxLTRAlignCh"/>
+ <xsd:enumeration value="shpTxRTLAlignCh"/>
+ <xsd:enumeration value="autoTxRot"/>
+ <xsd:enumeration value="grDir"/>
+ <xsd:enumeration value="flowDir"/>
+ <xsd:enumeration value="contDir"/>
+ <xsd:enumeration value="bkpt"/>
+ <xsd:enumeration value="off"/>
+ <xsd:enumeration value="hierAlign"/>
+ <xsd:enumeration value="bkPtFixedVal"/>
+ <xsd:enumeration value="stBulletLvl"/>
+ <xsd:enumeration value="stAng"/>
+ <xsd:enumeration value="spanAng"/>
+ <xsd:enumeration value="ar"/>
+ <xsd:enumeration value="lnSpPar"/>
+ <xsd:enumeration value="lnSpAfParP"/>
+ <xsd:enumeration value="lnSpCh"/>
+ <xsd:enumeration value="lnSpAfChP"/>
+ <xsd:enumeration value="rtShortDist"/>
+ <xsd:enumeration value="alignTx"/>
+ <xsd:enumeration value="pyraLvlNode"/>
+ <xsd:enumeration value="pyraAcctBkgdNode"/>
+ <xsd:enumeration value="pyraAcctTxNode"/>
+ <xsd:enumeration value="srcNode"/>
+ <xsd:enumeration value="dstNode"/>
+ <xsd:enumeration value="begPts"/>
+ <xsd:enumeration value="endPts"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Ints">
+ <xsd:list itemType="xsd:int"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_UnsignedInts">
+ <xsd:list itemType="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Booleans">
+ <xsd:list itemType="xsd:boolean"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FunctionType" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="cnt"/>
+ <xsd:enumeration value="pos"/>
+ <xsd:enumeration value="revPos"/>
+ <xsd:enumeration value="posEven"/>
+ <xsd:enumeration value="posOdd"/>
+ <xsd:enumeration value="var"/>
+ <xsd:enumeration value="depth"/>
+ <xsd:enumeration value="maxDepth"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FunctionOperator" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="equ"/>
+ <xsd:enumeration value="neq"/>
+ <xsd:enumeration value="gt"/>
+ <xsd:enumeration value="lt"/>
+ <xsd:enumeration value="gte"/>
+ <xsd:enumeration value="lte"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DiagramHorizontalAlignment" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_VerticalAlignment" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="mid"/>
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ChildDirection" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="horz"/>
+ <xsd:enumeration value="vert"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ChildAlignment" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="r"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_SecondaryChildAlignment" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="r"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_LinearDirection" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="fromL"/>
+ <xsd:enumeration value="fromR"/>
+ <xsd:enumeration value="fromT"/>
+ <xsd:enumeration value="fromB"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_SecondaryLinearDirection" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="fromL"/>
+ <xsd:enumeration value="fromR"/>
+ <xsd:enumeration value="fromT"/>
+ <xsd:enumeration value="fromB"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_StartingElement" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="node"/>
+ <xsd:enumeration value="trans"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_RotationPath" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="alongPath"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CenterShapeMapping" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="fNode"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_BendPoint" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="beg"/>
+ <xsd:enumeration value="def"/>
+ <xsd:enumeration value="end"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ConnectorRouting" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="stra"/>
+ <xsd:enumeration value="bend"/>
+ <xsd:enumeration value="curve"/>
+ <xsd:enumeration value="longCurve"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ArrowheadStyle" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="arr"/>
+ <xsd:enumeration value="noArr"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ConnectorDimension" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="1D"/>
+ <xsd:enumeration value="2D"/>
+ <xsd:enumeration value="cust"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ConnectorPoint" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="bCtr"/>
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="midL"/>
+ <xsd:enumeration value="midR"/>
+ <xsd:enumeration value="tCtr"/>
+ <xsd:enumeration value="bL"/>
+ <xsd:enumeration value="bR"/>
+ <xsd:enumeration value="tL"/>
+ <xsd:enumeration value="tR"/>
+ <xsd:enumeration value="radial"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_NodeHorizontalAlignment" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="r"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_NodeVerticalAlignment" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="mid"/>
+ <xsd:enumeration value="b"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FallbackDimension" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="1D"/>
+ <xsd:enumeration value="2D"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextDirection" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="fromT"/>
+ <xsd:enumeration value="fromB"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PyramidAccentPosition" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="bef"/>
+ <xsd:enumeration value="aft"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PyramidAccentTextMargin" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="step"/>
+ <xsd:enumeration value="stack"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextBlockDirection" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="horz"/>
+ <xsd:enumeration value="vert"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextAnchorHorizontal" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="ctr"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextAnchorVertical" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="mid"/>
+ <xsd:enumeration value="b"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DiagramTextAlignment" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="r"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AutoTextRotation" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="upr"/>
+ <xsd:enumeration value="grav"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_GrowDirection" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="tL"/>
+ <xsd:enumeration value="tR"/>
+ <xsd:enumeration value="bL"/>
+ <xsd:enumeration value="bR"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FlowDirection" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="row"/>
+ <xsd:enumeration value="col"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ContinueDirection" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="revDir"/>
+ <xsd:enumeration value="sameDir"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Breakpoint" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="endCnv"/>
+ <xsd:enumeration value="bal"/>
+ <xsd:enumeration value="fixed"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Offset" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="off"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HierarchyAlignment" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="tL"/>
+ <xsd:enumeration value="tR"/>
+ <xsd:enumeration value="tCtrCh"/>
+ <xsd:enumeration value="tCtrDes"/>
+ <xsd:enumeration value="bL"/>
+ <xsd:enumeration value="bR"/>
+ <xsd:enumeration value="bCtrCh"/>
+ <xsd:enumeration value="bCtrDes"/>
+ <xsd:enumeration value="lT"/>
+ <xsd:enumeration value="lB"/>
+ <xsd:enumeration value="lCtrCh"/>
+ <xsd:enumeration value="lCtrDes"/>
+ <xsd:enumeration value="rT"/>
+ <xsd:enumeration value="rB"/>
+ <xsd:enumeration value="rCtrCh"/>
+ <xsd:enumeration value="rCtrDes"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FunctionValue" final="restriction">
+ <xsd:union
+ memberTypes="xsd:int xsd:boolean ST_Direction ST_HierBranchStyle ST_AnimOneStr ST_AnimLvlStr ST_ResizeHandlesStr"
+ />
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_VariableType" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="orgChart"/>
+ <xsd:enumeration value="chMax"/>
+ <xsd:enumeration value="chPref"/>
+ <xsd:enumeration value="bulEnabled"/>
+ <xsd:enumeration value="dir"/>
+ <xsd:enumeration value="hierBranch"/>
+ <xsd:enumeration value="animOne"/>
+ <xsd:enumeration value="animLvl"/>
+ <xsd:enumeration value="resizeHandles"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FunctionArgument" final="restriction">
+ <xsd:union memberTypes="ST_VariableType"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_OutputShapeType" final="restriction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="conn"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-lockedCanvas.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-lockedCanvas.xsd
new file mode 100644
index 0000000..687eea8
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-lockedCanvas.xsd
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas"
+ xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ elementFormDefault="qualified"
+ targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas">
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
+ schemaLocation="dml-main.xsd"/>
+ <xsd:element name="lockedCanvas" type="a:CT_GvmlGroupShape"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-main.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-main.xsd
new file mode 100644
index 0000000..2943b27
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-main.xsd
@@ -0,0 +1,3054 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<xsd:schema xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/main">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" schemaLocation="shared-relationshipReference.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/diagram" schemaLocation="dml-diagram.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/chart" schemaLocation="dml-chart.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/picture" schemaLocation="dml-picture.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas" schemaLocation="dml-lockedCanvas.xsd"/>
+ <xsd:complexType name="CT_AudioFile">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:link" use="required"/>
+ <xsd:attribute name="contentType" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_VideoFile">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:link" use="required"/>
+ <xsd:attribute name="contentType" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_QuickTimeFile">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:link" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AudioCDTime">
+ <xsd:attribute name="track" type="xsd:unsignedByte" use="required"/>
+ <xsd:attribute default="0" name="time" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AudioCD">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="st" type="CT_AudioCDTime"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="end" type="CT_AudioCDTime"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_Media">
+ <xsd:choice>
+ <xsd:element name="audioCd" type="CT_AudioCD"/>
+ <xsd:element name="wavAudioFile" type="CT_EmbeddedWAVAudioFile"/>
+ <xsd:element name="audioFile" type="CT_AudioFile"/>
+ <xsd:element name="videoFile" type="CT_VideoFile"/>
+ <xsd:element name="quickTimeFile" type="CT_QuickTimeFile"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:element name="videoFile" type="CT_VideoFile"/>
+ <xsd:simpleType name="ST_StyleMatrixColumnIndex">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FontCollectionIndex">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="major"/>
+ <xsd:enumeration value="minor"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ColorSchemeIndex">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="dk1"/>
+ <xsd:enumeration value="lt1"/>
+ <xsd:enumeration value="dk2"/>
+ <xsd:enumeration value="lt2"/>
+ <xsd:enumeration value="accent1"/>
+ <xsd:enumeration value="accent2"/>
+ <xsd:enumeration value="accent3"/>
+ <xsd:enumeration value="accent4"/>
+ <xsd:enumeration value="accent5"/>
+ <xsd:enumeration value="accent6"/>
+ <xsd:enumeration value="hlink"/>
+ <xsd:enumeration value="folHlink"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ColorScheme">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="dk1" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lt1" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="dk2" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lt2" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="accent1" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="accent2" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="accent3" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="accent4" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="accent5" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="accent6" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="hlink" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="folHlink" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomColor">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ <xsd:attribute default="" name="name" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SupplementalFont">
+ <xsd:attribute name="script" type="xsd:string" use="required"/>
+ <xsd:attribute name="typeface" type="ST_TextTypeface" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomColorList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="custClr" type="CT_CustomColor"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FontCollection">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="latin" type="CT_TextFont"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="ea" type="CT_TextFont"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cs" type="CT_TextFont"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="font" type="CT_SupplementalFont"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EffectStyleItem">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_EffectProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="scene3d" type="CT_Scene3D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sp3d" type="CT_Shape3D"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FontScheme">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="majorFont" type="CT_FontCollection"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="minorFont" type="CT_FontCollection"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FillStyleList">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="3" ref="EG_FillProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LineStyleList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="3" name="ln" type="CT_LineProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EffectStyleList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="3" name="effectStyle" type="CT_EffectStyleItem"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BackgroundFillStyleList">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="3" ref="EG_FillProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StyleMatrix">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fillStyleLst" type="CT_FillStyleList"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lnStyleLst" type="CT_LineStyleList"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="effectStyleLst" type="CT_EffectStyleList"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="bgFillStyleLst" type="CT_BackgroundFillStyleList"/>
+ </xsd:sequence>
+ <xsd:attribute default="" name="name" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BaseStyles">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="clrScheme" type="CT_ColorScheme"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fontScheme" type="CT_FontScheme"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fmtScheme" type="CT_StyleMatrix"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OfficeArtExtension">
+ <xsd:sequence>
+ <xsd:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Coordinate">
+ <xsd:union memberTypes="ST_CoordinateUnqualified s:ST_UniversalMeasure"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CoordinateUnqualified">
+ <xsd:restriction base="xsd:long">
+ <xsd:minInclusive value="-27273042329600"/>
+ <xsd:maxInclusive value="27273042316900"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Coordinate32">
+ <xsd:union memberTypes="ST_Coordinate32Unqualified s:ST_UniversalMeasure"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Coordinate32Unqualified">
+ <xsd:restriction base="xsd:int"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PositiveCoordinate">
+ <xsd:restriction base="xsd:long">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="27273042316900"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PositiveCoordinate32">
+ <xsd:restriction base="ST_Coordinate32Unqualified">
+ <xsd:minInclusive value="0"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Angle">
+ <xsd:restriction base="xsd:int"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Angle">
+ <xsd:attribute name="val" type="ST_Angle" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FixedAngle">
+ <xsd:restriction base="ST_Angle">
+ <xsd:minExclusive value="-5400000"/>
+ <xsd:maxExclusive value="5400000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PositiveFixedAngle">
+ <xsd:restriction base="ST_Angle">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxExclusive value="21600000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PositiveFixedAngle">
+ <xsd:attribute name="val" type="ST_PositiveFixedAngle" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Percentage">
+ <xsd:union memberTypes="ST_PercentageDecimal s:ST_Percentage"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PercentageDecimal">
+ <xsd:restriction base="xsd:int"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Percentage">
+ <xsd:attribute name="val" type="ST_Percentage" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PositivePercentage">
+ <xsd:union memberTypes="ST_PositivePercentageDecimal s:ST_PositivePercentage"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PositivePercentageDecimal">
+ <xsd:restriction base="ST_PercentageDecimal">
+ <xsd:minInclusive value="0"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PositivePercentage">
+ <xsd:attribute name="val" type="ST_PositivePercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FixedPercentage">
+ <xsd:union memberTypes="ST_FixedPercentageDecimal s:ST_FixedPercentage"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FixedPercentageDecimal">
+ <xsd:restriction base="ST_PercentageDecimal">
+ <xsd:minInclusive value="-100000"/>
+ <xsd:maxInclusive value="100000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FixedPercentage">
+ <xsd:attribute name="val" type="ST_FixedPercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PositiveFixedPercentage">
+ <xsd:union memberTypes="ST_PositiveFixedPercentageDecimal s:ST_PositiveFixedPercentage"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PositiveFixedPercentageDecimal">
+ <xsd:restriction base="ST_PercentageDecimal">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="100000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PositiveFixedPercentage">
+ <xsd:attribute name="val" type="ST_PositiveFixedPercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Ratio">
+ <xsd:attribute name="n" type="xsd:long" use="required"/>
+ <xsd:attribute name="d" type="xsd:long" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Point2D">
+ <xsd:attribute name="x" type="ST_Coordinate" use="required"/>
+ <xsd:attribute name="y" type="ST_Coordinate" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PositiveSize2D">
+ <xsd:attribute name="cx" type="ST_PositiveCoordinate" use="required"/>
+ <xsd:attribute name="cy" type="ST_PositiveCoordinate" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ComplementTransform"/>
+ <xsd:complexType name="CT_InverseTransform"/>
+ <xsd:complexType name="CT_GrayscaleTransform"/>
+ <xsd:complexType name="CT_GammaTransform"/>
+ <xsd:complexType name="CT_InverseGammaTransform"/>
+ <xsd:group name="EG_ColorTransform">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="tint" type="CT_PositiveFixedPercentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="shade" type="CT_PositiveFixedPercentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="comp" type="CT_ComplementTransform"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="inv" type="CT_InverseTransform"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="gray" type="CT_GrayscaleTransform"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alpha" type="CT_PositiveFixedPercentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaOff" type="CT_FixedPercentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaMod" type="CT_PositivePercentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="hue" type="CT_PositiveFixedAngle"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="hueOff" type="CT_Angle"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="hueMod" type="CT_PositivePercentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="sat" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="satOff" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="satMod" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lum" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lumOff" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lumMod" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="red" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="redOff" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="redMod" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="green" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="greenOff" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="greenMod" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="blue" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="blueOff" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="blueMod" type="CT_Percentage"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="gamma" type="CT_GammaTransform"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="invGamma" type="CT_InverseGammaTransform"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_ScRgbColor">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ColorTransform"/>
+ </xsd:sequence>
+ <xsd:attribute name="r" type="ST_Percentage" use="required"/>
+ <xsd:attribute name="g" type="ST_Percentage" use="required"/>
+ <xsd:attribute name="b" type="ST_Percentage" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SRgbColor">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ColorTransform"/>
+ </xsd:sequence>
+ <xsd:attribute name="val" type="s:ST_HexColorRGB" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_HslColor">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ColorTransform"/>
+ </xsd:sequence>
+ <xsd:attribute name="hue" type="ST_PositiveFixedAngle" use="required"/>
+ <xsd:attribute name="sat" type="ST_Percentage" use="required"/>
+ <xsd:attribute name="lum" type="ST_Percentage" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SystemColorVal">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="scrollBar"/>
+ <xsd:enumeration value="background"/>
+ <xsd:enumeration value="activeCaption"/>
+ <xsd:enumeration value="inactiveCaption"/>
+ <xsd:enumeration value="menu"/>
+ <xsd:enumeration value="window"/>
+ <xsd:enumeration value="windowFrame"/>
+ <xsd:enumeration value="menuText"/>
+ <xsd:enumeration value="windowText"/>
+ <xsd:enumeration value="captionText"/>
+ <xsd:enumeration value="activeBorder"/>
+ <xsd:enumeration value="inactiveBorder"/>
+ <xsd:enumeration value="appWorkspace"/>
+ <xsd:enumeration value="highlight"/>
+ <xsd:enumeration value="highlightText"/>
+ <xsd:enumeration value="btnFace"/>
+ <xsd:enumeration value="btnShadow"/>
+ <xsd:enumeration value="grayText"/>
+ <xsd:enumeration value="btnText"/>
+ <xsd:enumeration value="inactiveCaptionText"/>
+ <xsd:enumeration value="btnHighlight"/>
+ <xsd:enumeration value="3dDkShadow"/>
+ <xsd:enumeration value="3dLight"/>
+ <xsd:enumeration value="infoText"/>
+ <xsd:enumeration value="infoBk"/>
+ <xsd:enumeration value="hotLight"/>
+ <xsd:enumeration value="gradientActiveCaption"/>
+ <xsd:enumeration value="gradientInactiveCaption"/>
+ <xsd:enumeration value="menuHighlight"/>
+ <xsd:enumeration value="menuBar"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SystemColor">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ColorTransform"/>
+ </xsd:sequence>
+ <xsd:attribute name="val" type="ST_SystemColorVal" use="required"/>
+ <xsd:attribute name="lastClr" type="s:ST_HexColorRGB" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SchemeColorVal">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="bg1"/>
+ <xsd:enumeration value="tx1"/>
+ <xsd:enumeration value="bg2"/>
+ <xsd:enumeration value="tx2"/>
+ <xsd:enumeration value="accent1"/>
+ <xsd:enumeration value="accent2"/>
+ <xsd:enumeration value="accent3"/>
+ <xsd:enumeration value="accent4"/>
+ <xsd:enumeration value="accent5"/>
+ <xsd:enumeration value="accent6"/>
+ <xsd:enumeration value="hlink"/>
+ <xsd:enumeration value="folHlink"/>
+ <xsd:enumeration value="phClr"/>
+ <xsd:enumeration value="dk1"/>
+ <xsd:enumeration value="lt1"/>
+ <xsd:enumeration value="dk2"/>
+ <xsd:enumeration value="lt2"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SchemeColor">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ColorTransform"/>
+ </xsd:sequence>
+ <xsd:attribute name="val" type="ST_SchemeColorVal" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PresetColorVal">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="aliceBlue"/>
+ <xsd:enumeration value="antiqueWhite"/>
+ <xsd:enumeration value="aqua"/>
+ <xsd:enumeration value="aquamarine"/>
+ <xsd:enumeration value="azure"/>
+ <xsd:enumeration value="beige"/>
+ <xsd:enumeration value="bisque"/>
+ <xsd:enumeration value="black"/>
+ <xsd:enumeration value="blanchedAlmond"/>
+ <xsd:enumeration value="blue"/>
+ <xsd:enumeration value="blueViolet"/>
+ <xsd:enumeration value="brown"/>
+ <xsd:enumeration value="burlyWood"/>
+ <xsd:enumeration value="cadetBlue"/>
+ <xsd:enumeration value="chartreuse"/>
+ <xsd:enumeration value="chocolate"/>
+ <xsd:enumeration value="coral"/>
+ <xsd:enumeration value="cornflowerBlue"/>
+ <xsd:enumeration value="cornsilk"/>
+ <xsd:enumeration value="crimson"/>
+ <xsd:enumeration value="cyan"/>
+ <xsd:enumeration value="darkBlue"/>
+ <xsd:enumeration value="darkCyan"/>
+ <xsd:enumeration value="darkGoldenrod"/>
+ <xsd:enumeration value="darkGray"/>
+ <xsd:enumeration value="darkGrey"/>
+ <xsd:enumeration value="darkGreen"/>
+ <xsd:enumeration value="darkKhaki"/>
+ <xsd:enumeration value="darkMagenta"/>
+ <xsd:enumeration value="darkOliveGreen"/>
+ <xsd:enumeration value="darkOrange"/>
+ <xsd:enumeration value="darkOrchid"/>
+ <xsd:enumeration value="darkRed"/>
+ <xsd:enumeration value="darkSalmon"/>
+ <xsd:enumeration value="darkSeaGreen"/>
+ <xsd:enumeration value="darkSlateBlue"/>
+ <xsd:enumeration value="darkSlateGray"/>
+ <xsd:enumeration value="darkSlateGrey"/>
+ <xsd:enumeration value="darkTurquoise"/>
+ <xsd:enumeration value="darkViolet"/>
+ <xsd:enumeration value="dkBlue"/>
+ <xsd:enumeration value="dkCyan"/>
+ <xsd:enumeration value="dkGoldenrod"/>
+ <xsd:enumeration value="dkGray"/>
+ <xsd:enumeration value="dkGrey"/>
+ <xsd:enumeration value="dkGreen"/>
+ <xsd:enumeration value="dkKhaki"/>
+ <xsd:enumeration value="dkMagenta"/>
+ <xsd:enumeration value="dkOliveGreen"/>
+ <xsd:enumeration value="dkOrange"/>
+ <xsd:enumeration value="dkOrchid"/>
+ <xsd:enumeration value="dkRed"/>
+ <xsd:enumeration value="dkSalmon"/>
+ <xsd:enumeration value="dkSeaGreen"/>
+ <xsd:enumeration value="dkSlateBlue"/>
+ <xsd:enumeration value="dkSlateGray"/>
+ <xsd:enumeration value="dkSlateGrey"/>
+ <xsd:enumeration value="dkTurquoise"/>
+ <xsd:enumeration value="dkViolet"/>
+ <xsd:enumeration value="deepPink"/>
+ <xsd:enumeration value="deepSkyBlue"/>
+ <xsd:enumeration value="dimGray"/>
+ <xsd:enumeration value="dimGrey"/>
+ <xsd:enumeration value="dodgerBlue"/>
+ <xsd:enumeration value="firebrick"/>
+ <xsd:enumeration value="floralWhite"/>
+ <xsd:enumeration value="forestGreen"/>
+ <xsd:enumeration value="fuchsia"/>
+ <xsd:enumeration value="gainsboro"/>
+ <xsd:enumeration value="ghostWhite"/>
+ <xsd:enumeration value="gold"/>
+ <xsd:enumeration value="goldenrod"/>
+ <xsd:enumeration value="gray"/>
+ <xsd:enumeration value="grey"/>
+ <xsd:enumeration value="green"/>
+ <xsd:enumeration value="greenYellow"/>
+ <xsd:enumeration value="honeydew"/>
+ <xsd:enumeration value="hotPink"/>
+ <xsd:enumeration value="indianRed"/>
+ <xsd:enumeration value="indigo"/>
+ <xsd:enumeration value="ivory"/>
+ <xsd:enumeration value="khaki"/>
+ <xsd:enumeration value="lavender"/>
+ <xsd:enumeration value="lavenderBlush"/>
+ <xsd:enumeration value="lawnGreen"/>
+ <xsd:enumeration value="lemonChiffon"/>
+ <xsd:enumeration value="lightBlue"/>
+ <xsd:enumeration value="lightCoral"/>
+ <xsd:enumeration value="lightCyan"/>
+ <xsd:enumeration value="lightGoldenrodYellow"/>
+ <xsd:enumeration value="lightGray"/>
+ <xsd:enumeration value="lightGrey"/>
+ <xsd:enumeration value="lightGreen"/>
+ <xsd:enumeration value="lightPink"/>
+ <xsd:enumeration value="lightSalmon"/>
+ <xsd:enumeration value="lightSeaGreen"/>
+ <xsd:enumeration value="lightSkyBlue"/>
+ <xsd:enumeration value="lightSlateGray"/>
+ <xsd:enumeration value="lightSlateGrey"/>
+ <xsd:enumeration value="lightSteelBlue"/>
+ <xsd:enumeration value="lightYellow"/>
+ <xsd:enumeration value="ltBlue"/>
+ <xsd:enumeration value="ltCoral"/>
+ <xsd:enumeration value="ltCyan"/>
+ <xsd:enumeration value="ltGoldenrodYellow"/>
+ <xsd:enumeration value="ltGray"/>
+ <xsd:enumeration value="ltGrey"/>
+ <xsd:enumeration value="ltGreen"/>
+ <xsd:enumeration value="ltPink"/>
+ <xsd:enumeration value="ltSalmon"/>
+ <xsd:enumeration value="ltSeaGreen"/>
+ <xsd:enumeration value="ltSkyBlue"/>
+ <xsd:enumeration value="ltSlateGray"/>
+ <xsd:enumeration value="ltSlateGrey"/>
+ <xsd:enumeration value="ltSteelBlue"/>
+ <xsd:enumeration value="ltYellow"/>
+ <xsd:enumeration value="lime"/>
+ <xsd:enumeration value="limeGreen"/>
+ <xsd:enumeration value="linen"/>
+ <xsd:enumeration value="magenta"/>
+ <xsd:enumeration value="maroon"/>
+ <xsd:enumeration value="medAquamarine"/>
+ <xsd:enumeration value="medBlue"/>
+ <xsd:enumeration value="medOrchid"/>
+ <xsd:enumeration value="medPurple"/>
+ <xsd:enumeration value="medSeaGreen"/>
+ <xsd:enumeration value="medSlateBlue"/>
+ <xsd:enumeration value="medSpringGreen"/>
+ <xsd:enumeration value="medTurquoise"/>
+ <xsd:enumeration value="medVioletRed"/>
+ <xsd:enumeration value="mediumAquamarine"/>
+ <xsd:enumeration value="mediumBlue"/>
+ <xsd:enumeration value="mediumOrchid"/>
+ <xsd:enumeration value="mediumPurple"/>
+ <xsd:enumeration value="mediumSeaGreen"/>
+ <xsd:enumeration value="mediumSlateBlue"/>
+ <xsd:enumeration value="mediumSpringGreen"/>
+ <xsd:enumeration value="mediumTurquoise"/>
+ <xsd:enumeration value="mediumVioletRed"/>
+ <xsd:enumeration value="midnightBlue"/>
+ <xsd:enumeration value="mintCream"/>
+ <xsd:enumeration value="mistyRose"/>
+ <xsd:enumeration value="moccasin"/>
+ <xsd:enumeration value="navajoWhite"/>
+ <xsd:enumeration value="navy"/>
+ <xsd:enumeration value="oldLace"/>
+ <xsd:enumeration value="olive"/>
+ <xsd:enumeration value="oliveDrab"/>
+ <xsd:enumeration value="orange"/>
+ <xsd:enumeration value="orangeRed"/>
+ <xsd:enumeration value="orchid"/>
+ <xsd:enumeration value="paleGoldenrod"/>
+ <xsd:enumeration value="paleGreen"/>
+ <xsd:enumeration value="paleTurquoise"/>
+ <xsd:enumeration value="paleVioletRed"/>
+ <xsd:enumeration value="papayaWhip"/>
+ <xsd:enumeration value="peachPuff"/>
+ <xsd:enumeration value="peru"/>
+ <xsd:enumeration value="pink"/>
+ <xsd:enumeration value="plum"/>
+ <xsd:enumeration value="powderBlue"/>
+ <xsd:enumeration value="purple"/>
+ <xsd:enumeration value="red"/>
+ <xsd:enumeration value="rosyBrown"/>
+ <xsd:enumeration value="royalBlue"/>
+ <xsd:enumeration value="saddleBrown"/>
+ <xsd:enumeration value="salmon"/>
+ <xsd:enumeration value="sandyBrown"/>
+ <xsd:enumeration value="seaGreen"/>
+ <xsd:enumeration value="seaShell"/>
+ <xsd:enumeration value="sienna"/>
+ <xsd:enumeration value="silver"/>
+ <xsd:enumeration value="skyBlue"/>
+ <xsd:enumeration value="slateBlue"/>
+ <xsd:enumeration value="slateGray"/>
+ <xsd:enumeration value="slateGrey"/>
+ <xsd:enumeration value="snow"/>
+ <xsd:enumeration value="springGreen"/>
+ <xsd:enumeration value="steelBlue"/>
+ <xsd:enumeration value="tan"/>
+ <xsd:enumeration value="teal"/>
+ <xsd:enumeration value="thistle"/>
+ <xsd:enumeration value="tomato"/>
+ <xsd:enumeration value="turquoise"/>
+ <xsd:enumeration value="violet"/>
+ <xsd:enumeration value="wheat"/>
+ <xsd:enumeration value="white"/>
+ <xsd:enumeration value="whiteSmoke"/>
+ <xsd:enumeration value="yellow"/>
+ <xsd:enumeration value="yellowGreen"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PresetColor">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ColorTransform"/>
+ </xsd:sequence>
+ <xsd:attribute name="val" type="ST_PresetColorVal" use="required"/>
+ </xsd:complexType>
+ <xsd:group name="EG_OfficeArtExtensionList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="ext" type="CT_OfficeArtExtension"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_OfficeArtExtensionList">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Scale2D">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="sx" type="CT_Ratio"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="sy" type="CT_Ratio"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Transform2D">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="off" type="CT_Point2D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ext" type="CT_PositiveSize2D"/>
+ </xsd:sequence>
+ <xsd:attribute default="0" name="rot" type="ST_Angle" use="optional"/>
+ <xsd:attribute default="false" name="flipH" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="flipV" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupTransform2D">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="off" type="CT_Point2D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ext" type="CT_PositiveSize2D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="chOff" type="CT_Point2D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="chExt" type="CT_PositiveSize2D"/>
+ </xsd:sequence>
+ <xsd:attribute default="0" name="rot" type="ST_Angle" use="optional"/>
+ <xsd:attribute default="false" name="flipH" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="flipV" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Point3D">
+ <xsd:attribute name="x" type="ST_Coordinate" use="required"/>
+ <xsd:attribute name="y" type="ST_Coordinate" use="required"/>
+ <xsd:attribute name="z" type="ST_Coordinate" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Vector3D">
+ <xsd:attribute name="dx" type="ST_Coordinate" use="required"/>
+ <xsd:attribute name="dy" type="ST_Coordinate" use="required"/>
+ <xsd:attribute name="dz" type="ST_Coordinate" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SphereCoords">
+ <xsd:attribute name="lat" type="ST_PositiveFixedAngle" use="required"/>
+ <xsd:attribute name="lon" type="ST_PositiveFixedAngle" use="required"/>
+ <xsd:attribute name="rev" type="ST_PositiveFixedAngle" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RelativeRect">
+ <xsd:attribute default="0%" name="l" type="ST_Percentage" use="optional"/>
+ <xsd:attribute default="0%" name="t" type="ST_Percentage" use="optional"/>
+ <xsd:attribute default="0%" name="r" type="ST_Percentage" use="optional"/>
+ <xsd:attribute default="0%" name="b" type="ST_Percentage" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_RectAlignment">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="tl"/>
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="tr"/>
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="bl"/>
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="br"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:group name="EG_ColorChoice">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="scrgbClr" type="CT_ScRgbColor"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="srgbClr" type="CT_SRgbColor"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="hslClr" type="CT_HslColor"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="sysClr" type="CT_SystemColor"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="schemeClr" type="CT_SchemeColor"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="prstClr" type="CT_PresetColor"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_Color">
+ <xsd:sequence>
+ <xsd:group ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorMRU">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BlackWhiteMode">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="clr"/>
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="gray"/>
+ <xsd:enumeration value="ltGray"/>
+ <xsd:enumeration value="invGray"/>
+ <xsd:enumeration value="grayWhite"/>
+ <xsd:enumeration value="blackGray"/>
+ <xsd:enumeration value="blackWhite"/>
+ <xsd:enumeration value="black"/>
+ <xsd:enumeration value="white"/>
+ <xsd:enumeration value="hidden"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:attributeGroup name="AG_Blob">
+ <xsd:attribute default="" ref="r:embed" use="optional"/>
+ <xsd:attribute default="" ref="r:link" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:complexType name="CT_EmbeddedWAVAudioFile">
+ <xsd:attribute ref="r:embed" use="required"/>
+ <xsd:attribute default="" name="name" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Hyperlink">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="snd" type="CT_EmbeddedWAVAudioFile"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:id" use="optional"/>
+ <xsd:attribute default="" name="invalidUrl" type="xsd:string" use="optional"/>
+ <xsd:attribute default="" name="action" type="xsd:string" use="optional"/>
+ <xsd:attribute default="" name="tgtFrame" type="xsd:string" use="optional"/>
+ <xsd:attribute default="" name="tooltip" type="xsd:string" use="optional"/>
+ <xsd:attribute default="true" name="history" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="highlightClick" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="endSnd" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DrawingElementId">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:attributeGroup name="AG_Locking">
+ <xsd:attribute default="false" name="noGrp" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noSelect" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noRot" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noChangeAspect" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noMove" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noResize" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noEditPoints" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noAdjustHandles" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noChangeArrowheads" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noChangeShapeType" type="xsd:boolean" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:complexType name="CT_ConnectorLocking">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_Locking"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ShapeLocking">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_Locking"/>
+ <xsd:attribute default="false" name="noTextEdit" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PictureLocking">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_Locking"/>
+ <xsd:attribute default="false" name="noCrop" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupLocking">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="false" name="noGrp" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noUngrp" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noSelect" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noRot" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noChangeAspect" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noMove" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noResize" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GraphicalObjectFrameLocking">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="false" name="noGrp" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noDrilldown" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noSelect" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noChangeAspect" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noMove" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="noResize" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ContentPartLocking">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_Locking"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NonVisualDrawingProps">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="hlinkClick" type="CT_Hyperlink"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="hlinkHover" type="CT_Hyperlink"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="ST_DrawingElementId" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute default="" name="descr" type="xsd:string" use="optional"/>
+ <xsd:attribute default="false" name="hidden" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="" name="title" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NonVisualDrawingShapeProps">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="spLocks" type="CT_ShapeLocking"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="false" name="txBox" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NonVisualConnectorProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cxnSpLocks" type="CT_ConnectorLocking"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="stCxn" type="CT_Connection"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="endCxn" type="CT_Connection"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NonVisualPictureProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="picLocks" type="CT_PictureLocking"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="true" name="preferRelativeResize" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NonVisualGroupDrawingShapeProps">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="grpSpLocks" type="CT_GroupLocking"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NonVisualGraphicFrameProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="graphicFrameLocks" type="CT_GraphicalObjectFrameLocking"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NonVisualContentPartProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cpLocks" type="CT_ContentPartLocking"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="true" name="isComment" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GraphicalObjectData">
+ <xsd:sequence>
+ <xsd:any maxOccurs="unbounded" minOccurs="0" processContents="strict"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GraphicalObject">
+ <xsd:sequence>
+ <xsd:element name="graphicData" type="CT_GraphicalObjectData"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="graphic" type="CT_GraphicalObject"/>
+ <xsd:simpleType name="ST_ChartBuildStep">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="category"/>
+ <xsd:enumeration value="ptInCategory"/>
+ <xsd:enumeration value="series"/>
+ <xsd:enumeration value="ptInSeries"/>
+ <xsd:enumeration value="allPts"/>
+ <xsd:enumeration value="gridLegend"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DgmBuildStep">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="sp"/>
+ <xsd:enumeration value="bg"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_AnimationDgmElement">
+ <xsd:attribute default="{00000000-0000-0000-0000-000000000000}" name="id" type="s:ST_Guid" use="optional"/>
+ <xsd:attribute default="sp" name="bldStep" type="ST_DgmBuildStep" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AnimationChartElement">
+ <xsd:attribute default="-1" name="seriesIdx" type="xsd:int" use="optional"/>
+ <xsd:attribute default="-1" name="categoryIdx" type="xsd:int" use="optional"/>
+ <xsd:attribute name="bldStep" type="ST_ChartBuildStep" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AnimationElementChoice">
+ <xsd:choice maxOccurs="1" minOccurs="1">
+ <xsd:element name="dgm" type="CT_AnimationDgmElement"/>
+ <xsd:element name="chart" type="CT_AnimationChartElement"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_AnimationBuildType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="allAtOnce"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AnimationDgmOnlyBuildType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="one"/>
+ <xsd:enumeration value="lvlOne"/>
+ <xsd:enumeration value="lvlAtOnce"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AnimationDgmBuildType">
+ <xsd:union memberTypes="ST_AnimationBuildType ST_AnimationDgmOnlyBuildType"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_AnimationDgmBuildProperties">
+ <xsd:attribute default="allAtOnce" name="bld" type="ST_AnimationDgmBuildType" use="optional"/>
+ <xsd:attribute default="false" name="rev" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_AnimationChartOnlyBuildType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="series"/>
+ <xsd:enumeration value="category"/>
+ <xsd:enumeration value="seriesEl"/>
+ <xsd:enumeration value="categoryEl"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AnimationChartBuildType">
+ <xsd:union memberTypes="ST_AnimationBuildType ST_AnimationChartOnlyBuildType"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_AnimationChartBuildProperties">
+ <xsd:attribute default="allAtOnce" name="bld" type="ST_AnimationChartBuildType" use="optional"/>
+ <xsd:attribute default="true" name="animBg" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AnimationGraphicalObjectBuildProperties">
+ <xsd:choice>
+ <xsd:element name="bldDgm" type="CT_AnimationDgmBuildProperties"/>
+ <xsd:element name="bldChart" type="CT_AnimationChartBuildProperties"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BackgroundFormatting">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_FillProperties"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_EffectProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WholeE2oFormatting">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ln" type="CT_LineProperties"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_EffectProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlUseShapeRectangle"/>
+ <xsd:complexType name="CT_GvmlTextShape">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="txBody" type="CT_TextBody"/>
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="useSpRect" type="CT_GvmlUseShapeRectangle"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="xfrm" type="CT_Transform2D"/>
+ </xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlShapeNonVisual">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cNvPr" type="CT_NonVisualDrawingProps"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cNvSpPr" type="CT_NonVisualDrawingShapeProps"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlShape">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="nvSpPr" type="CT_GvmlShapeNonVisual"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="spPr" type="CT_ShapeProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="txSp" type="CT_GvmlTextShape"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="style" type="CT_ShapeStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlConnectorNonVisual">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cNvPr" type="CT_NonVisualDrawingProps"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cNvCxnSpPr" type="CT_NonVisualConnectorProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlConnector">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="nvCxnSpPr" type="CT_GvmlConnectorNonVisual"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="spPr" type="CT_ShapeProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="style" type="CT_ShapeStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlPictureNonVisual">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cNvPr" type="CT_NonVisualDrawingProps"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cNvPicPr" type="CT_NonVisualPictureProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlPicture">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="nvPicPr" type="CT_GvmlPictureNonVisual"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="blipFill" type="CT_BlipFillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="spPr" type="CT_ShapeProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="style" type="CT_ShapeStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlGraphicFrameNonVisual">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cNvPr" type="CT_NonVisualDrawingProps"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cNvGraphicFramePr" type="CT_NonVisualGraphicFrameProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlGraphicalObjectFrame">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="nvGraphicFramePr" type="CT_GvmlGraphicFrameNonVisual"/>
+ <xsd:element maxOccurs="1" minOccurs="1" ref="graphic"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="xfrm" type="CT_Transform2D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlGroupShapeNonVisual">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cNvPr" type="CT_NonVisualDrawingProps"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cNvGrpSpPr" type="CT_NonVisualGroupDrawingShapeProps"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GvmlGroupShape">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="nvGrpSpPr" type="CT_GvmlGroupShapeNonVisual"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="grpSpPr" type="CT_GroupShapeProperties"/>
+ <xsd:choice maxOccurs="unbounded" minOccurs="0">
+ <xsd:element name="txSp" type="CT_GvmlTextShape"/>
+ <xsd:element name="sp" type="CT_GvmlShape"/>
+ <xsd:element name="cxnSp" type="CT_GvmlConnector"/>
+ <xsd:element name="pic" type="CT_GvmlPicture"/>
+ <xsd:element name="graphicFrame" type="CT_GvmlGraphicalObjectFrame"/>
+ <xsd:element name="grpSp" type="CT_GvmlGroupShape"/>
+ </xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PresetCameraType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="legacyObliqueTopLeft"/>
+ <xsd:enumeration value="legacyObliqueTop"/>
+ <xsd:enumeration value="legacyObliqueTopRight"/>
+ <xsd:enumeration value="legacyObliqueLeft"/>
+ <xsd:enumeration value="legacyObliqueFront"/>
+ <xsd:enumeration value="legacyObliqueRight"/>
+ <xsd:enumeration value="legacyObliqueBottomLeft"/>
+ <xsd:enumeration value="legacyObliqueBottom"/>
+ <xsd:enumeration value="legacyObliqueBottomRight"/>
+ <xsd:enumeration value="legacyPerspectiveTopLeft"/>
+ <xsd:enumeration value="legacyPerspectiveTop"/>
+ <xsd:enumeration value="legacyPerspectiveTopRight"/>
+ <xsd:enumeration value="legacyPerspectiveLeft"/>
+ <xsd:enumeration value="legacyPerspectiveFront"/>
+ <xsd:enumeration value="legacyPerspectiveRight"/>
+ <xsd:enumeration value="legacyPerspectiveBottomLeft"/>
+ <xsd:enumeration value="legacyPerspectiveBottom"/>
+ <xsd:enumeration value="legacyPerspectiveBottomRight"/>
+ <xsd:enumeration value="orthographicFront"/>
+ <xsd:enumeration value="isometricTopUp"/>
+ <xsd:enumeration value="isometricTopDown"/>
+ <xsd:enumeration value="isometricBottomUp"/>
+ <xsd:enumeration value="isometricBottomDown"/>
+ <xsd:enumeration value="isometricLeftUp"/>
+ <xsd:enumeration value="isometricLeftDown"/>
+ <xsd:enumeration value="isometricRightUp"/>
+ <xsd:enumeration value="isometricRightDown"/>
+ <xsd:enumeration value="isometricOffAxis1Left"/>
+ <xsd:enumeration value="isometricOffAxis1Right"/>
+ <xsd:enumeration value="isometricOffAxis1Top"/>
+ <xsd:enumeration value="isometricOffAxis2Left"/>
+ <xsd:enumeration value="isometricOffAxis2Right"/>
+ <xsd:enumeration value="isometricOffAxis2Top"/>
+ <xsd:enumeration value="isometricOffAxis3Left"/>
+ <xsd:enumeration value="isometricOffAxis3Right"/>
+ <xsd:enumeration value="isometricOffAxis3Bottom"/>
+ <xsd:enumeration value="isometricOffAxis4Left"/>
+ <xsd:enumeration value="isometricOffAxis4Right"/>
+ <xsd:enumeration value="isometricOffAxis4Bottom"/>
+ <xsd:enumeration value="obliqueTopLeft"/>
+ <xsd:enumeration value="obliqueTop"/>
+ <xsd:enumeration value="obliqueTopRight"/>
+ <xsd:enumeration value="obliqueLeft"/>
+ <xsd:enumeration value="obliqueRight"/>
+ <xsd:enumeration value="obliqueBottomLeft"/>
+ <xsd:enumeration value="obliqueBottom"/>
+ <xsd:enumeration value="obliqueBottomRight"/>
+ <xsd:enumeration value="perspectiveFront"/>
+ <xsd:enumeration value="perspectiveLeft"/>
+ <xsd:enumeration value="perspectiveRight"/>
+ <xsd:enumeration value="perspectiveAbove"/>
+ <xsd:enumeration value="perspectiveBelow"/>
+ <xsd:enumeration value="perspectiveAboveLeftFacing"/>
+ <xsd:enumeration value="perspectiveAboveRightFacing"/>
+ <xsd:enumeration value="perspectiveContrastingLeftFacing"/>
+ <xsd:enumeration value="perspectiveContrastingRightFacing"/>
+ <xsd:enumeration value="perspectiveHeroicLeftFacing"/>
+ <xsd:enumeration value="perspectiveHeroicRightFacing"/>
+ <xsd:enumeration value="perspectiveHeroicExtremeLeftFacing"/>
+ <xsd:enumeration value="perspectiveHeroicExtremeRightFacing"/>
+ <xsd:enumeration value="perspectiveRelaxed"/>
+ <xsd:enumeration value="perspectiveRelaxedModerately"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FOVAngle">
+ <xsd:restriction base="ST_Angle">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="10800000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Camera">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="rot" type="CT_SphereCoords"/>
+ </xsd:sequence>
+ <xsd:attribute name="prst" type="ST_PresetCameraType" use="required"/>
+ <xsd:attribute name="fov" type="ST_FOVAngle" use="optional"/>
+ <xsd:attribute default="100%" name="zoom" type="ST_PositivePercentage" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LightRigDirection">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="tl"/>
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="tr"/>
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="bl"/>
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="br"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_LightRigType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="legacyFlat1"/>
+ <xsd:enumeration value="legacyFlat2"/>
+ <xsd:enumeration value="legacyFlat3"/>
+ <xsd:enumeration value="legacyFlat4"/>
+ <xsd:enumeration value="legacyNormal1"/>
+ <xsd:enumeration value="legacyNormal2"/>
+ <xsd:enumeration value="legacyNormal3"/>
+ <xsd:enumeration value="legacyNormal4"/>
+ <xsd:enumeration value="legacyHarsh1"/>
+ <xsd:enumeration value="legacyHarsh2"/>
+ <xsd:enumeration value="legacyHarsh3"/>
+ <xsd:enumeration value="legacyHarsh4"/>
+ <xsd:enumeration value="threePt"/>
+ <xsd:enumeration value="balanced"/>
+ <xsd:enumeration value="soft"/>
+ <xsd:enumeration value="harsh"/>
+ <xsd:enumeration value="flood"/>
+ <xsd:enumeration value="contrasting"/>
+ <xsd:enumeration value="morning"/>
+ <xsd:enumeration value="sunrise"/>
+ <xsd:enumeration value="sunset"/>
+ <xsd:enumeration value="chilly"/>
+ <xsd:enumeration value="freezing"/>
+ <xsd:enumeration value="flat"/>
+ <xsd:enumeration value="twoPt"/>
+ <xsd:enumeration value="glow"/>
+ <xsd:enumeration value="brightRoom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LightRig">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="rot" type="CT_SphereCoords"/>
+ </xsd:sequence>
+ <xsd:attribute name="rig" type="ST_LightRigType" use="required"/>
+ <xsd:attribute name="dir" type="ST_LightRigDirection" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Scene3D">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="camera" type="CT_Camera"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lightRig" type="CT_LightRig"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="backdrop" type="CT_Backdrop"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Backdrop">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="anchor" type="CT_Point3D"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="norm" type="CT_Vector3D"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="up" type="CT_Vector3D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BevelPresetType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="relaxedInset"/>
+ <xsd:enumeration value="circle"/>
+ <xsd:enumeration value="slope"/>
+ <xsd:enumeration value="cross"/>
+ <xsd:enumeration value="angle"/>
+ <xsd:enumeration value="softRound"/>
+ <xsd:enumeration value="convex"/>
+ <xsd:enumeration value="coolSlant"/>
+ <xsd:enumeration value="divot"/>
+ <xsd:enumeration value="riblet"/>
+ <xsd:enumeration value="hardEdge"/>
+ <xsd:enumeration value="artDeco"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Bevel">
+ <xsd:attribute default="76200" name="w" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="76200" name="h" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="circle" name="prst" type="ST_BevelPresetType" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PresetMaterialType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="legacyMatte"/>
+ <xsd:enumeration value="legacyPlastic"/>
+ <xsd:enumeration value="legacyMetal"/>
+ <xsd:enumeration value="legacyWireframe"/>
+ <xsd:enumeration value="matte"/>
+ <xsd:enumeration value="plastic"/>
+ <xsd:enumeration value="metal"/>
+ <xsd:enumeration value="warmMatte"/>
+ <xsd:enumeration value="translucentPowder"/>
+ <xsd:enumeration value="powder"/>
+ <xsd:enumeration value="dkEdge"/>
+ <xsd:enumeration value="softEdge"/>
+ <xsd:enumeration value="clear"/>
+ <xsd:enumeration value="flat"/>
+ <xsd:enumeration value="softmetal"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Shape3D">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="bevelT" type="CT_Bevel"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="bevelB" type="CT_Bevel"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extrusionClr" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="contourClr" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="0" name="z" type="ST_Coordinate" use="optional"/>
+ <xsd:attribute default="0" name="extrusionH" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="0" name="contourW" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="warmMatte" name="prstMaterial" type="ST_PresetMaterialType" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FlatText">
+ <xsd:attribute default="0" name="z" type="ST_Coordinate" use="optional"/>
+ </xsd:complexType>
+ <xsd:group name="EG_Text3D">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="sp3d" type="CT_Shape3D"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="flatTx" type="CT_FlatText"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_AlphaBiLevelEffect">
+ <xsd:attribute name="thresh" type="ST_PositiveFixedPercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AlphaCeilingEffect"/>
+ <xsd:complexType name="CT_AlphaFloorEffect"/>
+ <xsd:complexType name="CT_AlphaInverseEffect">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AlphaModulateFixedEffect">
+ <xsd:attribute default="100%" name="amt" type="ST_PositivePercentage" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AlphaOutsetEffect">
+ <xsd:attribute default="0" name="rad" type="ST_Coordinate" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AlphaReplaceEffect">
+ <xsd:attribute name="a" type="ST_PositiveFixedPercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BiLevelEffect">
+ <xsd:attribute name="thresh" type="ST_PositiveFixedPercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BlurEffect">
+ <xsd:attribute default="0" name="rad" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="true" name="grow" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorChangeEffect">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="clrFrom" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="clrTo" type="CT_Color"/>
+ </xsd:sequence>
+ <xsd:attribute default="true" name="useA" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorReplaceEffect">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DuotoneEffect">
+ <xsd:sequence>
+ <xsd:group maxOccurs="2" minOccurs="2" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GlowEffect">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ <xsd:attribute default="0" name="rad" type="ST_PositiveCoordinate" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GrayscaleEffect"/>
+ <xsd:complexType name="CT_HSLEffect">
+ <xsd:attribute default="0" name="hue" type="ST_PositiveFixedAngle" use="optional"/>
+ <xsd:attribute default="0%" name="sat" type="ST_FixedPercentage" use="optional"/>
+ <xsd:attribute default="0%" name="lum" type="ST_FixedPercentage" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_InnerShadowEffect">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ <xsd:attribute default="0" name="blurRad" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="0" name="dist" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="0" name="dir" type="ST_PositiveFixedAngle" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LuminanceEffect">
+ <xsd:attribute default="0%" name="bright" type="ST_FixedPercentage" use="optional"/>
+ <xsd:attribute default="0%" name="contrast" type="ST_FixedPercentage" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OuterShadowEffect">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ <xsd:attribute default="0" name="blurRad" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="0" name="dist" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="0" name="dir" type="ST_PositiveFixedAngle" use="optional"/>
+ <xsd:attribute default="100%" name="sx" type="ST_Percentage" use="optional"/>
+ <xsd:attribute default="100%" name="sy" type="ST_Percentage" use="optional"/>
+ <xsd:attribute default="0" name="kx" type="ST_FixedAngle" use="optional"/>
+ <xsd:attribute default="0" name="ky" type="ST_FixedAngle" use="optional"/>
+ <xsd:attribute default="b" name="algn" type="ST_RectAlignment" use="optional"/>
+ <xsd:attribute default="true" name="rotWithShape" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PresetShadowVal">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="shdw1"/>
+ <xsd:enumeration value="shdw2"/>
+ <xsd:enumeration value="shdw3"/>
+ <xsd:enumeration value="shdw4"/>
+ <xsd:enumeration value="shdw5"/>
+ <xsd:enumeration value="shdw6"/>
+ <xsd:enumeration value="shdw7"/>
+ <xsd:enumeration value="shdw8"/>
+ <xsd:enumeration value="shdw9"/>
+ <xsd:enumeration value="shdw10"/>
+ <xsd:enumeration value="shdw11"/>
+ <xsd:enumeration value="shdw12"/>
+ <xsd:enumeration value="shdw13"/>
+ <xsd:enumeration value="shdw14"/>
+ <xsd:enumeration value="shdw15"/>
+ <xsd:enumeration value="shdw16"/>
+ <xsd:enumeration value="shdw17"/>
+ <xsd:enumeration value="shdw18"/>
+ <xsd:enumeration value="shdw19"/>
+ <xsd:enumeration value="shdw20"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PresetShadowEffect">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ <xsd:attribute name="prst" type="ST_PresetShadowVal" use="required"/>
+ <xsd:attribute default="0" name="dist" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="0" name="dir" type="ST_PositiveFixedAngle" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ReflectionEffect">
+ <xsd:attribute default="0" name="blurRad" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="100%" name="stA" type="ST_PositiveFixedPercentage" use="optional"/>
+ <xsd:attribute default="0%" name="stPos" type="ST_PositiveFixedPercentage" use="optional"/>
+ <xsd:attribute default="0%" name="endA" type="ST_PositiveFixedPercentage" use="optional"/>
+ <xsd:attribute default="100%" name="endPos" type="ST_PositiveFixedPercentage" use="optional"/>
+ <xsd:attribute default="0" name="dist" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="0" name="dir" type="ST_PositiveFixedAngle" use="optional"/>
+ <xsd:attribute default="5400000" name="fadeDir" type="ST_PositiveFixedAngle" use="optional"/>
+ <xsd:attribute default="100%" name="sx" type="ST_Percentage" use="optional"/>
+ <xsd:attribute default="100%" name="sy" type="ST_Percentage" use="optional"/>
+ <xsd:attribute default="0" name="kx" type="ST_FixedAngle" use="optional"/>
+ <xsd:attribute default="0" name="ky" type="ST_FixedAngle" use="optional"/>
+ <xsd:attribute default="b" name="algn" type="ST_RectAlignment" use="optional"/>
+ <xsd:attribute default="true" name="rotWithShape" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RelativeOffsetEffect">
+ <xsd:attribute default="0%" name="tx" type="ST_Percentage" use="optional"/>
+ <xsd:attribute default="0%" name="ty" type="ST_Percentage" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SoftEdgesEffect">
+ <xsd:attribute name="rad" type="ST_PositiveCoordinate" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TintEffect">
+ <xsd:attribute default="0" name="hue" type="ST_PositiveFixedAngle" use="optional"/>
+ <xsd:attribute default="0%" name="amt" type="ST_FixedPercentage" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TransformEffect">
+ <xsd:attribute default="100%" name="sx" type="ST_Percentage" use="optional"/>
+ <xsd:attribute default="100%" name="sy" type="ST_Percentage" use="optional"/>
+ <xsd:attribute default="0" name="kx" type="ST_FixedAngle" use="optional"/>
+ <xsd:attribute default="0" name="ky" type="ST_FixedAngle" use="optional"/>
+ <xsd:attribute default="0" name="tx" type="ST_Coordinate" use="optional"/>
+ <xsd:attribute default="0" name="ty" type="ST_Coordinate" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NoFillProperties"/>
+ <xsd:complexType name="CT_SolidColorFillProperties">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LinearShadeProperties">
+ <xsd:attribute name="ang" type="ST_PositiveFixedAngle" use="optional"/>
+ <xsd:attribute name="scaled" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PathShadeType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="shape"/>
+ <xsd:enumeration value="circle"/>
+ <xsd:enumeration value="rect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PathShadeProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="fillToRect" type="CT_RelativeRect"/>
+ </xsd:sequence>
+ <xsd:attribute name="path" type="ST_PathShadeType" use="optional"/>
+ </xsd:complexType>
+ <xsd:group name="EG_ShadeProperties">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lin" type="CT_LinearShadeProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="path" type="CT_PathShadeProperties"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:simpleType name="ST_TileFlipMode">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="x"/>
+ <xsd:enumeration value="y"/>
+ <xsd:enumeration value="xy"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_GradientStop">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ <xsd:attribute name="pos" type="ST_PositiveFixedPercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GradientStopList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="2" name="gs" type="CT_GradientStop"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GradientFillProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="gsLst" type="CT_GradientStopList"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_ShadeProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tileRect" type="CT_RelativeRect"/>
+ </xsd:sequence>
+ <xsd:attribute name="flip" type="ST_TileFlipMode" use="optional"/>
+ <xsd:attribute name="rotWithShape" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TileInfoProperties">
+ <xsd:attribute name="tx" type="ST_Coordinate" use="optional"/>
+ <xsd:attribute name="ty" type="ST_Coordinate" use="optional"/>
+ <xsd:attribute name="sx" type="ST_Percentage" use="optional"/>
+ <xsd:attribute name="sy" type="ST_Percentage" use="optional"/>
+ <xsd:attribute name="flip" type="ST_TileFlipMode" use="optional"/>
+ <xsd:attribute name="algn" type="ST_RectAlignment" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StretchInfoProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="fillRect" type="CT_RelativeRect"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_FillModeProperties">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="tile" type="CT_TileInfoProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="stretch" type="CT_StretchInfoProperties"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:simpleType name="ST_BlipCompression">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="email"/>
+ <xsd:enumeration value="screen"/>
+ <xsd:enumeration value="print"/>
+ <xsd:enumeration value="hqprint"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Blip">
+ <xsd:sequence>
+ <xsd:choice maxOccurs="unbounded" minOccurs="0">
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaBiLevel" type="CT_AlphaBiLevelEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaCeiling" type="CT_AlphaCeilingEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaFloor" type="CT_AlphaFloorEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaInv" type="CT_AlphaInverseEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaMod" type="CT_AlphaModulateEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaModFix" type="CT_AlphaModulateFixedEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaRepl" type="CT_AlphaReplaceEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="biLevel" type="CT_BiLevelEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="blur" type="CT_BlurEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="clrChange" type="CT_ColorChangeEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="clrRepl" type="CT_ColorReplaceEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="duotone" type="CT_DuotoneEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fillOverlay" type="CT_FillOverlayEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="grayscl" type="CT_GrayscaleEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="hsl" type="CT_HSLEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lum" type="CT_LuminanceEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="tint" type="CT_TintEffect"/>
+ </xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_Blob"/>
+ <xsd:attribute default="none" name="cstate" type="ST_BlipCompression" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BlipFillProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="blip" type="CT_Blip"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="srcRect" type="CT_RelativeRect"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_FillModeProperties"/>
+ </xsd:sequence>
+ <xsd:attribute name="dpi" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="rotWithShape" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PresetPatternVal">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="pct5"/>
+ <xsd:enumeration value="pct10"/>
+ <xsd:enumeration value="pct20"/>
+ <xsd:enumeration value="pct25"/>
+ <xsd:enumeration value="pct30"/>
+ <xsd:enumeration value="pct40"/>
+ <xsd:enumeration value="pct50"/>
+ <xsd:enumeration value="pct60"/>
+ <xsd:enumeration value="pct70"/>
+ <xsd:enumeration value="pct75"/>
+ <xsd:enumeration value="pct80"/>
+ <xsd:enumeration value="pct90"/>
+ <xsd:enumeration value="horz"/>
+ <xsd:enumeration value="vert"/>
+ <xsd:enumeration value="ltHorz"/>
+ <xsd:enumeration value="ltVert"/>
+ <xsd:enumeration value="dkHorz"/>
+ <xsd:enumeration value="dkVert"/>
+ <xsd:enumeration value="narHorz"/>
+ <xsd:enumeration value="narVert"/>
+ <xsd:enumeration value="dashHorz"/>
+ <xsd:enumeration value="dashVert"/>
+ <xsd:enumeration value="cross"/>
+ <xsd:enumeration value="dnDiag"/>
+ <xsd:enumeration value="upDiag"/>
+ <xsd:enumeration value="ltDnDiag"/>
+ <xsd:enumeration value="ltUpDiag"/>
+ <xsd:enumeration value="dkDnDiag"/>
+ <xsd:enumeration value="dkUpDiag"/>
+ <xsd:enumeration value="wdDnDiag"/>
+ <xsd:enumeration value="wdUpDiag"/>
+ <xsd:enumeration value="dashDnDiag"/>
+ <xsd:enumeration value="dashUpDiag"/>
+ <xsd:enumeration value="diagCross"/>
+ <xsd:enumeration value="smCheck"/>
+ <xsd:enumeration value="lgCheck"/>
+ <xsd:enumeration value="smGrid"/>
+ <xsd:enumeration value="lgGrid"/>
+ <xsd:enumeration value="dotGrid"/>
+ <xsd:enumeration value="smConfetti"/>
+ <xsd:enumeration value="lgConfetti"/>
+ <xsd:enumeration value="horzBrick"/>
+ <xsd:enumeration value="diagBrick"/>
+ <xsd:enumeration value="solidDmnd"/>
+ <xsd:enumeration value="openDmnd"/>
+ <xsd:enumeration value="dotDmnd"/>
+ <xsd:enumeration value="plaid"/>
+ <xsd:enumeration value="sphere"/>
+ <xsd:enumeration value="weave"/>
+ <xsd:enumeration value="divot"/>
+ <xsd:enumeration value="shingle"/>
+ <xsd:enumeration value="wave"/>
+ <xsd:enumeration value="trellis"/>
+ <xsd:enumeration value="zigZag"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PatternFillProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="fgClr" type="CT_Color"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="bgClr" type="CT_Color"/>
+ </xsd:sequence>
+ <xsd:attribute name="prst" type="ST_PresetPatternVal" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupFillProperties"/>
+ <xsd:group name="EG_FillProperties">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="noFill" type="CT_NoFillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="solidFill" type="CT_SolidColorFillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="gradFill" type="CT_GradientFillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="blipFill" type="CT_BlipFillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="pattFill" type="CT_PatternFillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="grpFill" type="CT_GroupFillProperties"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_FillProperties">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_FillProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FillEffect">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_FillProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BlendMode">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="over"/>
+ <xsd:enumeration value="mult"/>
+ <xsd:enumeration value="screen"/>
+ <xsd:enumeration value="darken"/>
+ <xsd:enumeration value="lighten"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FillOverlayEffect">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_FillProperties"/>
+ </xsd:sequence>
+ <xsd:attribute name="blend" type="ST_BlendMode" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EffectReference">
+ <xsd:attribute name="ref" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:group name="EG_Effect">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cont" type="CT_EffectContainer"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="effect" type="CT_EffectReference"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaBiLevel" type="CT_AlphaBiLevelEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaCeiling" type="CT_AlphaCeilingEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaFloor" type="CT_AlphaFloorEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaInv" type="CT_AlphaInverseEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaMod" type="CT_AlphaModulateEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaModFix" type="CT_AlphaModulateFixedEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaOutset" type="CT_AlphaOutsetEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="alphaRepl" type="CT_AlphaReplaceEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="biLevel" type="CT_BiLevelEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="blend" type="CT_BlendEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="blur" type="CT_BlurEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="clrChange" type="CT_ColorChangeEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="clrRepl" type="CT_ColorReplaceEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="duotone" type="CT_DuotoneEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fill" type="CT_FillEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fillOverlay" type="CT_FillOverlayEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="glow" type="CT_GlowEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="grayscl" type="CT_GrayscaleEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="hsl" type="CT_HSLEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="innerShdw" type="CT_InnerShadowEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lum" type="CT_LuminanceEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="outerShdw" type="CT_OuterShadowEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="prstShdw" type="CT_PresetShadowEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="reflection" type="CT_ReflectionEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="relOff" type="CT_RelativeOffsetEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="softEdge" type="CT_SoftEdgesEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="tint" type="CT_TintEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="xfrm" type="CT_TransformEffect"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:simpleType name="ST_EffectContainerType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="sib"/>
+ <xsd:enumeration value="tree"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_EffectContainer">
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_Effect"/>
+ <xsd:attribute default="sib" name="type" type="ST_EffectContainerType" use="optional"/>
+ <xsd:attribute name="name" type="xsd:token" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AlphaModulateEffect">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cont" type="CT_EffectContainer"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BlendEffect">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cont" type="CT_EffectContainer"/>
+ </xsd:sequence>
+ <xsd:attribute name="blend" type="ST_BlendMode" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EffectList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="blur" type="CT_BlurEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="fillOverlay" type="CT_FillOverlayEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="glow" type="CT_GlowEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="innerShdw" type="CT_InnerShadowEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="outerShdw" type="CT_OuterShadowEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="prstShdw" type="CT_PresetShadowEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="reflection" type="CT_ReflectionEffect"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="softEdge" type="CT_SoftEdgesEffect"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_EffectProperties">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="effectLst" type="CT_EffectList"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="effectDag" type="CT_EffectContainer"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_EffectProperties">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_EffectProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="blip" type="CT_Blip"/>
+ <xsd:simpleType name="ST_ShapeType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="line"/>
+ <xsd:enumeration value="lineInv"/>
+ <xsd:enumeration value="triangle"/>
+ <xsd:enumeration value="rtTriangle"/>
+ <xsd:enumeration value="rect"/>
+ <xsd:enumeration value="diamond"/>
+ <xsd:enumeration value="parallelogram"/>
+ <xsd:enumeration value="trapezoid"/>
+ <xsd:enumeration value="nonIsoscelesTrapezoid"/>
+ <xsd:enumeration value="pentagon"/>
+ <xsd:enumeration value="hexagon"/>
+ <xsd:enumeration value="heptagon"/>
+ <xsd:enumeration value="octagon"/>
+ <xsd:enumeration value="decagon"/>
+ <xsd:enumeration value="dodecagon"/>
+ <xsd:enumeration value="star4"/>
+ <xsd:enumeration value="star5"/>
+ <xsd:enumeration value="star6"/>
+ <xsd:enumeration value="star7"/>
+ <xsd:enumeration value="star8"/>
+ <xsd:enumeration value="star10"/>
+ <xsd:enumeration value="star12"/>
+ <xsd:enumeration value="star16"/>
+ <xsd:enumeration value="star24"/>
+ <xsd:enumeration value="star32"/>
+ <xsd:enumeration value="roundRect"/>
+ <xsd:enumeration value="round1Rect"/>
+ <xsd:enumeration value="round2SameRect"/>
+ <xsd:enumeration value="round2DiagRect"/>
+ <xsd:enumeration value="snipRoundRect"/>
+ <xsd:enumeration value="snip1Rect"/>
+ <xsd:enumeration value="snip2SameRect"/>
+ <xsd:enumeration value="snip2DiagRect"/>
+ <xsd:enumeration value="plaque"/>
+ <xsd:enumeration value="ellipse"/>
+ <xsd:enumeration value="teardrop"/>
+ <xsd:enumeration value="homePlate"/>
+ <xsd:enumeration value="chevron"/>
+ <xsd:enumeration value="pieWedge"/>
+ <xsd:enumeration value="pie"/>
+ <xsd:enumeration value="blockArc"/>
+ <xsd:enumeration value="donut"/>
+ <xsd:enumeration value="noSmoking"/>
+ <xsd:enumeration value="rightArrow"/>
+ <xsd:enumeration value="leftArrow"/>
+ <xsd:enumeration value="upArrow"/>
+ <xsd:enumeration value="downArrow"/>
+ <xsd:enumeration value="stripedRightArrow"/>
+ <xsd:enumeration value="notchedRightArrow"/>
+ <xsd:enumeration value="bentUpArrow"/>
+ <xsd:enumeration value="leftRightArrow"/>
+ <xsd:enumeration value="upDownArrow"/>
+ <xsd:enumeration value="leftUpArrow"/>
+ <xsd:enumeration value="leftRightUpArrow"/>
+ <xsd:enumeration value="quadArrow"/>
+ <xsd:enumeration value="leftArrowCallout"/>
+ <xsd:enumeration value="rightArrowCallout"/>
+ <xsd:enumeration value="upArrowCallout"/>
+ <xsd:enumeration value="downArrowCallout"/>
+ <xsd:enumeration value="leftRightArrowCallout"/>
+ <xsd:enumeration value="upDownArrowCallout"/>
+ <xsd:enumeration value="quadArrowCallout"/>
+ <xsd:enumeration value="bentArrow"/>
+ <xsd:enumeration value="uturnArrow"/>
+ <xsd:enumeration value="circularArrow"/>
+ <xsd:enumeration value="leftCircularArrow"/>
+ <xsd:enumeration value="leftRightCircularArrow"/>
+ <xsd:enumeration value="curvedRightArrow"/>
+ <xsd:enumeration value="curvedLeftArrow"/>
+ <xsd:enumeration value="curvedUpArrow"/>
+ <xsd:enumeration value="curvedDownArrow"/>
+ <xsd:enumeration value="swooshArrow"/>
+ <xsd:enumeration value="cube"/>
+ <xsd:enumeration value="can"/>
+ <xsd:enumeration value="lightningBolt"/>
+ <xsd:enumeration value="heart"/>
+ <xsd:enumeration value="sun"/>
+ <xsd:enumeration value="moon"/>
+ <xsd:enumeration value="smileyFace"/>
+ <xsd:enumeration value="irregularSeal1"/>
+ <xsd:enumeration value="irregularSeal2"/>
+ <xsd:enumeration value="foldedCorner"/>
+ <xsd:enumeration value="bevel"/>
+ <xsd:enumeration value="frame"/>
+ <xsd:enumeration value="halfFrame"/>
+ <xsd:enumeration value="corner"/>
+ <xsd:enumeration value="diagStripe"/>
+ <xsd:enumeration value="chord"/>
+ <xsd:enumeration value="arc"/>
+ <xsd:enumeration value="leftBracket"/>
+ <xsd:enumeration value="rightBracket"/>
+ <xsd:enumeration value="leftBrace"/>
+ <xsd:enumeration value="rightBrace"/>
+ <xsd:enumeration value="bracketPair"/>
+ <xsd:enumeration value="bracePair"/>
+ <xsd:enumeration value="straightConnector1"/>
+ <xsd:enumeration value="bentConnector2"/>
+ <xsd:enumeration value="bentConnector3"/>
+ <xsd:enumeration value="bentConnector4"/>
+ <xsd:enumeration value="bentConnector5"/>
+ <xsd:enumeration value="curvedConnector2"/>
+ <xsd:enumeration value="curvedConnector3"/>
+ <xsd:enumeration value="curvedConnector4"/>
+ <xsd:enumeration value="curvedConnector5"/>
+ <xsd:enumeration value="callout1"/>
+ <xsd:enumeration value="callout2"/>
+ <xsd:enumeration value="callout3"/>
+ <xsd:enumeration value="accentCallout1"/>
+ <xsd:enumeration value="accentCallout2"/>
+ <xsd:enumeration value="accentCallout3"/>
+ <xsd:enumeration value="borderCallout1"/>
+ <xsd:enumeration value="borderCallout2"/>
+ <xsd:enumeration value="borderCallout3"/>
+ <xsd:enumeration value="accentBorderCallout1"/>
+ <xsd:enumeration value="accentBorderCallout2"/>
+ <xsd:enumeration value="accentBorderCallout3"/>
+ <xsd:enumeration value="wedgeRectCallout"/>
+ <xsd:enumeration value="wedgeRoundRectCallout"/>
+ <xsd:enumeration value="wedgeEllipseCallout"/>
+ <xsd:enumeration value="cloudCallout"/>
+ <xsd:enumeration value="cloud"/>
+ <xsd:enumeration value="ribbon"/>
+ <xsd:enumeration value="ribbon2"/>
+ <xsd:enumeration value="ellipseRibbon"/>
+ <xsd:enumeration value="ellipseRibbon2"/>
+ <xsd:enumeration value="leftRightRibbon"/>
+ <xsd:enumeration value="verticalScroll"/>
+ <xsd:enumeration value="horizontalScroll"/>
+ <xsd:enumeration value="wave"/>
+ <xsd:enumeration value="doubleWave"/>
+ <xsd:enumeration value="plus"/>
+ <xsd:enumeration value="flowChartProcess"/>
+ <xsd:enumeration value="flowChartDecision"/>
+ <xsd:enumeration value="flowChartInputOutput"/>
+ <xsd:enumeration value="flowChartPredefinedProcess"/>
+ <xsd:enumeration value="flowChartInternalStorage"/>
+ <xsd:enumeration value="flowChartDocument"/>
+ <xsd:enumeration value="flowChartMultidocument"/>
+ <xsd:enumeration value="flowChartTerminator"/>
+ <xsd:enumeration value="flowChartPreparation"/>
+ <xsd:enumeration value="flowChartManualInput"/>
+ <xsd:enumeration value="flowChartManualOperation"/>
+ <xsd:enumeration value="flowChartConnector"/>
+ <xsd:enumeration value="flowChartPunchedCard"/>
+ <xsd:enumeration value="flowChartPunchedTape"/>
+ <xsd:enumeration value="flowChartSummingJunction"/>
+ <xsd:enumeration value="flowChartOr"/>
+ <xsd:enumeration value="flowChartCollate"/>
+ <xsd:enumeration value="flowChartSort"/>
+ <xsd:enumeration value="flowChartExtract"/>
+ <xsd:enumeration value="flowChartMerge"/>
+ <xsd:enumeration value="flowChartOfflineStorage"/>
+ <xsd:enumeration value="flowChartOnlineStorage"/>
+ <xsd:enumeration value="flowChartMagneticTape"/>
+ <xsd:enumeration value="flowChartMagneticDisk"/>
+ <xsd:enumeration value="flowChartMagneticDrum"/>
+ <xsd:enumeration value="flowChartDisplay"/>
+ <xsd:enumeration value="flowChartDelay"/>
+ <xsd:enumeration value="flowChartAlternateProcess"/>
+ <xsd:enumeration value="flowChartOffpageConnector"/>
+ <xsd:enumeration value="actionButtonBlank"/>
+ <xsd:enumeration value="actionButtonHome"/>
+ <xsd:enumeration value="actionButtonHelp"/>
+ <xsd:enumeration value="actionButtonInformation"/>
+ <xsd:enumeration value="actionButtonForwardNext"/>
+ <xsd:enumeration value="actionButtonBackPrevious"/>
+ <xsd:enumeration value="actionButtonEnd"/>
+ <xsd:enumeration value="actionButtonBeginning"/>
+ <xsd:enumeration value="actionButtonReturn"/>
+ <xsd:enumeration value="actionButtonDocument"/>
+ <xsd:enumeration value="actionButtonSound"/>
+ <xsd:enumeration value="actionButtonMovie"/>
+ <xsd:enumeration value="gear6"/>
+ <xsd:enumeration value="gear9"/>
+ <xsd:enumeration value="funnel"/>
+ <xsd:enumeration value="mathPlus"/>
+ <xsd:enumeration value="mathMinus"/>
+ <xsd:enumeration value="mathMultiply"/>
+ <xsd:enumeration value="mathDivide"/>
+ <xsd:enumeration value="mathEqual"/>
+ <xsd:enumeration value="mathNotEqual"/>
+ <xsd:enumeration value="cornerTabs"/>
+ <xsd:enumeration value="squareTabs"/>
+ <xsd:enumeration value="plaqueTabs"/>
+ <xsd:enumeration value="chartX"/>
+ <xsd:enumeration value="chartStar"/>
+ <xsd:enumeration value="chartPlus"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextShapeType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="textNoShape"/>
+ <xsd:enumeration value="textPlain"/>
+ <xsd:enumeration value="textStop"/>
+ <xsd:enumeration value="textTriangle"/>
+ <xsd:enumeration value="textTriangleInverted"/>
+ <xsd:enumeration value="textChevron"/>
+ <xsd:enumeration value="textChevronInverted"/>
+ <xsd:enumeration value="textRingInside"/>
+ <xsd:enumeration value="textRingOutside"/>
+ <xsd:enumeration value="textArchUp"/>
+ <xsd:enumeration value="textArchDown"/>
+ <xsd:enumeration value="textCircle"/>
+ <xsd:enumeration value="textButton"/>
+ <xsd:enumeration value="textArchUpPour"/>
+ <xsd:enumeration value="textArchDownPour"/>
+ <xsd:enumeration value="textCirclePour"/>
+ <xsd:enumeration value="textButtonPour"/>
+ <xsd:enumeration value="textCurveUp"/>
+ <xsd:enumeration value="textCurveDown"/>
+ <xsd:enumeration value="textCanUp"/>
+ <xsd:enumeration value="textCanDown"/>
+ <xsd:enumeration value="textWave1"/>
+ <xsd:enumeration value="textWave2"/>
+ <xsd:enumeration value="textDoubleWave1"/>
+ <xsd:enumeration value="textWave4"/>
+ <xsd:enumeration value="textInflate"/>
+ <xsd:enumeration value="textDeflate"/>
+ <xsd:enumeration value="textInflateBottom"/>
+ <xsd:enumeration value="textDeflateBottom"/>
+ <xsd:enumeration value="textInflateTop"/>
+ <xsd:enumeration value="textDeflateTop"/>
+ <xsd:enumeration value="textDeflateInflate"/>
+ <xsd:enumeration value="textDeflateInflateDeflate"/>
+ <xsd:enumeration value="textFadeRight"/>
+ <xsd:enumeration value="textFadeLeft"/>
+ <xsd:enumeration value="textFadeUp"/>
+ <xsd:enumeration value="textFadeDown"/>
+ <xsd:enumeration value="textSlantUp"/>
+ <xsd:enumeration value="textSlantDown"/>
+ <xsd:enumeration value="textCascadeUp"/>
+ <xsd:enumeration value="textCascadeDown"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_GeomGuideName">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_GeomGuideFormula">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_GeomGuide">
+ <xsd:attribute name="name" type="ST_GeomGuideName" use="required"/>
+ <xsd:attribute name="fmla" type="ST_GeomGuideFormula" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GeomGuideList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="gd" type="CT_GeomGuide"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_AdjCoordinate">
+ <xsd:union memberTypes="ST_Coordinate ST_GeomGuideName"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AdjAngle">
+ <xsd:union memberTypes="ST_Angle ST_GeomGuideName"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_AdjPoint2D">
+ <xsd:attribute name="x" type="ST_AdjCoordinate" use="required"/>
+ <xsd:attribute name="y" type="ST_AdjCoordinate" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GeomRect">
+ <xsd:attribute name="l" type="ST_AdjCoordinate" use="required"/>
+ <xsd:attribute name="t" type="ST_AdjCoordinate" use="required"/>
+ <xsd:attribute name="r" type="ST_AdjCoordinate" use="required"/>
+ <xsd:attribute name="b" type="ST_AdjCoordinate" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_XYAdjustHandle">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="pos" type="CT_AdjPoint2D"/>
+ </xsd:sequence>
+ <xsd:attribute name="gdRefX" type="ST_GeomGuideName" use="optional"/>
+ <xsd:attribute name="minX" type="ST_AdjCoordinate" use="optional"/>
+ <xsd:attribute name="maxX" type="ST_AdjCoordinate" use="optional"/>
+ <xsd:attribute name="gdRefY" type="ST_GeomGuideName" use="optional"/>
+ <xsd:attribute name="minY" type="ST_AdjCoordinate" use="optional"/>
+ <xsd:attribute name="maxY" type="ST_AdjCoordinate" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PolarAdjustHandle">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="pos" type="CT_AdjPoint2D"/>
+ </xsd:sequence>
+ <xsd:attribute name="gdRefR" type="ST_GeomGuideName" use="optional"/>
+ <xsd:attribute name="minR" type="ST_AdjCoordinate" use="optional"/>
+ <xsd:attribute name="maxR" type="ST_AdjCoordinate" use="optional"/>
+ <xsd:attribute name="gdRefAng" type="ST_GeomGuideName" use="optional"/>
+ <xsd:attribute name="minAng" type="ST_AdjAngle" use="optional"/>
+ <xsd:attribute name="maxAng" type="ST_AdjAngle" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ConnectionSite">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="pos" type="CT_AdjPoint2D"/>
+ </xsd:sequence>
+ <xsd:attribute name="ang" type="ST_AdjAngle" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AdjustHandleList">
+ <xsd:choice maxOccurs="unbounded" minOccurs="0">
+ <xsd:element maxOccurs="1" minOccurs="1" name="ahXY" type="CT_XYAdjustHandle"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="ahPolar" type="CT_PolarAdjustHandle"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ConnectionSiteList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="cxn" type="CT_ConnectionSite"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Connection">
+ <xsd:attribute name="id" type="ST_DrawingElementId" use="required"/>
+ <xsd:attribute name="idx" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Path2DMoveTo">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="pt" type="CT_AdjPoint2D"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Path2DLineTo">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="pt" type="CT_AdjPoint2D"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Path2DArcTo">
+ <xsd:attribute name="wR" type="ST_AdjCoordinate" use="required"/>
+ <xsd:attribute name="hR" type="ST_AdjCoordinate" use="required"/>
+ <xsd:attribute name="stAng" type="ST_AdjAngle" use="required"/>
+ <xsd:attribute name="swAng" type="ST_AdjAngle" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Path2DQuadBezierTo">
+ <xsd:sequence>
+ <xsd:element maxOccurs="2" minOccurs="2" name="pt" type="CT_AdjPoint2D"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Path2DCubicBezierTo">
+ <xsd:sequence>
+ <xsd:element maxOccurs="3" minOccurs="3" name="pt" type="CT_AdjPoint2D"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Path2DClose"/>
+ <xsd:simpleType name="ST_PathFillMode">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="norm"/>
+ <xsd:enumeration value="lighten"/>
+ <xsd:enumeration value="lightenLess"/>
+ <xsd:enumeration value="darken"/>
+ <xsd:enumeration value="darkenLess"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Path2D">
+ <xsd:choice maxOccurs="unbounded" minOccurs="0">
+ <xsd:element maxOccurs="1" minOccurs="1" name="close" type="CT_Path2DClose"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="moveTo" type="CT_Path2DMoveTo"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lnTo" type="CT_Path2DLineTo"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="arcTo" type="CT_Path2DArcTo"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="quadBezTo" type="CT_Path2DQuadBezierTo"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="cubicBezTo" type="CT_Path2DCubicBezierTo"/>
+ </xsd:choice>
+ <xsd:attribute default="0" name="w" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="0" name="h" type="ST_PositiveCoordinate" use="optional"/>
+ <xsd:attribute default="norm" name="fill" type="ST_PathFillMode" use="optional"/>
+ <xsd:attribute default="true" name="stroke" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="true" name="extrusionOk" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Path2DList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="path" type="CT_Path2D"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PresetGeometry2D">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="avLst" type="CT_GeomGuideList"/>
+ </xsd:sequence>
+ <xsd:attribute name="prst" type="ST_ShapeType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PresetTextShape">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="avLst" type="CT_GeomGuideList"/>
+ </xsd:sequence>
+ <xsd:attribute name="prst" type="ST_TextShapeType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomGeometry2D">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="avLst" type="CT_GeomGuideList"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="gdLst" type="CT_GeomGuideList"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ahLst" type="CT_AdjustHandleList"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cxnLst" type="CT_ConnectionSiteList"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="rect" type="CT_GeomRect"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="pathLst" type="CT_Path2DList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_Geometry">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="custGeom" type="CT_CustomGeometry2D"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="prstGeom" type="CT_PresetGeometry2D"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_TextGeometry">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="custGeom" type="CT_CustomGeometry2D"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="prstTxWarp" type="CT_PresetTextShape"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:simpleType name="ST_LineEndType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="triangle"/>
+ <xsd:enumeration value="stealth"/>
+ <xsd:enumeration value="diamond"/>
+ <xsd:enumeration value="oval"/>
+ <xsd:enumeration value="arrow"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_LineEndWidth">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="sm"/>
+ <xsd:enumeration value="med"/>
+ <xsd:enumeration value="lg"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_LineEndLength">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="sm"/>
+ <xsd:enumeration value="med"/>
+ <xsd:enumeration value="lg"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LineEndProperties">
+ <xsd:attribute name="type" type="ST_LineEndType" use="optional"/>
+ <xsd:attribute name="w" type="ST_LineEndWidth" use="optional"/>
+ <xsd:attribute name="len" type="ST_LineEndLength" use="optional"/>
+ </xsd:complexType>
+ <xsd:group name="EG_LineFillProperties">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="noFill" type="CT_NoFillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="solidFill" type="CT_SolidColorFillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="gradFill" type="CT_GradientFillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="pattFill" type="CT_PatternFillProperties"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_LineJoinBevel"/>
+ <xsd:complexType name="CT_LineJoinRound"/>
+ <xsd:complexType name="CT_LineJoinMiterProperties">
+ <xsd:attribute name="lim" type="ST_PositivePercentage" use="optional"/>
+ </xsd:complexType>
+ <xsd:group name="EG_LineJoinProperties">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="round" type="CT_LineJoinRound"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="bevel" type="CT_LineJoinBevel"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="miter" type="CT_LineJoinMiterProperties"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:simpleType name="ST_PresetLineDashVal">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="solid"/>
+ <xsd:enumeration value="dot"/>
+ <xsd:enumeration value="dash"/>
+ <xsd:enumeration value="lgDash"/>
+ <xsd:enumeration value="dashDot"/>
+ <xsd:enumeration value="lgDashDot"/>
+ <xsd:enumeration value="lgDashDotDot"/>
+ <xsd:enumeration value="sysDash"/>
+ <xsd:enumeration value="sysDot"/>
+ <xsd:enumeration value="sysDashDot"/>
+ <xsd:enumeration value="sysDashDotDot"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PresetLineDashProperties">
+ <xsd:attribute name="val" type="ST_PresetLineDashVal" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DashStop">
+ <xsd:attribute name="d" type="ST_PositivePercentage" use="required"/>
+ <xsd:attribute name="sp" type="ST_PositivePercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DashStopList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="ds" type="CT_DashStop"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_LineDashProperties">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="prstDash" type="CT_PresetLineDashProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="custDash" type="CT_DashStopList"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:simpleType name="ST_LineCap">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="rnd"/>
+ <xsd:enumeration value="sq"/>
+ <xsd:enumeration value="flat"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_LineWidth">
+ <xsd:restriction base="ST_Coordinate32Unqualified">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="20116800"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PenAlignment">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="in"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CompoundLine">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="sng"/>
+ <xsd:enumeration value="dbl"/>
+ <xsd:enumeration value="thickThin"/>
+ <xsd:enumeration value="thinThick"/>
+ <xsd:enumeration value="tri"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LineProperties">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_LineFillProperties"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_LineDashProperties"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_LineJoinProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="headEnd" type="CT_LineEndProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tailEnd" type="CT_LineEndProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="w" type="ST_LineWidth" use="optional"/>
+ <xsd:attribute name="cap" type="ST_LineCap" use="optional"/>
+ <xsd:attribute name="cmpd" type="ST_CompoundLine" use="optional"/>
+ <xsd:attribute name="algn" type="ST_PenAlignment" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ShapeID">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ShapeProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="xfrm" type="CT_Transform2D"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_Geometry"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_FillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ln" type="CT_LineProperties"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_EffectProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="scene3d" type="CT_Scene3D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sp3d" type="CT_Shape3D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="bwMode" type="ST_BlackWhiteMode" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupShapeProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="xfrm" type="CT_GroupTransform2D"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_FillProperties"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_EffectProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="scene3d" type="CT_Scene3D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="bwMode" type="ST_BlackWhiteMode" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StyleMatrixReference">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ <xsd:attribute name="idx" type="ST_StyleMatrixColumnIndex" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FontReference">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_ColorChoice"/>
+ </xsd:sequence>
+ <xsd:attribute name="idx" type="ST_FontCollectionIndex" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ShapeStyle">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lnRef" type="CT_StyleMatrixReference"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fillRef" type="CT_StyleMatrixReference"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="effectRef" type="CT_StyleMatrixReference"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fontRef" type="CT_FontReference"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DefaultShapeDefinition">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="spPr" type="CT_ShapeProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="bodyPr" type="CT_TextBodyProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lstStyle" type="CT_TextListStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="style" type="CT_ShapeStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ObjectStyleDefaults">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="spDef" type="CT_DefaultShapeDefinition"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lnDef" type="CT_DefaultShapeDefinition"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="txDef" type="CT_DefaultShapeDefinition"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EmptyElement"/>
+ <xsd:complexType name="CT_ColorMapping">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="bg1" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="tx1" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="bg2" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="tx2" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="accent1" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="accent2" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="accent3" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="accent4" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="accent5" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="accent6" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="hlink" type="ST_ColorSchemeIndex" use="required"/>
+ <xsd:attribute name="folHlink" type="ST_ColorSchemeIndex" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorMappingOverride">
+ <xsd:sequence>
+ <xsd:choice maxOccurs="1" minOccurs="1">
+ <xsd:element name="masterClrMapping" type="CT_EmptyElement"/>
+ <xsd:element name="overrideClrMapping" type="CT_ColorMapping"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorSchemeAndMapping">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="clrScheme" type="CT_ColorScheme"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="clrMap" type="CT_ColorMapping"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorSchemeList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="extraClrScheme" type="CT_ColorSchemeAndMapping"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OfficeStyleSheet">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="themeElements" type="CT_BaseStyles"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="objectDefaults" type="CT_ObjectStyleDefaults"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extraClrSchemeLst" type="CT_ColorSchemeList"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="custClrLst" type="CT_CustomColorList"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="" name="name" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BaseStylesOverride">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="clrScheme" type="CT_ColorScheme"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="fontScheme" type="CT_FontScheme"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="fmtScheme" type="CT_StyleMatrix"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ClipboardStyleSheet">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="themeElements" type="CT_BaseStyles"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="clrMap" type="CT_ColorMapping"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="theme" type="CT_OfficeStyleSheet"/>
+ <xsd:element name="themeOverride" type="CT_BaseStylesOverride"/>
+ <xsd:element name="themeManager" type="CT_EmptyElement"/>
+ <xsd:complexType name="CT_TableCellProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lnL" type="CT_LineProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lnR" type="CT_LineProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lnT" type="CT_LineProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lnB" type="CT_LineProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lnTlToBr" type="CT_LineProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lnBlToTr" type="CT_LineProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cell3D" type="CT_Cell3D"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_FillProperties"/>
+ <xsd:element minOccurs="0" name="headers" type="CT_Headers"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="91440" name="marL" type="ST_Coordinate32" use="optional"/>
+ <xsd:attribute default="91440" name="marR" type="ST_Coordinate32" use="optional"/>
+ <xsd:attribute default="45720" name="marT" type="ST_Coordinate32" use="optional"/>
+ <xsd:attribute default="45720" name="marB" type="ST_Coordinate32" use="optional"/>
+ <xsd:attribute default="horz" name="vert" type="ST_TextVerticalType" use="optional"/>
+ <xsd:attribute default="t" name="anchor" type="ST_TextAnchoringType" use="optional"/>
+ <xsd:attribute default="false" name="anchorCtr" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="clip" name="horzOverflow" type="ST_TextHorzOverflowType" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Headers">
+ <xsd:sequence maxOccurs="unbounded" minOccurs="0">
+ <xsd:element name="header" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableCol">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="w" type="ST_Coordinate" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableGrid">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="gridCol" type="CT_TableCol"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableCell">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="txBody" type="CT_TextBody"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcPr" type="CT_TableCellProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="1" name="rowSpan" type="xsd:int" use="optional"/>
+ <xsd:attribute default="1" name="gridSpan" type="xsd:int" use="optional"/>
+ <xsd:attribute default="false" name="hMerge" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="vMerge" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="id" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableRow">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="tc" type="CT_TableCell"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="h" type="ST_Coordinate" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableProperties">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_FillProperties"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_EffectProperties"/>
+ <xsd:choice maxOccurs="1" minOccurs="0">
+ <xsd:element name="tableStyle" type="CT_TableStyle"/>
+ <xsd:element name="tableStyleId" type="s:ST_Guid"/>
+ </xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="false" name="rtl" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="firstRow" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="firstCol" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="lastRow" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="lastCol" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="bandRow" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="bandCol" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Table">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblPr" type="CT_TableProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="tblGrid" type="CT_TableGrid"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="tr" type="CT_TableRow"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="tbl" type="CT_Table"/>
+ <xsd:complexType name="CT_Cell3D">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="bevel" type="CT_Bevel"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lightRig" type="CT_LightRig"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="plastic" name="prstMaterial" type="ST_PresetMaterialType" use="optional"/>
+ </xsd:complexType>
+ <xsd:group name="EG_ThemeableFillStyle">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fill" type="CT_FillProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fillRef" type="CT_StyleMatrixReference"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_ThemeableLineStyle">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="ln" type="CT_LineProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="lnRef" type="CT_StyleMatrixReference"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:group name="EG_ThemeableEffectStyle">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="effect" type="CT_EffectProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="effectRef" type="CT_StyleMatrixReference"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_ThemeableFontStyles">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="font" type="CT_FontCollection"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="fontRef" type="CT_FontReference"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:simpleType name="ST_OnOffStyleType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="on"/>
+ <xsd:enumeration value="off"/>
+ <xsd:enumeration value="def"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TableStyleTextStyle">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_ThemeableFontStyles"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_ColorChoice"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute default="def" name="b" type="ST_OnOffStyleType" use="optional"/>
+ <xsd:attribute default="def" name="i" type="ST_OnOffStyleType" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableCellBorderStyle">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="left" type="CT_ThemeableLineStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="right" type="CT_ThemeableLineStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="top" type="CT_ThemeableLineStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="bottom" type="CT_ThemeableLineStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="insideH" type="CT_ThemeableLineStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="insideV" type="CT_ThemeableLineStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tl2br" type="CT_ThemeableLineStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tr2bl" type="CT_ThemeableLineStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableBackgroundStyle">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_ThemeableFillStyle"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_ThemeableEffectStyle"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableStyleCellStyle">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcBdr" type="CT_TableCellBorderStyle"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_ThemeableFillStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cell3D" type="CT_Cell3D"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TablePartStyle">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcTxStyle" type="CT_TableStyleTextStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcStyle" type="CT_TableStyleCellStyle"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableStyle">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblBg" type="CT_TableBackgroundStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="wholeTbl" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="band1H" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="band2H" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="band1V" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="band2V" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lastCol" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="firstCol" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lastRow" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="seCell" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="swCell" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="firstRow" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="neCell" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="nwCell" type="CT_TablePartStyle"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="styleId" type="s:ST_Guid" use="required"/>
+ <xsd:attribute name="styleName" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableStyleList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="tblStyle" type="CT_TableStyle"/>
+ </xsd:sequence>
+ <xsd:attribute name="def" type="s:ST_Guid" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="tblStyleLst" type="CT_TableStyleList"/>
+ <xsd:complexType name="CT_TextParagraph">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="pPr" type="CT_TextParagraphProperties"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_TextRun"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="endParaRPr" type="CT_TextCharacterProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextAnchoringType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="just"/>
+ <xsd:enumeration value="dist"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextVertOverflowType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="overflow"/>
+ <xsd:enumeration value="ellipsis"/>
+ <xsd:enumeration value="clip"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextHorzOverflowType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="overflow"/>
+ <xsd:enumeration value="clip"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextVerticalType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="horz"/>
+ <xsd:enumeration value="vert"/>
+ <xsd:enumeration value="vert270"/>
+ <xsd:enumeration value="wordArtVert"/>
+ <xsd:enumeration value="eaVert"/>
+ <xsd:enumeration value="mongolianVert"/>
+ <xsd:enumeration value="wordArtVertRtl"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextWrappingType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="square"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextColumnCount">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="1"/>
+ <xsd:maxInclusive value="16"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextListStyle">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="defPPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lvl1pPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lvl2pPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lvl3pPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lvl4pPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lvl5pPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lvl6pPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lvl7pPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lvl8pPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lvl9pPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextFontScalePercentOrPercentString">
+ <xsd:union memberTypes="ST_TextFontScalePercent s:ST_Percentage"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextFontScalePercent">
+ <xsd:restriction base="ST_PercentageDecimal">
+ <xsd:minInclusive value="1000"/>
+ <xsd:maxInclusive value="100000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextNormalAutofit">
+ <xsd:attribute default="100%" name="fontScale" type="ST_TextFontScalePercentOrPercentString" use="optional"/>
+ <xsd:attribute default="0%" name="lnSpcReduction" type="ST_TextSpacingPercentOrPercentString" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextShapeAutofit"/>
+ <xsd:complexType name="CT_TextNoAutofit"/>
+ <xsd:group name="EG_TextAutofit">
+ <xsd:choice>
+ <xsd:element name="noAutofit" type="CT_TextNoAutofit"/>
+ <xsd:element name="normAutofit" type="CT_TextNormalAutofit"/>
+ <xsd:element name="spAutoFit" type="CT_TextShapeAutofit"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_TextBodyProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="prstTxWarp" type="CT_PresetTextShape"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_TextAutofit"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="scene3d" type="CT_Scene3D"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_Text3D"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="rot" type="ST_Angle" use="optional"/>
+ <xsd:attribute name="spcFirstLastPara" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="vertOverflow" type="ST_TextVertOverflowType" use="optional"/>
+ <xsd:attribute name="horzOverflow" type="ST_TextHorzOverflowType" use="optional"/>
+ <xsd:attribute name="vert" type="ST_TextVerticalType" use="optional"/>
+ <xsd:attribute name="wrap" type="ST_TextWrappingType" use="optional"/>
+ <xsd:attribute name="lIns" type="ST_Coordinate32" use="optional"/>
+ <xsd:attribute name="tIns" type="ST_Coordinate32" use="optional"/>
+ <xsd:attribute name="rIns" type="ST_Coordinate32" use="optional"/>
+ <xsd:attribute name="bIns" type="ST_Coordinate32" use="optional"/>
+ <xsd:attribute name="numCol" type="ST_TextColumnCount" use="optional"/>
+ <xsd:attribute name="spcCol" type="ST_PositiveCoordinate32" use="optional"/>
+ <xsd:attribute name="rtlCol" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="fromWordArt" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="anchor" type="ST_TextAnchoringType" use="optional"/>
+ <xsd:attribute name="anchorCtr" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="forceAA" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="upright" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="compatLnSpc" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextBody">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="bodyPr" type="CT_TextBodyProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lstStyle" type="CT_TextListStyle"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="1" name="p" type="CT_TextParagraph"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextBulletStartAtNum">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="1"/>
+ <xsd:maxInclusive value="32767"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextAutonumberScheme">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="alphaLcParenBoth"/>
+ <xsd:enumeration value="alphaUcParenBoth"/>
+ <xsd:enumeration value="alphaLcParenR"/>
+ <xsd:enumeration value="alphaUcParenR"/>
+ <xsd:enumeration value="alphaLcPeriod"/>
+ <xsd:enumeration value="alphaUcPeriod"/>
+ <xsd:enumeration value="arabicParenBoth"/>
+ <xsd:enumeration value="arabicParenR"/>
+ <xsd:enumeration value="arabicPeriod"/>
+ <xsd:enumeration value="arabicPlain"/>
+ <xsd:enumeration value="romanLcParenBoth"/>
+ <xsd:enumeration value="romanUcParenBoth"/>
+ <xsd:enumeration value="romanLcParenR"/>
+ <xsd:enumeration value="romanUcParenR"/>
+ <xsd:enumeration value="romanLcPeriod"/>
+ <xsd:enumeration value="romanUcPeriod"/>
+ <xsd:enumeration value="circleNumDbPlain"/>
+ <xsd:enumeration value="circleNumWdBlackPlain"/>
+ <xsd:enumeration value="circleNumWdWhitePlain"/>
+ <xsd:enumeration value="arabicDbPeriod"/>
+ <xsd:enumeration value="arabicDbPlain"/>
+ <xsd:enumeration value="ea1ChsPeriod"/>
+ <xsd:enumeration value="ea1ChsPlain"/>
+ <xsd:enumeration value="ea1ChtPeriod"/>
+ <xsd:enumeration value="ea1ChtPlain"/>
+ <xsd:enumeration value="ea1JpnChsDbPeriod"/>
+ <xsd:enumeration value="ea1JpnKorPlain"/>
+ <xsd:enumeration value="ea1JpnKorPeriod"/>
+ <xsd:enumeration value="arabic1Minus"/>
+ <xsd:enumeration value="arabic2Minus"/>
+ <xsd:enumeration value="hebrew2Minus"/>
+ <xsd:enumeration value="thaiAlphaPeriod"/>
+ <xsd:enumeration value="thaiAlphaParenR"/>
+ <xsd:enumeration value="thaiAlphaParenBoth"/>
+ <xsd:enumeration value="thaiNumPeriod"/>
+ <xsd:enumeration value="thaiNumParenR"/>
+ <xsd:enumeration value="thaiNumParenBoth"/>
+ <xsd:enumeration value="hindiAlphaPeriod"/>
+ <xsd:enumeration value="hindiNumPeriod"/>
+ <xsd:enumeration value="hindiNumParenR"/>
+ <xsd:enumeration value="hindiAlpha1Period"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextBulletColorFollowText"/>
+ <xsd:group name="EG_TextBulletColor">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="buClrTx" type="CT_TextBulletColorFollowText"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="buClr" type="CT_Color"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:simpleType name="ST_TextBulletSize">
+ <xsd:union memberTypes="ST_TextBulletSizePercent ST_TextBulletSizeDecimal"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextBulletSizePercent">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="0*((2[5-9])|([3-9][0-9])|([1-3][0-9][0-9])|400)%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextBulletSizeDecimal">
+ <xsd:restriction base="ST_PercentageDecimal">
+ <xsd:minInclusive value="25000"/>
+ <xsd:maxInclusive value="400000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextBulletSizeFollowText"/>
+ <xsd:complexType name="CT_TextBulletSizePercent">
+ <xsd:attribute name="val" type="ST_TextBulletSizePercent" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextBulletSizePoint">
+ <xsd:attribute name="val" type="ST_TextFontSize" use="required"/>
+ </xsd:complexType>
+ <xsd:group name="EG_TextBulletSize">
+ <xsd:choice>
+ <xsd:element name="buSzTx" type="CT_TextBulletSizeFollowText"/>
+ <xsd:element name="buSzPct" type="CT_TextBulletSizePercent"/>
+ <xsd:element name="buSzPts" type="CT_TextBulletSizePoint"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_TextBulletTypefaceFollowText"/>
+ <xsd:group name="EG_TextBulletTypeface">
+ <xsd:choice>
+ <xsd:element name="buFontTx" type="CT_TextBulletTypefaceFollowText"/>
+ <xsd:element name="buFont" type="CT_TextFont"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_TextAutonumberBullet">
+ <xsd:attribute name="type" type="ST_TextAutonumberScheme" use="required"/>
+ <xsd:attribute default="1" name="startAt" type="ST_TextBulletStartAtNum" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextCharBullet">
+ <xsd:attribute name="char" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextBlipBullet">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="blip" type="CT_Blip"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextNoBullet"/>
+ <xsd:group name="EG_TextBullet">
+ <xsd:choice>
+ <xsd:element name="buNone" type="CT_TextNoBullet"/>
+ <xsd:element name="buAutoNum" type="CT_TextAutonumberBullet"/>
+ <xsd:element name="buChar" type="CT_TextCharBullet"/>
+ <xsd:element name="buBlip" type="CT_TextBlipBullet"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:simpleType name="ST_TextPoint">
+ <xsd:union memberTypes="ST_TextPointUnqualified s:ST_UniversalMeasure"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextPointUnqualified">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="-400000"/>
+ <xsd:maxInclusive value="400000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextNonNegativePoint">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="400000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextFontSize">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="100"/>
+ <xsd:maxInclusive value="400000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextTypeface">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PitchFamily">
+ <xsd:restriction base="xsd:byte">
+ <xsd:enumeration value="00"/>
+ <xsd:enumeration value="01"/>
+ <xsd:enumeration value="02"/>
+ <xsd:enumeration value="16"/>
+ <xsd:enumeration value="17"/>
+ <xsd:enumeration value="18"/>
+ <xsd:enumeration value="32"/>
+ <xsd:enumeration value="33"/>
+ <xsd:enumeration value="34"/>
+ <xsd:enumeration value="48"/>
+ <xsd:enumeration value="49"/>
+ <xsd:enumeration value="50"/>
+ <xsd:enumeration value="64"/>
+ <xsd:enumeration value="65"/>
+ <xsd:enumeration value="66"/>
+ <xsd:enumeration value="80"/>
+ <xsd:enumeration value="81"/>
+ <xsd:enumeration value="82"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextFont">
+ <xsd:attribute name="typeface" type="ST_TextTypeface" use="required"/>
+ <xsd:attribute name="panose" type="s:ST_Panose" use="optional"/>
+ <xsd:attribute default="0" name="pitchFamily" type="ST_PitchFamily" use="optional"/>
+ <xsd:attribute default="1" name="charset" type="xsd:byte" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextUnderlineType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="words"/>
+ <xsd:enumeration value="sng"/>
+ <xsd:enumeration value="dbl"/>
+ <xsd:enumeration value="heavy"/>
+ <xsd:enumeration value="dotted"/>
+ <xsd:enumeration value="dottedHeavy"/>
+ <xsd:enumeration value="dash"/>
+ <xsd:enumeration value="dashHeavy"/>
+ <xsd:enumeration value="dashLong"/>
+ <xsd:enumeration value="dashLongHeavy"/>
+ <xsd:enumeration value="dotDash"/>
+ <xsd:enumeration value="dotDashHeavy"/>
+ <xsd:enumeration value="dotDotDash"/>
+ <xsd:enumeration value="dotDotDashHeavy"/>
+ <xsd:enumeration value="wavy"/>
+ <xsd:enumeration value="wavyHeavy"/>
+ <xsd:enumeration value="wavyDbl"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextUnderlineLineFollowText"/>
+ <xsd:complexType name="CT_TextUnderlineFillFollowText"/>
+ <xsd:complexType name="CT_TextUnderlineFillGroupWrapper">
+ <xsd:group maxOccurs="1" minOccurs="1" ref="EG_FillProperties"/>
+ </xsd:complexType>
+ <xsd:group name="EG_TextUnderlineLine">
+ <xsd:choice>
+ <xsd:element name="uLnTx" type="CT_TextUnderlineLineFollowText"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="uLn" type="CT_LineProperties"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_TextUnderlineFill">
+ <xsd:choice>
+ <xsd:element name="uFillTx" type="CT_TextUnderlineFillFollowText"/>
+ <xsd:element name="uFill" type="CT_TextUnderlineFillGroupWrapper"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:simpleType name="ST_TextStrikeType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="noStrike"/>
+ <xsd:enumeration value="sngStrike"/>
+ <xsd:enumeration value="dblStrike"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextCapsType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="small"/>
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextCharacterProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ln" type="CT_LineProperties"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_FillProperties"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_EffectProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="highlight" type="CT_Color"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_TextUnderlineLine"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_TextUnderlineFill"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="latin" type="CT_TextFont"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ea" type="CT_TextFont"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cs" type="CT_TextFont"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sym" type="CT_TextFont"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="hlinkClick" type="CT_Hyperlink"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="hlinkMouseOver" type="CT_Hyperlink"/>
+ <xsd:element minOccurs="0" name="rtl" type="CT_Boolean"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="kumimoji" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="lang" type="s:ST_Lang" use="optional"/>
+ <xsd:attribute name="altLang" type="s:ST_Lang" use="optional"/>
+ <xsd:attribute name="sz" type="ST_TextFontSize" use="optional"/>
+ <xsd:attribute name="b" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="i" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="u" type="ST_TextUnderlineType" use="optional"/>
+ <xsd:attribute name="strike" type="ST_TextStrikeType" use="optional"/>
+ <xsd:attribute name="kern" type="ST_TextNonNegativePoint" use="optional"/>
+ <xsd:attribute name="cap" type="ST_TextCapsType" use="optional"/>
+ <xsd:attribute name="spc" type="ST_TextPoint" use="optional"/>
+ <xsd:attribute name="normalizeH" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="baseline" type="ST_Percentage" use="optional"/>
+ <xsd:attribute name="noProof" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="true" name="dirty" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="false" name="err" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="true" name="smtClean" type="xsd:boolean" use="optional"/>
+ <xsd:attribute default="0" name="smtId" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="bmk" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Boolean">
+ <xsd:attribute default="0" name="val" type="s:ST_OnOff"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextSpacingPoint">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="158400"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextSpacingPercentOrPercentString">
+ <xsd:union memberTypes="ST_TextSpacingPercent s:ST_Percentage"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextSpacingPercent">
+ <xsd:restriction base="ST_PercentageDecimal">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="13200000"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextSpacingPercent">
+ <xsd:attribute name="val" type="ST_TextSpacingPercentOrPercentString" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextSpacingPoint">
+ <xsd:attribute name="val" type="ST_TextSpacingPoint" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextMargin">
+ <xsd:restriction base="ST_Coordinate32Unqualified">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="51206400"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextIndent">
+ <xsd:restriction base="ST_Coordinate32Unqualified">
+ <xsd:minInclusive value="-51206400"/>
+ <xsd:maxInclusive value="51206400"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextTabAlignType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="dec"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextTabStop">
+ <xsd:attribute name="pos" type="ST_Coordinate32" use="optional"/>
+ <xsd:attribute name="algn" type="ST_TextTabAlignType" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextTabStopList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="32" minOccurs="0" name="tab" type="CT_TextTabStop"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextLineBreak">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="rPr" type="CT_TextCharacterProperties"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextSpacing">
+ <xsd:choice>
+ <xsd:element name="spcPct" type="CT_TextSpacingPercent"/>
+ <xsd:element name="spcPts" type="CT_TextSpacingPoint"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextAlignType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="just"/>
+ <xsd:enumeration value="justLow"/>
+ <xsd:enumeration value="dist"/>
+ <xsd:enumeration value="thaiDist"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextFontAlignType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="ctr"/>
+ <xsd:enumeration value="base"/>
+ <xsd:enumeration value="b"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextIndentLevelType">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="8"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextParagraphProperties">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lnSpc" type="CT_TextSpacing"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="spcBef" type="CT_TextSpacing"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="spcAft" type="CT_TextSpacing"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_TextBulletColor"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_TextBulletSize"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_TextBulletTypeface"/>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_TextBullet"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tabLst" type="CT_TextTabStopList"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="defRPr" type="CT_TextCharacterProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="extLst" type="CT_OfficeArtExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="marL" type="ST_TextMargin" use="optional"/>
+ <xsd:attribute name="marR" type="ST_TextMargin" use="optional"/>
+ <xsd:attribute name="lvl" type="ST_TextIndentLevelType" use="optional"/>
+ <xsd:attribute name="indent" type="ST_TextIndent" use="optional"/>
+ <xsd:attribute name="algn" type="ST_TextAlignType" use="optional"/>
+ <xsd:attribute name="defTabSz" type="ST_Coordinate32" use="optional"/>
+ <xsd:attribute name="rtl" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="eaLnBrk" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="fontAlgn" type="ST_TextFontAlignType" use="optional"/>
+ <xsd:attribute name="latinLnBrk" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="hangingPunct" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextField">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="rPr" type="CT_TextCharacterProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="pPr" type="CT_TextParagraphProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="t" type="xsd:string"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="s:ST_Guid" use="required"/>
+ <xsd:attribute name="type" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:group name="EG_TextRun">
+ <xsd:choice>
+ <xsd:element name="r" type="CT_RegularTextRun"/>
+ <xsd:element name="br" type="CT_TextLineBreak"/>
+ <xsd:element name="fld" type="CT_TextField"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_RegularTextRun">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="rPr" type="CT_TextCharacterProperties"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="t" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-picture.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-picture.xsd
new file mode 100644
index 0000000..1dbf051
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-picture.xsd
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/drawingml/2006/picture"
+ xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" elementFormDefault="qualified"
+ targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/picture">
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
+ schemaLocation="dml-main.xsd"/>
+ <xsd:complexType name="CT_PictureNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Picture">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="pic" type="CT_Picture"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-spreadsheetDrawing.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-spreadsheetDrawing.xsd
new file mode 100644
index 0000000..f1af17d
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-spreadsheetDrawing.xsd
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+ xmlns="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"
+ elementFormDefault="qualified">
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
+ schemaLocation="dml-main.xsd"/>
+ <xsd:import schemaLocation="shared-relationshipReference.xsd"
+ namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"/>
+ <xsd:element name="from" type="CT_Marker"/>
+ <xsd:element name="to" type="CT_Marker"/>
+ <xsd:complexType name="CT_AnchorClientData">
+ <xsd:attribute name="fLocksWithSheet" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="fPrintsWithSheet" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ShapeNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1" maxOccurs="1"
+ />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Shape">
+ <xsd:sequence>
+ <xsd:element name="nvSpPr" type="CT_ShapeNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txBody" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="macro" type="xsd:string" use="optional"/>
+ <xsd:attribute name="textlink" type="xsd:string" use="optional"/>
+ <xsd:attribute name="fLocksText" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ConnectorNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvCxnSpPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Connector">
+ <xsd:sequence>
+ <xsd:element name="nvCxnSpPr" type="CT_ConnectorNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="macro" type="xsd:string" use="optional"/>
+ <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PictureNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Picture">
+ <xsd:sequence>
+ <xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="macro" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GraphicalObjectFrameNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties"
+ minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GraphicalObjectFrame">
+ <xsd:sequence>
+ <xsd:element name="nvGraphicFramePr" type="CT_GraphicalObjectFrameNonVisual" minOccurs="1"
+ maxOccurs="1"/>
+ <xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/>
+ <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="macro" type="xsd:string" use="optional"/>
+ <xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupShapeNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupShape">
+ <xsd:sequence>
+ <xsd:element name="nvGrpSpPr" type="CT_GroupShapeNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="sp" type="CT_Shape"/>
+ <xsd:element name="grpSp" type="CT_GroupShape"/>
+ <xsd:element name="graphicFrame" type="CT_GraphicalObjectFrame"/>
+ <xsd:element name="cxnSp" type="CT_Connector"/>
+ <xsd:element name="pic" type="CT_Picture"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_ObjectChoices">
+ <xsd:sequence>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="sp" type="CT_Shape"/>
+ <xsd:element name="grpSp" type="CT_GroupShape"/>
+ <xsd:element name="graphicFrame" type="CT_GraphicalObjectFrame"/>
+ <xsd:element name="cxnSp" type="CT_Connector"/>
+ <xsd:element name="pic" type="CT_Picture"/>
+ <xsd:element name="contentPart" type="CT_Rel"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_Rel">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ColID">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="0"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_RowID">
+ <xsd:restriction base="xsd:int">
+ <xsd:minInclusive value="0"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Marker">
+ <xsd:sequence>
+ <xsd:element name="col" type="ST_ColID"/>
+ <xsd:element name="colOff" type="a:ST_Coordinate"/>
+ <xsd:element name="row" type="ST_RowID"/>
+ <xsd:element name="rowOff" type="a:ST_Coordinate"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_EditAs">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="twoCell"/>
+ <xsd:enumeration value="oneCell"/>
+ <xsd:enumeration value="absolute"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TwoCellAnchor">
+ <xsd:sequence>
+ <xsd:element name="from" type="CT_Marker"/>
+ <xsd:element name="to" type="CT_Marker"/>
+ <xsd:group ref="EG_ObjectChoices"/>
+ <xsd:element name="clientData" type="CT_AnchorClientData" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="editAs" type="ST_EditAs" use="optional" default="twoCell"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OneCellAnchor">
+ <xsd:sequence>
+ <xsd:element name="from" type="CT_Marker"/>
+ <xsd:element name="ext" type="a:CT_PositiveSize2D"/>
+ <xsd:group ref="EG_ObjectChoices"/>
+ <xsd:element name="clientData" type="CT_AnchorClientData" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AbsoluteAnchor">
+ <xsd:sequence>
+ <xsd:element name="pos" type="a:CT_Point2D"/>
+ <xsd:element name="ext" type="a:CT_PositiveSize2D"/>
+ <xsd:group ref="EG_ObjectChoices"/>
+ <xsd:element name="clientData" type="CT_AnchorClientData" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_Anchor">
+ <xsd:choice>
+ <xsd:element name="twoCellAnchor" type="CT_TwoCellAnchor"/>
+ <xsd:element name="oneCellAnchor" type="CT_OneCellAnchor"/>
+ <xsd:element name="absoluteAnchor" type="CT_AbsoluteAnchor"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_Drawing">
+ <xsd:sequence>
+ <xsd:group ref="EG_Anchor" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="wsDr" type="CT_Drawing"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-wordprocessingDrawing.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-wordprocessingDrawing.xsd
new file mode 100644
index 0000000..0a185ab
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/dml-wordprocessingDrawing.xsd
@@ -0,0 +1,287 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+ xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+ xmlns:dpct="http://schemas.openxmlformats.org/drawingml/2006/picture"
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ xmlns="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
+ targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
+ elementFormDefault="qualified">
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
+ schemaLocation="dml-main.xsd"/>
+ <xsd:import schemaLocation="wml.xsd"
+ namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/picture"
+ schemaLocation="dml-picture.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ schemaLocation="shared-relationshipReference.xsd"/>
+ <xsd:complexType name="CT_EffectExtent">
+ <xsd:attribute name="l" type="a:ST_Coordinate" use="required"/>
+ <xsd:attribute name="t" type="a:ST_Coordinate" use="required"/>
+ <xsd:attribute name="r" type="a:ST_Coordinate" use="required"/>
+ <xsd:attribute name="b" type="a:ST_Coordinate" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_WrapDistance">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Inline">
+ <xsd:sequence>
+ <xsd:element name="extent" type="a:CT_PositiveSize2D"/>
+ <xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/>
+ <xsd:element name="docPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties"
+ minOccurs="0" maxOccurs="1"/>
+ <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_WrapText">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="bothSides"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="largest"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_WrapPath">
+ <xsd:sequence>
+ <xsd:element name="start" type="a:CT_Point2D" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="lineTo" type="a:CT_Point2D" minOccurs="2" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="edited" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WrapNone"/>
+ <xsd:complexType name="CT_WrapSquare">
+ <xsd:sequence>
+ <xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="wrapText" type="ST_WrapText" use="required"/>
+ <xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WrapTight">
+ <xsd:sequence>
+ <xsd:element name="wrapPolygon" type="CT_WrapPath" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="wrapText" type="ST_WrapText" use="required"/>
+ <xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WrapThrough">
+ <xsd:sequence>
+ <xsd:element name="wrapPolygon" type="CT_WrapPath" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="wrapText" type="ST_WrapText" use="required"/>
+ <xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WrapTopBottom">
+ <xsd:sequence>
+ <xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/>
+ </xsd:complexType>
+ <xsd:group name="EG_WrapType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="wrapNone" type="CT_WrapNone" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="wrapSquare" type="CT_WrapSquare" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="wrapTight" type="CT_WrapTight" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="wrapThrough" type="CT_WrapThrough" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="wrapTopAndBottom" type="CT_WrapTopBottom" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:simpleType name="ST_PositionOffset">
+ <xsd:restriction base="xsd:int"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AlignH">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="inside"/>
+ <xsd:enumeration value="outside"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_RelFromH">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="margin"/>
+ <xsd:enumeration value="page"/>
+ <xsd:enumeration value="column"/>
+ <xsd:enumeration value="character"/>
+ <xsd:enumeration value="leftMargin"/>
+ <xsd:enumeration value="rightMargin"/>
+ <xsd:enumeration value="insideMargin"/>
+ <xsd:enumeration value="outsideMargin"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PosH">
+ <xsd:sequence>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="align" type="ST_AlignH" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="posOffset" type="ST_PositionOffset" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="relativeFrom" type="ST_RelFromH" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_AlignV">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="top"/>
+ <xsd:enumeration value="bottom"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="inside"/>
+ <xsd:enumeration value="outside"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_RelFromV">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="margin"/>
+ <xsd:enumeration value="page"/>
+ <xsd:enumeration value="paragraph"/>
+ <xsd:enumeration value="line"/>
+ <xsd:enumeration value="topMargin"/>
+ <xsd:enumeration value="bottomMargin"/>
+ <xsd:enumeration value="insideMargin"/>
+ <xsd:enumeration value="outsideMargin"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PosV">
+ <xsd:sequence>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="align" type="ST_AlignV" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="posOffset" type="ST_PositionOffset" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="relativeFrom" type="ST_RelFromV" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Anchor">
+ <xsd:sequence>
+ <xsd:element name="simplePos" type="a:CT_Point2D"/>
+ <xsd:element name="positionH" type="CT_PosH"/>
+ <xsd:element name="positionV" type="CT_PosV"/>
+ <xsd:element name="extent" type="a:CT_PositiveSize2D"/>
+ <xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/>
+ <xsd:group ref="EG_WrapType"/>
+ <xsd:element name="docPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties"
+ minOccurs="0" maxOccurs="1"/>
+ <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/>
+ <xsd:attribute name="simplePos" type="xsd:boolean"/>
+ <xsd:attribute name="relativeHeight" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="behindDoc" type="xsd:boolean" use="required"/>
+ <xsd:attribute name="locked" type="xsd:boolean" use="required"/>
+ <xsd:attribute name="layoutInCell" type="xsd:boolean" use="required"/>
+ <xsd:attribute name="hidden" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="allowOverlap" type="xsd:boolean" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TxbxContent">
+ <xsd:group ref="w:EG_BlockLevelElts" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextboxInfo">
+ <xsd:sequence>
+ <xsd:element name="txbxContent" type="CT_TxbxContent" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:unsignedShort" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LinkedTextboxInformation">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:unsignedShort" use="required"/>
+ <xsd:attribute name="seq" type="xsd:unsignedShort" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WordprocessingShape">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="0" maxOccurs="1"/>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1"
+ maxOccurs="1"/>
+ <xsd:element name="cNvCnPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="txbx" type="CT_TextboxInfo" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="linkedTxbx" type="CT_LinkedTextboxInformation" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:element name="bodyPr" type="a:CT_TextBodyProperties" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="normalEastAsianFlow" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GraphicFrame">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvFrPr" type="a:CT_NonVisualGraphicFrameProperties" minOccurs="1"
+ maxOccurs="1"/>
+ <xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/>
+ <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WordprocessingContentPartNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cNvContentPartPr" type="a:CT_NonVisualContentPartProperties" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WordprocessingContentPart">
+ <xsd:sequence>
+ <xsd:element name="nvContentPartPr" type="CT_WordprocessingContentPartNonVisual" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="bwMode" type="a:ST_BlackWhiteMode" use="optional"/>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WordprocessingGroup">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1"
+ maxOccurs="1"/>
+ <xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="wsp"/>
+ <xsd:element name="grpSp" type="CT_WordprocessingGroup"/>
+ <xsd:element name="graphicFrame" type="CT_GraphicFrame"/>
+ <xsd:element ref="dpct:pic"/>
+ <xsd:element name="contentPart" type="CT_WordprocessingContentPart"/>
+ </xsd:choice>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WordprocessingCanvas">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="bg" type="a:CT_BackgroundFormatting" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="whole" type="a:CT_WholeE2oFormatting" minOccurs="0" maxOccurs="1"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="wsp"/>
+ <xsd:element ref="dpct:pic"/>
+ <xsd:element name="contentPart" type="CT_WordprocessingContentPart"/>
+ <xsd:element ref="wgp"/>
+ <xsd:element name="graphicFrame" type="CT_GraphicFrame"/>
+ </xsd:choice>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="wpc" type="CT_WordprocessingCanvas"/>
+ <xsd:element name="wgp" type="CT_WordprocessingGroup"/>
+ <xsd:element name="wsp" type="CT_WordprocessingShape"/>
+ <xsd:element name="inline" type="CT_Inline"/>
+ <xsd:element name="anchor" type="CT_Anchor"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/mce.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/mce.xsd
new file mode 100644
index 0000000..a86cfce
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/mce.xsd
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ attributeFormDefault="unqualified" elementFormDefault="qualified"
+ targetNamespace="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" jaxb:version="2.1">
+
+ <!-- This XSD has 2 objectives:
+
+ 1. round tripping @mc:Ignorable
+
+ <w:document
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+ mc:Ignorable="w14 w15 wp14">
+ 2. enabling AlternateContent to be manipulated in certain elements
+ (in the unusual case where the content model is xsd:any, it doesn't have to be explicitly added)
+
+ See further ECMA-376, 4th Edition, Office Open XML File Formats
+ Part 3 : Markup Compatibility and Extensibility
+
+
+ \Java\jaxb-ri-2.2.6\bin\xjc.bat markup-compatibility-2006-MINIMAL.xsd -d temp -no-header -target 2.0
+ -->
+
+ <xsd:annotation>
+ <xsd:appinfo>
+ <xsd:appinfo>
+ <jaxb:globalBindings>
+ </jaxb:globalBindings>
+ </xsd:appinfo>
+ <jaxb:schemaBindings>
+ <jaxb:package name="org.docx4j.mce"/>
+ </jaxb:schemaBindings>
+ </xsd:appinfo>
+ </xsd:annotation>
+
+ <!-- Objective 1 -->
+ <xsd:attribute name="Ignorable" type="xsd:string" />
+
+
+ <!-- Objective 2 -->
+
+ <xsd:attribute name="MustUnderstand" type="xsd:string" />
+ <xsd:attribute name="ProcessContent" type="xsd:string" />
+
+
+ <!-- An AlternateContent element shall contain one or more Choice child elements, optionally followed by a
+Fallback child element. If present, there shall be only one Fallback element, and it shall follow all Choice
+elements. -->
+ <xsd:element name="AlternateContent">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="Choice" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any minOccurs="0" maxOccurs="unbounded"
+ processContents="strict">
+ </xsd:any>
+ </xsd:sequence>
+ <xsd:attribute name="Requires" type="xsd:string" use="required" />
+ <xsd:attribute ref="mc:Ignorable" use="optional" />
+ <xsd:attribute ref="mc:MustUnderstand" use="optional" />
+ <xsd:attribute ref="mc:ProcessContent" use="optional" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Fallback" minOccurs="0" maxOccurs="1">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any minOccurs="0" maxOccurs="unbounded"
+ processContents="strict">
+ </xsd:any>
+ </xsd:sequence>
+ <xsd:attribute ref="mc:Ignorable" use="optional" />
+ <xsd:attribute ref="mc:MustUnderstand" use="optional" />
+ <xsd:attribute ref="mc:ProcessContent" use="optional" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <!-- AlternateContent elements might include the attributes Ignorable,
+ MustUnderstand and ProcessContent described in this Part of ECMA-376. These
+ attributes’ qualified names shall be prefixed when associated with an AlternateContent
+ element. -->
+ <xsd:attribute ref="mc:Ignorable" use="optional" />
+ <xsd:attribute ref="mc:MustUnderstand" use="optional" />
+ <xsd:attribute ref="mc:ProcessContent" use="optional" />
+ </xsd:complexType>
+ </xsd:element>
+
+
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-contentTypes.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-contentTypes.xsd
new file mode 100644
index 0000000..a6de9d2
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-contentTypes.xsd
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xs:schema xmlns="http://schemas.openxmlformats.org/package/2006/content-types"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://schemas.openxmlformats.org/package/2006/content-types"
+ elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all">
+
+ <xs:element name="Types" type="CT_Types"/>
+ <xs:element name="Default" type="CT_Default"/>
+ <xs:element name="Override" type="CT_Override"/>
+
+ <xs:complexType name="CT_Types">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="Default"/>
+ <xs:element ref="Override"/>
+ </xs:choice>
+ </xs:complexType>
+
+ <xs:complexType name="CT_Default">
+ <xs:attribute name="Extension" type="ST_Extension" use="required"/>
+ <xs:attribute name="ContentType" type="ST_ContentType" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="CT_Override">
+ <xs:attribute name="ContentType" type="ST_ContentType" use="required"/>
+ <xs:attribute name="PartName" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+
+ <xs:simpleType name="ST_ContentType">
+ <xs:restriction base="xs:string">
+ <xs:pattern
+ value="(((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)"
+ />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="ST_Extension">
+ <xs:restriction base="xs:string">
+ <xs:pattern
+ value="([!$&'\(\)\*\+,:=]|(%[0-9a-fA-F][0-9a-fA-F])|[:@]|[a-zA-Z0-9\-_~])+"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-coreProperties.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-coreProperties.xsd
new file mode 100644
index 0000000..10e978b
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-coreProperties.xsd
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
+ xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:dcterms="http://purl.org/dc/terms/" elementFormDefault="qualified" blockDefault="#all">
+
+ <xs:import namespace="http://purl.org/dc/elements/1.1/"
+ schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd"/>
+ <xs:import namespace="http://purl.org/dc/terms/"
+ schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd"/>
+ <xs:import id="xml" namespace="http://www.w3.org/XML/1998/namespace"/>
+
+ <xs:element name="coreProperties" type="CT_CoreProperties"/>
+
+ <xs:complexType name="CT_CoreProperties">
+ <xs:all>
+ <xs:element name="category" minOccurs="0" maxOccurs="1" type="xs:string"/>
+ <xs:element name="contentStatus" minOccurs="0" maxOccurs="1" type="xs:string"/>
+ <xs:element ref="dcterms:created" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="dc:creator" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="dc:description" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="dc:identifier" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="keywords" minOccurs="0" maxOccurs="1" type="CT_Keywords"/>
+ <xs:element ref="dc:language" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="lastModifiedBy" minOccurs="0" maxOccurs="1" type="xs:string"/>
+ <xs:element name="lastPrinted" minOccurs="0" maxOccurs="1" type="xs:dateTime"/>
+ <xs:element ref="dcterms:modified" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="revision" minOccurs="0" maxOccurs="1" type="xs:string"/>
+ <xs:element ref="dc:subject" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="dc:title" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="version" minOccurs="0" maxOccurs="1" type="xs:string"/>
+ </xs:all>
+ </xs:complexType>
+
+ <xs:complexType name="CT_Keywords" mixed="true">
+ <xs:sequence>
+ <xs:element name="value" minOccurs="0" maxOccurs="unbounded" type="CT_Keyword"/>
+ </xs:sequence>
+ <xs:attribute ref="xml:lang" use="optional"/>
+ </xs:complexType>
+
+ <xs:complexType name="CT_Keyword">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute ref="xml:lang" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-digSig.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-digSig.xsd
new file mode 100644
index 0000000..4248bf7
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-digSig.xsd
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://schemas.openxmlformats.org/package/2006/digital-signature"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://schemas.openxmlformats.org/package/2006/digital-signature"
+ elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all">
+
+ <xsd:element name="SignatureTime" type="CT_SignatureTime"/>
+ <xsd:element name="RelationshipReference" type="CT_RelationshipReference"/>
+ <xsd:element name="RelationshipsGroupReference" type="CT_RelationshipsGroupReference"/>
+
+ <xsd:complexType name="CT_SignatureTime">
+ <xsd:sequence>
+ <xsd:element name="Format" type="ST_Format"/>
+ <xsd:element name="Value" type="ST_Value"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="CT_RelationshipReference">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="SourceId" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="CT_RelationshipsGroupReference">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="SourceType" type="xsd:anyURI" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="ST_Format">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern
+ value="(YYYY)|(YYYY-MM)|(YYYY-MM-DD)|(YYYY-MM-DDThh:mmTZD)|(YYYY-MM-DDThh:mm:ssTZD)|(YYYY-MM-DDThh:mm:ss.sTZD)"
+ />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="ST_Value">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern
+ value="(([0-9][0-9][0-9][0-9]))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2))))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1))))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1)))T((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9]))(((\+|-)((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])))|Z))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1)))T((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9]))(((\+|-)((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])))|Z))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1)))T((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])):(((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9]))\.[0-9])(((\+|-)((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])))|Z))"
+ />
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-relationships.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-relationships.xsd
new file mode 100644
index 0000000..5649746
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/opc-relationships.xsd
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xsd:schema xmlns="http://schemas.openxmlformats.org/package/2006/relationships"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://schemas.openxmlformats.org/package/2006/relationships"
+ elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all">
+
+ <xsd:element name="Relationships" type="CT_Relationships"/>
+ <xsd:element name="Relationship" type="CT_Relationship"/>
+
+ <xsd:complexType name="CT_Relationships">
+ <xsd:sequence>
+ <xsd:element ref="Relationship" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="CT_Relationship">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="TargetMode" type="ST_TargetMode" use="optional"/>
+ <xsd:attribute name="Target" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="Type" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="Id" type="xsd:ID" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="ST_TargetMode">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="External"/>
+ <xsd:enumeration value="Internal"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/pml.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/pml.xsd
new file mode 100644
index 0000000..ac19a06
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/pml.xsd
@@ -0,0 +1,1676 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/presentationml/2006/main"
+ xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"
+ xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ elementFormDefault="qualified"
+ targetNamespace="http://schemas.openxmlformats.org/presentationml/2006/main">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ schemaLocation="shared-relationshipReference.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
+ schemaLocation="dml-main.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:simpleType name="ST_TransitionSideDirectionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="l"/>
+ <xsd:enumeration value="u"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="d"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TransitionCornerDirectionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="lu"/>
+ <xsd:enumeration value="ru"/>
+ <xsd:enumeration value="ld"/>
+ <xsd:enumeration value="rd"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TransitionInOutDirectionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="out"/>
+ <xsd:enumeration value="in"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SideDirectionTransition">
+ <xsd:attribute name="dir" type="ST_TransitionSideDirectionType" use="optional" default="l"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CornerDirectionTransition">
+ <xsd:attribute name="dir" type="ST_TransitionCornerDirectionType" use="optional" default="lu"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TransitionEightDirectionType">
+ <xsd:union memberTypes="ST_TransitionSideDirectionType ST_TransitionCornerDirectionType"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_EightDirectionTransition">
+ <xsd:attribute name="dir" type="ST_TransitionEightDirectionType" use="optional" default="l"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OrientationTransition">
+ <xsd:attribute name="dir" type="ST_Direction" use="optional" default="horz"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_InOutTransition">
+ <xsd:attribute name="dir" type="ST_TransitionInOutDirectionType" use="optional" default="out"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OptionalBlackTransition">
+ <xsd:attribute name="thruBlk" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SplitTransition">
+ <xsd:attribute name="orient" type="ST_Direction" use="optional" default="horz"/>
+ <xsd:attribute name="dir" type="ST_TransitionInOutDirectionType" use="optional" default="out"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WheelTransition">
+ <xsd:attribute name="spokes" type="xsd:unsignedInt" use="optional" default="4"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TransitionStartSoundAction">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" maxOccurs="1" name="snd" type="a:CT_EmbeddedWAVAudioFile"/>
+ </xsd:sequence>
+ <xsd:attribute name="loop" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TransitionSoundAction">
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="stSnd" type="CT_TransitionStartSoundAction"/>
+ <xsd:element name="endSnd" type="CT_Empty"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TransitionSpeed">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="slow"/>
+ <xsd:enumeration value="med"/>
+ <xsd:enumeration value="fast"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SlideTransition">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="blinds" type="CT_OrientationTransition"/>
+ <xsd:element name="checker" type="CT_OrientationTransition"/>
+ <xsd:element name="circle" type="CT_Empty"/>
+ <xsd:element name="dissolve" type="CT_Empty"/>
+ <xsd:element name="comb" type="CT_OrientationTransition"/>
+ <xsd:element name="cover" type="CT_EightDirectionTransition"/>
+ <xsd:element name="cut" type="CT_OptionalBlackTransition"/>
+ <xsd:element name="diamond" type="CT_Empty"/>
+ <xsd:element name="fade" type="CT_OptionalBlackTransition"/>
+ <xsd:element name="newsflash" type="CT_Empty"/>
+ <xsd:element name="plus" type="CT_Empty"/>
+ <xsd:element name="pull" type="CT_EightDirectionTransition"/>
+ <xsd:element name="push" type="CT_SideDirectionTransition"/>
+ <xsd:element name="random" type="CT_Empty"/>
+ <xsd:element name="randomBar" type="CT_OrientationTransition"/>
+ <xsd:element name="split" type="CT_SplitTransition"/>
+ <xsd:element name="strips" type="CT_CornerDirectionTransition"/>
+ <xsd:element name="wedge" type="CT_Empty"/>
+ <xsd:element name="wheel" type="CT_WheelTransition"/>
+ <xsd:element name="wipe" type="CT_SideDirectionTransition"/>
+ <xsd:element name="zoom" type="CT_InOutTransition"/>
+ </xsd:choice>
+ <xsd:element name="sndAc" minOccurs="0" maxOccurs="1" type="CT_TransitionSoundAction"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="spd" type="ST_TransitionSpeed" use="optional" default="fast"/>
+ <xsd:attribute name="advClick" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="advTm" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLTimeIndefinite">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="indefinite"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLTime">
+ <xsd:union memberTypes="xsd:unsignedInt ST_TLTimeIndefinite"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLTimeNodeID">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLIterateIntervalTime">
+ <xsd:attribute name="val" type="ST_TLTime" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLIterateIntervalPercentage">
+ <xsd:attribute name="val" type="a:ST_PositivePercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_IterateType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="el"/>
+ <xsd:enumeration value="wd"/>
+ <xsd:enumeration value="lt"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLIterateData">
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="tmAbs" type="CT_TLIterateIntervalTime"/>
+ <xsd:element name="tmPct" type="CT_TLIterateIntervalPercentage"/>
+ </xsd:choice>
+ <xsd:attribute name="type" type="ST_IterateType" use="optional" default="el"/>
+ <xsd:attribute name="backwards" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLSubShapeId">
+ <xsd:attribute name="spid" type="a:ST_ShapeID" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLTextTargetElement">
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="charRg" type="CT_IndexRange"/>
+ <xsd:element name="pRg" type="CT_IndexRange"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLChartSubelementType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="gridLegend"/>
+ <xsd:enumeration value="series"/>
+ <xsd:enumeration value="category"/>
+ <xsd:enumeration value="ptInSeries"/>
+ <xsd:enumeration value="ptInCategory"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLOleChartTargetElement">
+ <xsd:attribute name="type" type="ST_TLChartSubelementType" use="required"/>
+ <xsd:attribute name="lvl" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLShapeTargetElement">
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="bg" type="CT_Empty"/>
+ <xsd:element name="subSp" type="CT_TLSubShapeId"/>
+ <xsd:element name="oleChartEl" type="CT_TLOleChartTargetElement"/>
+ <xsd:element name="txEl" type="CT_TLTextTargetElement"/>
+ <xsd:element name="graphicEl" type="a:CT_AnimationElementChoice"/>
+ </xsd:choice>
+ <xsd:attribute name="spid" type="a:ST_DrawingElementId" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLTimeTargetElement">
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="sldTgt" type="CT_Empty"/>
+ <xsd:element name="sndTgt" type="a:CT_EmbeddedWAVAudioFile"/>
+ <xsd:element name="spTgt" type="CT_TLShapeTargetElement"/>
+ <xsd:element name="inkTgt" type="CT_TLSubShapeId"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLTriggerTimeNodeID">
+ <xsd:attribute name="val" type="ST_TLTimeNodeID" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLTriggerRuntimeNode">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="first"/>
+ <xsd:enumeration value="last"/>
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLTriggerRuntimeNode">
+ <xsd:attribute name="val" type="ST_TLTriggerRuntimeNode" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLTriggerEvent">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="onBegin"/>
+ <xsd:enumeration value="onEnd"/>
+ <xsd:enumeration value="begin"/>
+ <xsd:enumeration value="end"/>
+ <xsd:enumeration value="onClick"/>
+ <xsd:enumeration value="onDblClick"/>
+ <xsd:enumeration value="onMouseOver"/>
+ <xsd:enumeration value="onMouseOut"/>
+ <xsd:enumeration value="onNext"/>
+ <xsd:enumeration value="onPrev"/>
+ <xsd:enumeration value="onStopAudio"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLTimeCondition">
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="tgtEl" type="CT_TLTimeTargetElement"/>
+ <xsd:element name="tn" type="CT_TLTriggerTimeNodeID"/>
+ <xsd:element name="rtn" type="CT_TLTriggerRuntimeNode"/>
+ </xsd:choice>
+ <xsd:attribute name="evt" use="optional" type="ST_TLTriggerEvent"/>
+ <xsd:attribute name="delay" type="ST_TLTime" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLTimeConditionList">
+ <xsd:sequence>
+ <xsd:element name="cond" type="CT_TLTimeCondition" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TimeNodeList">
+ <xsd:choice minOccurs="1" maxOccurs="unbounded">
+ <xsd:element name="par" type="CT_TLTimeNodeParallel"/>
+ <xsd:element name="seq" type="CT_TLTimeNodeSequence"/>
+ <xsd:element name="excl" type="CT_TLTimeNodeExclusive"/>
+ <xsd:element name="anim" type="CT_TLAnimateBehavior"/>
+ <xsd:element name="animClr" type="CT_TLAnimateColorBehavior"/>
+ <xsd:element name="animEffect" type="CT_TLAnimateEffectBehavior"/>
+ <xsd:element name="animMotion" type="CT_TLAnimateMotionBehavior"/>
+ <xsd:element name="animRot" type="CT_TLAnimateRotationBehavior"/>
+ <xsd:element name="animScale" type="CT_TLAnimateScaleBehavior"/>
+ <xsd:element name="cmd" type="CT_TLCommandBehavior"/>
+ <xsd:element name="set" type="CT_TLSetBehavior"/>
+ <xsd:element name="audio" type="CT_TLMediaNodeAudio"/>
+ <xsd:element name="video" type="CT_TLMediaNodeVideo"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLTimeNodePresetClassType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="entr"/>
+ <xsd:enumeration value="exit"/>
+ <xsd:enumeration value="emph"/>
+ <xsd:enumeration value="path"/>
+ <xsd:enumeration value="verb"/>
+ <xsd:enumeration value="mediacall"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLTimeNodeRestartType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="always"/>
+ <xsd:enumeration value="whenNotActive"/>
+ <xsd:enumeration value="never"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLTimeNodeFillType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="remove"/>
+ <xsd:enumeration value="freeze"/>
+ <xsd:enumeration value="hold"/>
+ <xsd:enumeration value="transition"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLTimeNodeSyncType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="canSlip"/>
+ <xsd:enumeration value="locked"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLTimeNodeMasterRelation">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="sameClick"/>
+ <xsd:enumeration value="lastClick"/>
+ <xsd:enumeration value="nextClick"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLTimeNodeType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="clickEffect"/>
+ <xsd:enumeration value="withEffect"/>
+ <xsd:enumeration value="afterEffect"/>
+ <xsd:enumeration value="mainSeq"/>
+ <xsd:enumeration value="interactiveSeq"/>
+ <xsd:enumeration value="clickPar"/>
+ <xsd:enumeration value="withGroup"/>
+ <xsd:enumeration value="afterGroup"/>
+ <xsd:enumeration value="tmRoot"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLCommonTimeNodeData">
+ <xsd:sequence>
+ <xsd:element name="stCondLst" type="CT_TLTimeConditionList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="endCondLst" type="CT_TLTimeConditionList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="endSync" type="CT_TLTimeCondition" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="iterate" type="CT_TLIterateData" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="childTnLst" type="CT_TimeNodeList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="subTnLst" type="CT_TimeNodeList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="ST_TLTimeNodeID" use="optional"/>
+ <xsd:attribute name="presetID" type="xsd:int" use="optional"/>
+ <xsd:attribute name="presetClass" type="ST_TLTimeNodePresetClassType" use="optional"/>
+ <xsd:attribute name="presetSubtype" type="xsd:int" use="optional"/>
+ <xsd:attribute name="dur" type="ST_TLTime" use="optional"/>
+ <xsd:attribute name="repeatCount" type="ST_TLTime" use="optional" default="1000"/>
+ <xsd:attribute name="repeatDur" type="ST_TLTime" use="optional"/>
+ <xsd:attribute name="spd" type="a:ST_Percentage" use="optional" default="100%"/>
+ <xsd:attribute name="accel" type="a:ST_PositiveFixedPercentage" use="optional" default="0%"/>
+ <xsd:attribute name="decel" type="a:ST_PositiveFixedPercentage" use="optional" default="0%"/>
+ <xsd:attribute name="autoRev" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="restart" type="ST_TLTimeNodeRestartType" use="optional"/>
+ <xsd:attribute name="fill" type="ST_TLTimeNodeFillType" use="optional"/>
+ <xsd:attribute name="syncBehavior" type="ST_TLTimeNodeSyncType" use="optional"/>
+ <xsd:attribute name="tmFilter" type="xsd:string" use="optional"/>
+ <xsd:attribute name="evtFilter" type="xsd:string" use="optional"/>
+ <xsd:attribute name="display" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="masterRel" type="ST_TLTimeNodeMasterRelation" use="optional"/>
+ <xsd:attribute name="bldLvl" type="xsd:int" use="optional"/>
+ <xsd:attribute name="grpId" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="afterEffect" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="nodeType" type="ST_TLTimeNodeType" use="optional"/>
+ <xsd:attribute name="nodePh" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLTimeNodeParallel">
+ <xsd:sequence>
+ <xsd:element name="cTn" type="CT_TLCommonTimeNodeData" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLNextActionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="seek"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLPreviousActionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="skipTimed"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLTimeNodeSequence">
+ <xsd:sequence>
+ <xsd:element name="cTn" type="CT_TLCommonTimeNodeData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="prevCondLst" type="CT_TLTimeConditionList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="nextCondLst" type="CT_TLTimeConditionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="concurrent" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="prevAc" type="ST_TLPreviousActionType" use="optional"/>
+ <xsd:attribute name="nextAc" type="ST_TLNextActionType" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLTimeNodeExclusive">
+ <xsd:sequence>
+ <xsd:element name="cTn" type="CT_TLCommonTimeNodeData" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLBehaviorAttributeNameList">
+ <xsd:sequence>
+ <xsd:element name="attrName" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLBehaviorAdditiveType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="base"/>
+ <xsd:enumeration value="sum"/>
+ <xsd:enumeration value="repl"/>
+ <xsd:enumeration value="mult"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLBehaviorAccumulateType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="always"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLBehaviorTransformType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="pt"/>
+ <xsd:enumeration value="img"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLBehaviorOverrideType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="normal"/>
+ <xsd:enumeration value="childStyle"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLCommonBehaviorData">
+ <xsd:sequence>
+ <xsd:element name="cTn" type="CT_TLCommonTimeNodeData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="tgtEl" type="CT_TLTimeTargetElement" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="attrNameLst" type="CT_TLBehaviorAttributeNameList" minOccurs="0"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="additive" type="ST_TLBehaviorAdditiveType" use="optional"/>
+ <xsd:attribute name="accumulate" type="ST_TLBehaviorAccumulateType" use="optional"/>
+ <xsd:attribute name="xfrmType" type="ST_TLBehaviorTransformType" use="optional"/>
+ <xsd:attribute name="from" type="xsd:string" use="optional"/>
+ <xsd:attribute name="to" type="xsd:string" use="optional"/>
+ <xsd:attribute name="by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="rctx" type="xsd:string" use="optional"/>
+ <xsd:attribute name="override" type="ST_TLBehaviorOverrideType" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLAnimVariantBooleanVal">
+ <xsd:attribute name="val" type="xsd:boolean" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLAnimVariantIntegerVal">
+ <xsd:attribute name="val" type="xsd:int" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLAnimVariantFloatVal">
+ <xsd:attribute name="val" type="xsd:float" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLAnimVariantStringVal">
+ <xsd:attribute name="val" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLAnimVariant">
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="boolVal" type="CT_TLAnimVariantBooleanVal"/>
+ <xsd:element name="intVal" type="CT_TLAnimVariantIntegerVal"/>
+ <xsd:element name="fltVal" type="CT_TLAnimVariantFloatVal"/>
+ <xsd:element name="strVal" type="CT_TLAnimVariantStringVal"/>
+ <xsd:element name="clrVal" type="a:CT_Color"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLTimeAnimateValueTime">
+ <xsd:union memberTypes="a:ST_PositiveFixedPercentage ST_TLTimeIndefinite"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLTimeAnimateValue">
+ <xsd:sequence>
+ <xsd:element name="val" type="CT_TLAnimVariant" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="tm" type="ST_TLTimeAnimateValueTime" use="optional" default="indefinite"/>
+ <xsd:attribute name="fmla" type="xsd:string" use="optional" default=""/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLTimeAnimateValueList">
+ <xsd:sequence>
+ <xsd:element name="tav" type="CT_TLTimeAnimateValue" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLAnimateBehaviorCalcMode">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="discrete"/>
+ <xsd:enumeration value="lin"/>
+ <xsd:enumeration value="fmla"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLAnimateBehaviorValueType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="str"/>
+ <xsd:enumeration value="num"/>
+ <xsd:enumeration value="clr"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLAnimateBehavior">
+ <xsd:sequence>
+ <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="tavLst" type="CT_TLTimeAnimateValueList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="from" type="xsd:string" use="optional"/>
+ <xsd:attribute name="to" type="xsd:string" use="optional"/>
+ <xsd:attribute name="calcmode" type="ST_TLAnimateBehaviorCalcMode" use="optional"/>
+ <xsd:attribute name="valueType" type="ST_TLAnimateBehaviorValueType" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLByRgbColorTransform">
+ <xsd:attribute name="r" type="a:ST_FixedPercentage" use="required"/>
+ <xsd:attribute name="g" type="a:ST_FixedPercentage" use="required"/>
+ <xsd:attribute name="b" type="a:ST_FixedPercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLByHslColorTransform">
+ <xsd:attribute name="h" type="a:ST_Angle" use="required"/>
+ <xsd:attribute name="s" type="a:ST_FixedPercentage" use="required"/>
+ <xsd:attribute name="l" type="a:ST_FixedPercentage" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLByAnimateColorTransform">
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="rgb" type="CT_TLByRgbColorTransform"/>
+ <xsd:element name="hsl" type="CT_TLByHslColorTransform"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLAnimateColorSpace">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="rgb"/>
+ <xsd:enumeration value="hsl"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLAnimateColorDirection">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="cw"/>
+ <xsd:enumeration value="ccw"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLAnimateColorBehavior">
+ <xsd:sequence>
+ <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="by" type="CT_TLByAnimateColorTransform" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="from" type="a:CT_Color" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="to" type="a:CT_Color" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="clrSpc" type="ST_TLAnimateColorSpace" use="optional"/>
+ <xsd:attribute name="dir" type="ST_TLAnimateColorDirection" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLAnimateEffectTransition">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="in"/>
+ <xsd:enumeration value="out"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLAnimateEffectBehavior">
+ <xsd:sequence>
+ <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="progress" type="CT_TLAnimVariant" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="transition" type="ST_TLAnimateEffectTransition" use="optional"/>
+ <xsd:attribute name="filter" type="xsd:string" use="optional"/>
+ <xsd:attribute name="prLst" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLAnimateMotionBehaviorOrigin">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="parent"/>
+ <xsd:enumeration value="layout"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TLAnimateMotionPathEditMode">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="relative"/>
+ <xsd:enumeration value="fixed"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLPoint">
+ <xsd:attribute name="x" type="a:ST_Percentage" use="required"/>
+ <xsd:attribute name="y" type="a:ST_Percentage" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLAnimateMotionBehavior">
+ <xsd:sequence>
+ <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="by" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="from" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="to" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="rCtr" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="origin" type="ST_TLAnimateMotionBehaviorOrigin" use="optional"/>
+ <xsd:attribute name="path" type="xsd:string" use="optional"/>
+ <xsd:attribute name="pathEditMode" type="ST_TLAnimateMotionPathEditMode" use="optional"/>
+ <xsd:attribute name="rAng" type="a:ST_Angle" use="optional"/>
+ <xsd:attribute name="ptsTypes" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLAnimateRotationBehavior">
+ <xsd:sequence>
+ <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="by" type="a:ST_Angle" use="optional"/>
+ <xsd:attribute name="from" type="a:ST_Angle" use="optional"/>
+ <xsd:attribute name="to" type="a:ST_Angle" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLAnimateScaleBehavior">
+ <xsd:sequence>
+ <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="by" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="from" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="to" type="CT_TLPoint" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="zoomContents" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLCommandType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="evt"/>
+ <xsd:enumeration value="call"/>
+ <xsd:enumeration value="verb"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLCommandBehavior">
+ <xsd:sequence>
+ <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute type="ST_TLCommandType" name="type" use="optional"/>
+ <xsd:attribute name="cmd" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLSetBehavior">
+ <xsd:sequence>
+ <xsd:element name="cBhvr" type="CT_TLCommonBehaviorData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="to" type="CT_TLAnimVariant" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLCommonMediaNodeData">
+ <xsd:sequence>
+ <xsd:element name="cTn" type="CT_TLCommonTimeNodeData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="tgtEl" type="CT_TLTimeTargetElement" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="vol" type="a:ST_PositiveFixedPercentage" default="50%" use="optional"/>
+ <xsd:attribute name="mute" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="numSld" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="showWhenStopped" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLMediaNodeAudio">
+ <xsd:sequence>
+ <xsd:element name="cMediaNode" type="CT_TLCommonMediaNodeData" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="isNarration" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLMediaNodeVideo">
+ <xsd:sequence>
+ <xsd:element name="cMediaNode" type="CT_TLCommonMediaNodeData" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="fullScrn" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:attributeGroup name="AG_TLBuild">
+ <xsd:attribute name="spid" type="a:ST_DrawingElementId" use="required"/>
+ <xsd:attribute name="grpId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="uiExpand" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:attributeGroup>
+ <xsd:complexType name="CT_TLTemplate">
+ <xsd:sequence>
+ <xsd:element name="tnLst" type="CT_TimeNodeList" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="lvl" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLTemplateList">
+ <xsd:sequence>
+ <xsd:element name="tmpl" type="CT_TLTemplate" minOccurs="0" maxOccurs="9"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLParaBuildType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="allAtOnce"/>
+ <xsd:enumeration value="p"/>
+ <xsd:enumeration value="cust"/>
+ <xsd:enumeration value="whole"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLBuildParagraph">
+ <xsd:sequence>
+ <xsd:element name="tmplLst" type="CT_TLTemplateList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_TLBuild"/>
+ <xsd:attribute name="build" type="ST_TLParaBuildType" use="optional" default="whole"/>
+ <xsd:attribute name="bldLvl" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="animBg" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="autoUpdateAnimBg" type="xsd:boolean" default="true" use="optional"/>
+ <xsd:attribute name="rev" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="advAuto" type="ST_TLTime" use="optional" default="indefinite"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLDiagramBuildType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="whole"/>
+ <xsd:enumeration value="depthByNode"/>
+ <xsd:enumeration value="depthByBranch"/>
+ <xsd:enumeration value="breadthByNode"/>
+ <xsd:enumeration value="breadthByLvl"/>
+ <xsd:enumeration value="cw"/>
+ <xsd:enumeration value="cwIn"/>
+ <xsd:enumeration value="cwOut"/>
+ <xsd:enumeration value="ccw"/>
+ <xsd:enumeration value="ccwIn"/>
+ <xsd:enumeration value="ccwOut"/>
+ <xsd:enumeration value="inByRing"/>
+ <xsd:enumeration value="outByRing"/>
+ <xsd:enumeration value="up"/>
+ <xsd:enumeration value="down"/>
+ <xsd:enumeration value="allAtOnce"/>
+ <xsd:enumeration value="cust"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLBuildDiagram">
+ <xsd:attributeGroup ref="AG_TLBuild"/>
+ <xsd:attribute name="bld" type="ST_TLDiagramBuildType" use="optional" default="whole"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TLOleChartBuildType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="allAtOnce"/>
+ <xsd:enumeration value="series"/>
+ <xsd:enumeration value="category"/>
+ <xsd:enumeration value="seriesEl"/>
+ <xsd:enumeration value="categoryEl"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TLOleBuildChart">
+ <xsd:attributeGroup ref="AG_TLBuild"/>
+ <xsd:attribute name="bld" type="ST_TLOleChartBuildType" use="optional" default="allAtOnce"/>
+ <xsd:attribute name="animBg" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TLGraphicalObjectBuild">
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="bldAsOne" type="CT_Empty"/>
+ <xsd:element name="bldSub" type="a:CT_AnimationGraphicalObjectBuildProperties"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="AG_TLBuild"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BuildList">
+ <xsd:choice minOccurs="1" maxOccurs="unbounded">
+ <xsd:element name="bldP" type="CT_TLBuildParagraph"/>
+ <xsd:element name="bldDgm" type="CT_TLBuildDiagram"/>
+ <xsd:element name="bldOleChart" type="CT_TLOleBuildChart"/>
+ <xsd:element name="bldGraphic" type="CT_TLGraphicalObjectBuild"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SlideTiming">
+ <xsd:sequence>
+ <xsd:element name="tnLst" type="CT_TimeNodeList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bldLst" type="CT_BuildList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Empty"/>
+ <xsd:simpleType name="ST_Name">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Direction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="horz"/>
+ <xsd:enumeration value="vert"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Index">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_IndexRange">
+ <xsd:attribute name="st" type="ST_Index" use="required"/>
+ <xsd:attribute name="end" type="ST_Index" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SlideRelationshipListEntry">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SlideRelationshipList">
+ <xsd:sequence>
+ <xsd:element name="sld" type="CT_SlideRelationshipListEntry" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomShowId">
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:group name="EG_SlideListChoice">
+ <xsd:choice>
+ <xsd:element name="sldAll" type="CT_Empty"/>
+ <xsd:element name="sldRg" type="CT_IndexRange"/>
+ <xsd:element name="custShow" type="CT_CustomShowId"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_CustomerData">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TagsData">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomerDataList">
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <xsd:element name="custData" type="CT_CustomerData" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="tags" type="CT_TagsData" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Extension">
+ <xsd:sequence>
+ <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:group name="EG_ExtensionList">
+ <xsd:sequence>
+ <xsd:element name="ext" type="CT_Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_ExtensionList">
+ <xsd:sequence>
+ <xsd:group ref="EG_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExtensionListModify">
+ <xsd:sequence>
+ <xsd:group ref="EG_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="mod" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CommentAuthor">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="name" type="ST_Name" use="required"/>
+ <xsd:attribute name="initials" type="ST_Name" use="required"/>
+ <xsd:attribute name="lastIdx" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="clrIdx" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CommentAuthorList">
+ <xsd:sequence>
+ <xsd:element name="cmAuthor" type="CT_CommentAuthor" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="cmAuthorLst" type="CT_CommentAuthorList"/>
+ <xsd:complexType name="CT_Comment">
+ <xsd:sequence>
+ <xsd:element name="pos" type="a:CT_Point2D" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="text" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="authorId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="dt" type="xsd:dateTime" use="optional"/>
+ <xsd:attribute name="idx" type="ST_Index" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CommentList">
+ <xsd:sequence>
+ <xsd:element name="cm" type="CT_Comment" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="cmLst" type="CT_CommentList"/>
+ <xsd:attributeGroup name="AG_Ole">
+ <xsd:attribute name="spid" type="a:ST_ShapeID" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="showAsIcon" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ <xsd:attribute name="imgW" type="a:ST_PositiveCoordinate32" use="optional"/>
+ <xsd:attribute name="imgH" type="a:ST_PositiveCoordinate32" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:simpleType name="ST_OleObjectFollowColorScheme">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="full"/>
+ <xsd:enumeration value="textAndBackground"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_OleObjectEmbed">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="followColorScheme" type="ST_OleObjectFollowColorScheme" use="optional"
+ default="none"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OleObjectLink">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="updateAutomatic" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OleObject">
+ <xsd:sequence>
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="embed" type="CT_OleObjectEmbed"/>
+ <xsd:element name="link" type="CT_OleObjectLink"/>
+ </xsd:choice>
+ <xsd:element name="pic" type="CT_Picture" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_Ole"/>
+ <xsd:attribute name="progId" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:element name="oleObj" type="CT_OleObject"/>
+ <xsd:complexType name="CT_Control">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pic" type="CT_Picture" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_Ole"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ControlList">
+ <xsd:sequence>
+ <xsd:element name="control" type="CT_Control" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SlideId">
+ <xsd:restriction base="xsd:unsignedInt">
+ <xsd:minInclusive value="256"/>
+ <xsd:maxExclusive value="2147483648"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SlideIdListEntry">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="ST_SlideId" use="required"/>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SlideIdList">
+ <xsd:sequence>
+ <xsd:element name="sldId" type="CT_SlideIdListEntry" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SlideMasterId">
+ <xsd:restriction base="xsd:unsignedInt">
+ <xsd:minInclusive value="2147483648"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SlideMasterIdListEntry">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="ST_SlideMasterId" use="optional"/>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SlideMasterIdList">
+ <xsd:sequence>
+ <xsd:element name="sldMasterId" type="CT_SlideMasterIdListEntry" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NotesMasterIdListEntry">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NotesMasterIdList">
+ <xsd:sequence>
+ <xsd:element name="notesMasterId" type="CT_NotesMasterIdListEntry" minOccurs="0" maxOccurs="1"
+ />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_HandoutMasterIdListEntry">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_HandoutMasterIdList">
+ <xsd:sequence>
+ <xsd:element name="handoutMasterId" type="CT_HandoutMasterIdListEntry" minOccurs="0"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EmbeddedFontDataId">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EmbeddedFontListEntry">
+ <xsd:sequence>
+ <xsd:element name="font" type="a:CT_TextFont" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="regular" type="CT_EmbeddedFontDataId" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bold" type="CT_EmbeddedFontDataId" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="italic" type="CT_EmbeddedFontDataId" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="boldItalic" type="CT_EmbeddedFontDataId" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EmbeddedFontList">
+ <xsd:sequence>
+ <xsd:element name="embeddedFont" type="CT_EmbeddedFontListEntry" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SmartTags">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomShow">
+ <xsd:sequence>
+ <xsd:element name="sldLst" type="CT_SlideRelationshipList" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="ST_Name" use="required"/>
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomShowList">
+ <xsd:sequence>
+ <xsd:element name="custShow" type="CT_CustomShow" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PhotoAlbumLayout">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="fitToSlide"/>
+ <xsd:enumeration value="1pic"/>
+ <xsd:enumeration value="2pic"/>
+ <xsd:enumeration value="4pic"/>
+ <xsd:enumeration value="1picTitle"/>
+ <xsd:enumeration value="2picTitle"/>
+ <xsd:enumeration value="4picTitle"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PhotoAlbumFrameShape">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="frameStyle1"/>
+ <xsd:enumeration value="frameStyle2"/>
+ <xsd:enumeration value="frameStyle3"/>
+ <xsd:enumeration value="frameStyle4"/>
+ <xsd:enumeration value="frameStyle5"/>
+ <xsd:enumeration value="frameStyle6"/>
+ <xsd:enumeration value="frameStyle7"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PhotoAlbum">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="bw" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showCaptions" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="layout" type="ST_PhotoAlbumLayout" use="optional" default="fitToSlide"/>
+ <xsd:attribute name="frame" type="ST_PhotoAlbumFrameShape" use="optional" default="frameStyle1"
+ />
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SlideSizeCoordinate">
+ <xsd:restriction base="a:ST_PositiveCoordinate32">
+ <xsd:minInclusive value="914400"/>
+ <xsd:maxInclusive value="51206400"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_SlideSizeType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="screen4x3"/>
+ <xsd:enumeration value="letter"/>
+ <xsd:enumeration value="A4"/>
+ <xsd:enumeration value="35mm"/>
+ <xsd:enumeration value="overhead"/>
+ <xsd:enumeration value="banner"/>
+ <xsd:enumeration value="custom"/>
+ <xsd:enumeration value="ledger"/>
+ <xsd:enumeration value="A3"/>
+ <xsd:enumeration value="B4ISO"/>
+ <xsd:enumeration value="B5ISO"/>
+ <xsd:enumeration value="B4JIS"/>
+ <xsd:enumeration value="B5JIS"/>
+ <xsd:enumeration value="hagakiCard"/>
+ <xsd:enumeration value="screen16x9"/>
+ <xsd:enumeration value="screen16x10"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SlideSize">
+ <xsd:attribute name="cx" type="ST_SlideSizeCoordinate" use="required"/>
+ <xsd:attribute name="cy" type="ST_SlideSizeCoordinate" use="required"/>
+ <xsd:attribute name="type" type="ST_SlideSizeType" use="optional" default="custom"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Kinsoku">
+ <xsd:attribute name="lang" type="xsd:string" use="optional"/>
+ <xsd:attribute name="invalStChars" type="xsd:string" use="required"/>
+ <xsd:attribute name="invalEndChars" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BookmarkIdSeed">
+ <xsd:restriction base="xsd:unsignedInt">
+ <xsd:minInclusive value="1"/>
+ <xsd:maxExclusive value="2147483648"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ModifyVerifier">
+ <xsd:attribute name="algorithmName" type="xsd:string" use="optional"/>
+ <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="spinValue" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="cryptProviderType" type="s:ST_CryptProv" use="optional"/>
+ <xsd:attribute name="cryptAlgorithmClass" type="s:ST_AlgClass" use="optional"/>
+ <xsd:attribute name="cryptAlgorithmType" type="s:ST_AlgType" use="optional"/>
+ <xsd:attribute name="cryptAlgorithmSid" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="spinCount" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="saltData" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="hashData" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="cryptProvider" type="xsd:string" use="optional"/>
+ <xsd:attribute name="algIdExt" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="algIdExtSource" type="xsd:string" use="optional"/>
+ <xsd:attribute name="cryptProviderTypeExt" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="cryptProviderTypeExtSource" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Presentation">
+ <xsd:sequence>
+ <xsd:element name="sldMasterIdLst" type="CT_SlideMasterIdList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="notesMasterIdLst" type="CT_NotesMasterIdList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="handoutMasterIdLst" type="CT_HandoutMasterIdList" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="sldIdLst" type="CT_SlideIdList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sldSz" type="CT_SlideSize" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="notesSz" type="a:CT_PositiveSize2D" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="smartTags" type="CT_SmartTags" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="embeddedFontLst" type="CT_EmbeddedFontList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="custShowLst" type="CT_CustomShowList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="photoAlbum" type="CT_PhotoAlbum" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="custDataLst" type="CT_CustomerDataList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="kinsoku" type="CT_Kinsoku" minOccurs="0"/>
+ <xsd:element name="defaultTextStyle" type="a:CT_TextListStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="modifyVerifier" type="CT_ModifyVerifier" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="serverZoom" type="a:ST_Percentage" use="optional" default="50%"/>
+ <xsd:attribute name="firstSlideNum" type="xsd:int" use="optional" default="1"/>
+ <xsd:attribute name="showSpecialPlsOnTitleSld" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="rtl" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="removePersonalInfoOnSave" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="compatMode" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="strictFirstAndLastChars" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="embedTrueTypeFonts" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="saveSubsetFonts" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="autoCompressPictures" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="bookmarkIdSeed" type="ST_BookmarkIdSeed" use="optional" default="1"/>
+ <xsd:attribute name="conformance" type="s:ST_ConformanceClass"/>
+ </xsd:complexType>
+ <xsd:element name="presentation" type="CT_Presentation"/>
+ <xsd:complexType name="CT_HtmlPublishProperties">
+ <xsd:sequence>
+ <xsd:group ref="EG_SlideListChoice" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="showSpeakerNotes" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="target" type="xsd:string" use="optional"/>
+ <xsd:attribute name="title" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_WebColorType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="browser"/>
+ <xsd:enumeration value="presentationText"/>
+ <xsd:enumeration value="presentationAccent"/>
+ <xsd:enumeration value="whiteTextOnBlack"/>
+ <xsd:enumeration value="blackTextOnWhite"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_WebScreenSize">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="544x376"/>
+ <xsd:enumeration value="640x480"/>
+ <xsd:enumeration value="720x512"/>
+ <xsd:enumeration value="800x600"/>
+ <xsd:enumeration value="1024x768"/>
+ <xsd:enumeration value="1152x882"/>
+ <xsd:enumeration value="1152x900"/>
+ <xsd:enumeration value="1280x1024"/>
+ <xsd:enumeration value="1600x1200"/>
+ <xsd:enumeration value="1800x1400"/>
+ <xsd:enumeration value="1920x1200"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_WebEncoding">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_WebProperties">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="showAnimation" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="resizeGraphics" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="allowPng" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="relyOnVml" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="organizeInFolders" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="useLongFilenames" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="imgSz" type="ST_WebScreenSize" use="optional" default="800x600"/>
+ <xsd:attribute name="encoding" type="ST_WebEncoding" use="optional" default=""/>
+ <xsd:attribute name="clr" type="ST_WebColorType" use="optional" default="whiteTextOnBlack"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PrintWhat">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="slides"/>
+ <xsd:enumeration value="handouts1"/>
+ <xsd:enumeration value="handouts2"/>
+ <xsd:enumeration value="handouts3"/>
+ <xsd:enumeration value="handouts4"/>
+ <xsd:enumeration value="handouts6"/>
+ <xsd:enumeration value="handouts9"/>
+ <xsd:enumeration value="notes"/>
+ <xsd:enumeration value="outline"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PrintColorMode">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="bw"/>
+ <xsd:enumeration value="gray"/>
+ <xsd:enumeration value="clr"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PrintProperties">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="prnWhat" type="ST_PrintWhat" use="optional" default="slides"/>
+ <xsd:attribute name="clrMode" type="ST_PrintColorMode" use="optional" default="clr"/>
+ <xsd:attribute name="hiddenSlides" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="scaleToFitPaper" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="frameSlides" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ShowInfoBrowse">
+ <xsd:attribute name="showScrollbar" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ShowInfoKiosk">
+ <xsd:attribute name="restart" type="xsd:unsignedInt" use="optional" default="300000"/>
+ </xsd:complexType>
+ <xsd:group name="EG_ShowType">
+ <xsd:choice>
+ <xsd:element name="present" type="CT_Empty"/>
+ <xsd:element name="browse" type="CT_ShowInfoBrowse"/>
+ <xsd:element name="kiosk" type="CT_ShowInfoKiosk"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_ShowProperties">
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <xsd:group ref="EG_ShowType" minOccurs="0" maxOccurs="1"/>
+ <xsd:group ref="EG_SlideListChoice" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="penClr" type="a:CT_Color" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="loop" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showNarration" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showAnimation" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="useTimings" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PresentationProperties">
+ <xsd:sequence>
+ <xsd:element name="htmlPubPr" type="CT_HtmlPublishProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="webPr" type="CT_WebProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="prnPr" type="CT_PrintProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="showPr" type="CT_ShowProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="clrMru" type="a:CT_ColorMRU" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="presentationPr" type="CT_PresentationProperties"/>
+ <xsd:complexType name="CT_HeaderFooter">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="sldNum" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="hdr" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="ftr" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="dt" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PlaceholderType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="title"/>
+ <xsd:enumeration value="body"/>
+ <xsd:enumeration value="ctrTitle"/>
+ <xsd:enumeration value="subTitle"/>
+ <xsd:enumeration value="dt"/>
+ <xsd:enumeration value="sldNum"/>
+ <xsd:enumeration value="ftr"/>
+ <xsd:enumeration value="hdr"/>
+ <xsd:enumeration value="obj"/>
+ <xsd:enumeration value="chart"/>
+ <xsd:enumeration value="tbl"/>
+ <xsd:enumeration value="clipArt"/>
+ <xsd:enumeration value="dgm"/>
+ <xsd:enumeration value="media"/>
+ <xsd:enumeration value="sldImg"/>
+ <xsd:enumeration value="pic"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PlaceholderSize">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="full"/>
+ <xsd:enumeration value="half"/>
+ <xsd:enumeration value="quarter"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Placeholder">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="ST_PlaceholderType" use="optional" default="obj"/>
+ <xsd:attribute name="orient" type="ST_Direction" use="optional" default="horz"/>
+ <xsd:attribute name="sz" type="ST_PlaceholderSize" use="optional" default="full"/>
+ <xsd:attribute name="idx" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="hasCustomPrompt" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ApplicationNonVisualDrawingProps">
+ <xsd:sequence>
+ <xsd:element name="ph" type="CT_Placeholder" minOccurs="0" maxOccurs="1"/>
+ <xsd:group ref="a:EG_Media" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="custDataLst" type="CT_CustomerDataList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="isPhoto" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="userDrawn" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ShapeNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="nvPr" type="CT_ApplicationNonVisualDrawingProps" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Shape">
+ <xsd:sequence>
+ <xsd:element name="nvSpPr" type="CT_ShapeNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txBody" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="useBgFill" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ConnectorNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvCxnSpPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1"
+ maxOccurs="1"/>
+ <xsd:element name="nvPr" type="CT_ApplicationNonVisualDrawingProps" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Connector">
+ <xsd:sequence>
+ <xsd:element name="nvCxnSpPr" type="CT_ConnectorNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PictureNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1"
+ maxOccurs="1"/>
+ <xsd:element name="nvPr" type="CT_ApplicationNonVisualDrawingProps" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Picture">
+ <xsd:sequence>
+ <xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GraphicalObjectFrameNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="nvPr" type="CT_ApplicationNonVisualDrawingProps" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GraphicalObjectFrame">
+ <xsd:sequence>
+ <xsd:element name="nvGraphicFramePr" type="CT_GraphicalObjectFrameNonVisual" minOccurs="1"
+ maxOccurs="1"/>
+ <xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/>
+ <xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="bwMode" type="a:ST_BlackWhiteMode" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupShapeNonVisual">
+ <xsd:sequence>
+ <xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1"
+ maxOccurs="1"/>
+ <xsd:element name="nvPr" type="CT_ApplicationNonVisualDrawingProps" minOccurs="1"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupShape">
+ <xsd:sequence>
+ <xsd:element name="nvGrpSpPr" type="CT_GroupShapeNonVisual" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="sp" type="CT_Shape"/>
+ <xsd:element name="grpSp" type="CT_GroupShape"/>
+ <xsd:element name="graphicFrame" type="CT_GraphicalObjectFrame"/>
+ <xsd:element name="cxnSp" type="CT_Connector"/>
+ <xsd:element name="pic" type="CT_Picture"/>
+ <xsd:element name="contentPart" type="CT_Rel"/>
+ </xsd:choice>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Rel">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:group name="EG_TopLevelSlide">
+ <xsd:sequence>
+ <xsd:element name="clrMap" type="a:CT_ColorMapping" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:group name="EG_ChildSlide">
+ <xsd:sequence>
+ <xsd:element name="clrMapOvr" type="a:CT_ColorMappingOverride" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:attributeGroup name="AG_ChildSlide">
+ <xsd:attribute name="showMasterSp" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showMasterPhAnim" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:attributeGroup>
+ <xsd:complexType name="CT_BackgroundProperties">
+ <xsd:sequence>
+ <xsd:group ref="a:EG_FillProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="a:EG_EffectProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="shadeToTitle" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:group name="EG_Background">
+ <xsd:choice>
+ <xsd:element name="bgPr" type="CT_BackgroundProperties"/>
+ <xsd:element name="bgRef" type="a:CT_StyleMatrixReference"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_Background">
+ <xsd:sequence>
+ <xsd:group ref="EG_Background"/>
+ </xsd:sequence>
+ <xsd:attribute name="bwMode" type="a:ST_BlackWhiteMode" use="optional" default="white"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CommonSlideData">
+ <xsd:sequence>
+ <xsd:element name="bg" type="CT_Background" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="spTree" type="CT_GroupShape" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="custDataLst" type="CT_CustomerDataList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="controls" type="CT_ControlList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Slide">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="EG_ChildSlide" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="transition" type="CT_SlideTransition" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="timing" type="CT_SlideTiming" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_ChildSlide"/>
+ <xsd:attribute name="show" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:element name="sld" type="CT_Slide"/>
+ <xsd:simpleType name="ST_SlideLayoutType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="title"/>
+ <xsd:enumeration value="tx"/>
+ <xsd:enumeration value="twoColTx"/>
+ <xsd:enumeration value="tbl"/>
+ <xsd:enumeration value="txAndChart"/>
+ <xsd:enumeration value="chartAndTx"/>
+ <xsd:enumeration value="dgm"/>
+ <xsd:enumeration value="chart"/>
+ <xsd:enumeration value="txAndClipArt"/>
+ <xsd:enumeration value="clipArtAndTx"/>
+ <xsd:enumeration value="titleOnly"/>
+ <xsd:enumeration value="blank"/>
+ <xsd:enumeration value="txAndObj"/>
+ <xsd:enumeration value="objAndTx"/>
+ <xsd:enumeration value="objOnly"/>
+ <xsd:enumeration value="obj"/>
+ <xsd:enumeration value="txAndMedia"/>
+ <xsd:enumeration value="mediaAndTx"/>
+ <xsd:enumeration value="objOverTx"/>
+ <xsd:enumeration value="txOverObj"/>
+ <xsd:enumeration value="txAndTwoObj"/>
+ <xsd:enumeration value="twoObjAndTx"/>
+ <xsd:enumeration value="twoObjOverTx"/>
+ <xsd:enumeration value="fourObj"/>
+ <xsd:enumeration value="vertTx"/>
+ <xsd:enumeration value="clipArtAndVertTx"/>
+ <xsd:enumeration value="vertTitleAndTx"/>
+ <xsd:enumeration value="vertTitleAndTxOverChart"/>
+ <xsd:enumeration value="twoObj"/>
+ <xsd:enumeration value="objAndTwoObj"/>
+ <xsd:enumeration value="twoObjAndObj"/>
+ <xsd:enumeration value="cust"/>
+ <xsd:enumeration value="secHead"/>
+ <xsd:enumeration value="twoTxTwoObj"/>
+ <xsd:enumeration value="objTx"/>
+ <xsd:enumeration value="picTx"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SlideLayout">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="EG_ChildSlide" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="transition" type="CT_SlideTransition" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="timing" type="CT_SlideTiming" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="hf" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_ChildSlide"/>
+ <xsd:attribute name="matchingName" type="xsd:string" use="optional" default=""/>
+ <xsd:attribute name="type" type="ST_SlideLayoutType" use="optional" default="cust"/>
+ <xsd:attribute name="preserve" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="userDrawn" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:element name="sldLayout" type="CT_SlideLayout"/>
+ <xsd:complexType name="CT_SlideMasterTextStyles">
+ <xsd:sequence>
+ <xsd:element name="titleStyle" type="a:CT_TextListStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bodyStyle" type="a:CT_TextListStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="otherStyle" type="a:CT_TextListStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SlideLayoutId">
+ <xsd:restriction base="xsd:unsignedInt">
+ <xsd:minInclusive value="2147483648"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SlideLayoutIdListEntry">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="ST_SlideLayoutId" use="optional"/>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SlideLayoutIdList">
+ <xsd:sequence>
+ <xsd:element name="sldLayoutId" type="CT_SlideLayoutIdListEntry" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SlideMaster">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="EG_TopLevelSlide" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="sldLayoutIdLst" type="CT_SlideLayoutIdList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="transition" type="CT_SlideTransition" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="timing" type="CT_SlideTiming" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="hf" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="txStyles" type="CT_SlideMasterTextStyles" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="preserve" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:element name="sldMaster" type="CT_SlideMaster"/>
+ <xsd:complexType name="CT_HandoutMaster">
+ <xsd:sequence>
+ <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="EG_TopLevelSlide" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="hf" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="handoutMaster" type="CT_HandoutMaster"/>
+ <xsd:complexType name="CT_NotesMaster">
+ <xsd:sequence>
+ <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="EG_TopLevelSlide" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="hf" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="notesStyle" type="a:CT_TextListStyle" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="notesMaster" type="CT_NotesMaster"/>
+ <xsd:complexType name="CT_NotesSlide">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="cSld" type="CT_CommonSlideData" minOccurs="1" maxOccurs="1"/>
+ <xsd:group ref="EG_ChildSlide" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionListModify" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_ChildSlide"/>
+ </xsd:complexType>
+ <xsd:element name="notes" type="CT_NotesSlide"/>
+ <xsd:complexType name="CT_SlideSyncProperties">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="serverSldId" type="xsd:string" use="required"/>
+ <xsd:attribute name="serverSldModifiedTime" type="xsd:dateTime" use="required"/>
+ <xsd:attribute name="clientInsertedTime" type="xsd:dateTime" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="sldSyncPr" type="CT_SlideSyncProperties"/>
+ <xsd:complexType name="CT_StringTag">
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="val" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TagList">
+ <xsd:sequence>
+ <xsd:element name="tag" type="CT_StringTag" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="tagLst" type="CT_TagList"/>
+ <xsd:simpleType name="ST_SplitterBarState">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="minimized"/>
+ <xsd:enumeration value="restored"/>
+ <xsd:enumeration value="maximized"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ViewType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="sldView"/>
+ <xsd:enumeration value="sldMasterView"/>
+ <xsd:enumeration value="notesView"/>
+ <xsd:enumeration value="handoutView"/>
+ <xsd:enumeration value="notesMasterView"/>
+ <xsd:enumeration value="outlineView"/>
+ <xsd:enumeration value="sldSorterView"/>
+ <xsd:enumeration value="sldThumbnailView"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_NormalViewPortion">
+ <xsd:attribute name="sz" type="a:ST_PositiveFixedPercentage" use="required"/>
+ <xsd:attribute name="autoAdjust" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NormalViewProperties">
+ <xsd:sequence>
+ <xsd:element name="restoredLeft" type="CT_NormalViewPortion" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="restoredTop" type="CT_NormalViewPortion" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="showOutlineIcons" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="snapVertSplitter" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="vertBarState" type="ST_SplitterBarState" use="optional" default="restored"/>
+ <xsd:attribute name="horzBarState" type="ST_SplitterBarState" use="optional" default="restored"/>
+ <xsd:attribute name="preferSingleView" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CommonViewProperties">
+ <xsd:sequence>
+ <xsd:element name="scale" type="a:CT_Scale2D" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="origin" type="a:CT_Point2D" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="varScale" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NotesTextViewProperties">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="cViewPr" type="CT_CommonViewProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OutlineViewSlideEntry">
+ <xsd:attribute ref="r:id" use="required"/>
+ <xsd:attribute name="collapse" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OutlineViewSlideList">
+ <xsd:sequence>
+ <xsd:element name="sld" type="CT_OutlineViewSlideEntry" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OutlineViewProperties">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="cViewPr" type="CT_CommonViewProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="sldLst" type="CT_OutlineViewSlideList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SlideSorterViewProperties">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element name="cViewPr" type="CT_CommonViewProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="showFormatting" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Guide">
+ <xsd:attribute name="orient" type="ST_Direction" use="optional" default="vert"/>
+ <xsd:attribute name="pos" type="a:ST_Coordinate32" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GuideList">
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <xsd:element name="guide" type="CT_Guide" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CommonSlideViewProperties">
+ <xsd:sequence>
+ <xsd:element name="cViewPr" type="CT_CommonViewProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="guideLst" type="CT_GuideList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="snapToGrid" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="snapToObjects" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showGuides" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SlideViewProperties">
+ <xsd:sequence>
+ <xsd:element name="cSldViewPr" type="CT_CommonSlideViewProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NotesViewProperties">
+ <xsd:sequence>
+ <xsd:element name="cSldViewPr" type="CT_CommonSlideViewProperties" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ViewProperties">
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <xsd:element name="normalViewPr" type="CT_NormalViewProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="slideViewPr" type="CT_SlideViewProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="outlineViewPr" type="CT_OutlineViewProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="notesTextViewPr" type="CT_NotesTextViewProperties" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="sorterViewPr" type="CT_SlideSorterViewProperties" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="notesViewPr" type="CT_NotesViewProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="gridSpacing" type="a:CT_PositiveSize2D" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="lastView" type="ST_ViewType" use="optional" default="sldView"/>
+ <xsd:attribute name="showComments" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:element name="viewPr" type="CT_ViewProperties"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-additionalCharacteristics.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-additionalCharacteristics.xsd
new file mode 100644
index 0000000..c20f3bf
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-additionalCharacteristics.xsd
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/officeDocument/2006/characteristics"
+ targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/characteristics"
+ elementFormDefault="qualified">
+ <xsd:complexType name="CT_AdditionalCharacteristics">
+ <xsd:sequence>
+ <xsd:element name="characteristic" type="CT_Characteristic" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Characteristic">
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="relation" type="ST_Relation" use="required"/>
+ <xsd:attribute name="val" type="xsd:string" use="required"/>
+ <xsd:attribute name="vocabulary" type="xsd:anyURI" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Relation">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ge"/>
+ <xsd:enumeration value="le"/>
+ <xsd:enumeration value="gt"/>
+ <xsd:enumeration value="lt"/>
+ <xsd:enumeration value="eq"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="additionalCharacteristics" type="CT_AdditionalCharacteristics"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-bibliography.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-bibliography.xsd
new file mode 100644
index 0000000..ac60252
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-bibliography.xsd
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"
+ elementFormDefault="qualified">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:simpleType name="ST_SourceType">
+ <xsd:restriction base="s:ST_String">
+ <xsd:enumeration value="ArticleInAPeriodical"/>
+ <xsd:enumeration value="Book"/>
+ <xsd:enumeration value="BookSection"/>
+ <xsd:enumeration value="JournalArticle"/>
+ <xsd:enumeration value="ConferenceProceedings"/>
+ <xsd:enumeration value="Report"/>
+ <xsd:enumeration value="SoundRecording"/>
+ <xsd:enumeration value="Performance"/>
+ <xsd:enumeration value="Art"/>
+ <xsd:enumeration value="DocumentFromInternetSite"/>
+ <xsd:enumeration value="InternetSite"/>
+ <xsd:enumeration value="Film"/>
+ <xsd:enumeration value="Interview"/>
+ <xsd:enumeration value="Patent"/>
+ <xsd:enumeration value="ElectronicSource"/>
+ <xsd:enumeration value="Case"/>
+ <xsd:enumeration value="Misc"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_NameListType">
+ <xsd:sequence>
+ <xsd:element name="Person" type="CT_PersonType" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PersonType">
+ <xsd:sequence>
+ <xsd:element name="Last" type="s:ST_String" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="First" type="s:ST_String" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="Middle" type="s:ST_String" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NameType">
+ <xsd:sequence>
+ <xsd:element name="NameList" type="CT_NameListType" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NameOrCorporateType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="NameList" type="CT_NameListType" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="Corporate" minOccurs="1" maxOccurs="1" type="s:ST_String"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AuthorType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="Artist" type="CT_NameType"/>
+ <xsd:element name="Author" type="CT_NameOrCorporateType"/>
+ <xsd:element name="BookAuthor" type="CT_NameType"/>
+ <xsd:element name="Compiler" type="CT_NameType"/>
+ <xsd:element name="Composer" type="CT_NameType"/>
+ <xsd:element name="Conductor" type="CT_NameType"/>
+ <xsd:element name="Counsel" type="CT_NameType"/>
+ <xsd:element name="Director" type="CT_NameType"/>
+ <xsd:element name="Editor" type="CT_NameType"/>
+ <xsd:element name="Interviewee" type="CT_NameType"/>
+ <xsd:element name="Interviewer" type="CT_NameType"/>
+ <xsd:element name="Inventor" type="CT_NameType"/>
+ <xsd:element name="Performer" type="CT_NameOrCorporateType"/>
+ <xsd:element name="ProducerName" type="CT_NameType"/>
+ <xsd:element name="Translator" type="CT_NameType"/>
+ <xsd:element name="Writer" type="CT_NameType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SourceType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="AbbreviatedCaseNumber" type="s:ST_String"/>
+ <xsd:element name="AlbumTitle" type="s:ST_String"/>
+ <xsd:element name="Author" type="CT_AuthorType"/>
+ <xsd:element name="BookTitle" type="s:ST_String"/>
+ <xsd:element name="Broadcaster" type="s:ST_String"/>
+ <xsd:element name="BroadcastTitle" type="s:ST_String"/>
+ <xsd:element name="CaseNumber" type="s:ST_String"/>
+ <xsd:element name="ChapterNumber" type="s:ST_String"/>
+ <xsd:element name="City" type="s:ST_String"/>
+ <xsd:element name="Comments" type="s:ST_String"/>
+ <xsd:element name="ConferenceName" type="s:ST_String"/>
+ <xsd:element name="CountryRegion" type="s:ST_String"/>
+ <xsd:element name="Court" type="s:ST_String"/>
+ <xsd:element name="Day" type="s:ST_String"/>
+ <xsd:element name="DayAccessed" type="s:ST_String"/>
+ <xsd:element name="Department" type="s:ST_String"/>
+ <xsd:element name="Distributor" type="s:ST_String"/>
+ <xsd:element name="Edition" type="s:ST_String"/>
+ <xsd:element name="Guid" type="s:ST_String"/>
+ <xsd:element name="Institution" type="s:ST_String"/>
+ <xsd:element name="InternetSiteTitle" type="s:ST_String"/>
+ <xsd:element name="Issue" type="s:ST_String"/>
+ <xsd:element name="JournalName" type="s:ST_String"/>
+ <xsd:element name="LCID" type="s:ST_Lang"/>
+ <xsd:element name="Medium" type="s:ST_String"/>
+ <xsd:element name="Month" type="s:ST_String"/>
+ <xsd:element name="MonthAccessed" type="s:ST_String"/>
+ <xsd:element name="NumberVolumes" type="s:ST_String"/>
+ <xsd:element name="Pages" type="s:ST_String"/>
+ <xsd:element name="PatentNumber" type="s:ST_String"/>
+ <xsd:element name="PeriodicalTitle" type="s:ST_String"/>
+ <xsd:element name="ProductionCompany" type="s:ST_String"/>
+ <xsd:element name="PublicationTitle" type="s:ST_String"/>
+ <xsd:element name="Publisher" type="s:ST_String"/>
+ <xsd:element name="RecordingNumber" type="s:ST_String"/>
+ <xsd:element name="RefOrder" type="s:ST_String"/>
+ <xsd:element name="Reporter" type="s:ST_String"/>
+ <xsd:element name="SourceType" type="ST_SourceType"/>
+ <xsd:element name="ShortTitle" type="s:ST_String"/>
+ <xsd:element name="StandardNumber" type="s:ST_String"/>
+ <xsd:element name="StateProvince" type="s:ST_String"/>
+ <xsd:element name="Station" type="s:ST_String"/>
+ <xsd:element name="Tag" type="s:ST_String"/>
+ <xsd:element name="Theater" type="s:ST_String"/>
+ <xsd:element name="ThesisType" type="s:ST_String"/>
+ <xsd:element name="Title" type="s:ST_String"/>
+ <xsd:element name="Type" type="s:ST_String"/>
+ <xsd:element name="URL" type="s:ST_String"/>
+ <xsd:element name="Version" type="s:ST_String"/>
+ <xsd:element name="Volume" type="s:ST_String"/>
+ <xsd:element name="Year" type="s:ST_String"/>
+ <xsd:element name="YearAccessed" type="s:ST_String"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="Sources" type="CT_Sources"/>
+ <xsd:complexType name="CT_Sources">
+ <xsd:sequence>
+ <xsd:element name="Source" type="CT_SourceType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="SelectedStyle" type="s:ST_String"/>
+ <xsd:attribute name="StyleName" type="s:ST_String"/>
+ <xsd:attribute name="URI" type="s:ST_String"/>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-commonSimpleTypes.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-commonSimpleTypes.xsd
new file mode 100644
index 0000000..6cd0ee6
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-commonSimpleTypes.xsd
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<xsd:schema xmlns="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes">
+ <xsd:simpleType name="ST_Lang">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HexColorRGB">
+ <xsd:restriction base="xsd:hexBinary">
+ <xsd:length fixed="true" value="3"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Panose">
+ <xsd:restriction base="xsd:hexBinary">
+ <xsd:length value="10"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CalendarType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="gregorian"/>
+ <xsd:enumeration value="gregorianUs"/>
+ <xsd:enumeration value="gregorianMeFrench"/>
+ <xsd:enumeration value="gregorianArabic"/>
+ <xsd:enumeration value="hijri"/>
+ <xsd:enumeration value="hebrew"/>
+ <xsd:enumeration value="taiwan"/>
+ <xsd:enumeration value="japan"/>
+ <xsd:enumeration value="thai"/>
+ <xsd:enumeration value="korea"/>
+ <xsd:enumeration value="saka"/>
+ <xsd:enumeration value="gregorianXlitEnglish"/>
+ <xsd:enumeration value="gregorianXlitFrench"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AlgClass">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="hash"/>
+ <xsd:enumeration value="custom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CryptProv">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="rsaAES"/>
+ <xsd:enumeration value="rsaFull"/>
+ <xsd:enumeration value="custom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AlgType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="typeAny"/>
+ <xsd:enumeration value="custom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ColorType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Guid">
+ <xsd:restriction base="xsd:token">
+ <xsd:pattern value="\{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\}"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_OnOff">
+ <xsd:union memberTypes="xsd:boolean ST_OnOff1"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_OnOff1">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="on"/>
+ <xsd:enumeration value="off"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_String">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_XmlName">
+ <xsd:restriction base="xsd:NCName">
+ <xsd:minLength value="1"/>
+ <xsd:maxLength value="255"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TrueFalse">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="f"/>
+ <xsd:enumeration value="true"/>
+ <xsd:enumeration value="false"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TrueFalseBlank">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="f"/>
+ <xsd:enumeration value="true"/>
+ <xsd:enumeration value="false"/>
+ <xsd:enumeration value=""/>
+ <xsd:enumeration value="True"/>
+ <xsd:enumeration value="False"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_UnsignedDecimalNumber">
+ <xsd:restriction base="xsd:unsignedLong"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TwipsMeasure">
+ <xsd:union memberTypes="ST_UnsignedDecimalNumber ST_PositiveUniversalMeasure"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_VerticalAlignRun">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="baseline"/>
+ <xsd:enumeration value="superscript"/>
+ <xsd:enumeration value="subscript"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Xstring">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_XAlign">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="inside"/>
+ <xsd:enumeration value="outside"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_YAlign">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="inline"/>
+ <xsd:enumeration value="top"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="bottom"/>
+ <xsd:enumeration value="inside"/>
+ <xsd:enumeration value="outside"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ConformanceClass">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="strict"/>
+ <xsd:enumeration value="transitional"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_UniversalMeasure">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="-?[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PositiveUniversalMeasure">
+ <xsd:restriction base="ST_UniversalMeasure">
+ <xsd:pattern value="[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Percentage">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="-?[0-9]+(\.[0-9]+)?%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FixedPercentage">
+ <xsd:restriction base="ST_Percentage">
+ <xsd:pattern value="-?((100)|([0-9][0-9]?))(\.[0-9][0-9]?)?%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PositivePercentage">
+ <xsd:restriction base="ST_Percentage">
+ <xsd:pattern value="[0-9]+(\.[0-9]+)?%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PositiveFixedPercentage">
+ <xsd:restriction base="ST_Percentage">
+ <xsd:pattern value="((100)|([0-9][0-9]?))(\.[0-9][0-9]?)?%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-customXmlDataProperties.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-customXmlDataProperties.xsd
new file mode 100644
index 0000000..2bddce2
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-customXmlDataProperties.xsd
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/officeDocument/2006/customXml"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/customXml"
+ elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:complexType name="CT_DatastoreSchemaRef">
+ <xsd:attribute name="uri" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DatastoreSchemaRefs">
+ <xsd:sequence>
+ <xsd:element name="schemaRef" type="CT_DatastoreSchemaRef" minOccurs="0" maxOccurs="unbounded"
+ />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DatastoreItem">
+ <xsd:sequence>
+ <xsd:element name="schemaRefs" type="CT_DatastoreSchemaRefs" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="itemID" type="s:ST_Guid" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="datastoreItem" type="CT_DatastoreItem"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-customXmlSchemaProperties.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-customXmlSchemaProperties.xsd
new file mode 100644
index 0000000..8a8c18b
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-customXmlSchemaProperties.xsd
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/schemaLibrary/2006/main"
+ targetNamespace="http://schemas.openxmlformats.org/schemaLibrary/2006/main"
+ attributeFormDefault="qualified" elementFormDefault="qualified">
+ <xsd:complexType name="CT_Schema">
+ <xsd:attribute name="uri" type="xsd:string" default=""/>
+ <xsd:attribute name="manifestLocation" type="xsd:string"/>
+ <xsd:attribute name="schemaLocation" type="xsd:string"/>
+ <xsd:attribute name="schemaLanguage" type="xsd:token"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SchemaLibrary">
+ <xsd:sequence>
+ <xsd:element name="schema" type="CT_Schema" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="schemaLibrary" type="CT_SchemaLibrary"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-documentPropertiesCustom.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-documentPropertiesCustom.xsd
new file mode 100644
index 0000000..5c42706
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-documentPropertiesCustom.xsd
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties"
+ xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties"
+ blockDefault="#all" elementFormDefault="qualified">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"
+ schemaLocation="shared-documentPropertiesVariantTypes.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:element name="Properties" type="CT_Properties"/>
+ <xsd:complexType name="CT_Properties">
+ <xsd:sequence>
+ <xsd:element name="property" minOccurs="0" maxOccurs="unbounded" type="CT_Property"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Property">
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element ref="vt:vector"/>
+ <xsd:element ref="vt:array"/>
+ <xsd:element ref="vt:blob"/>
+ <xsd:element ref="vt:oblob"/>
+ <xsd:element ref="vt:empty"/>
+ <xsd:element ref="vt:null"/>
+ <xsd:element ref="vt:i1"/>
+ <xsd:element ref="vt:i2"/>
+ <xsd:element ref="vt:i4"/>
+ <xsd:element ref="vt:i8"/>
+ <xsd:element ref="vt:int"/>
+ <xsd:element ref="vt:ui1"/>
+ <xsd:element ref="vt:ui2"/>
+ <xsd:element ref="vt:ui4"/>
+ <xsd:element ref="vt:ui8"/>
+ <xsd:element ref="vt:uint"/>
+ <xsd:element ref="vt:r4"/>
+ <xsd:element ref="vt:r8"/>
+ <xsd:element ref="vt:decimal"/>
+ <xsd:element ref="vt:lpstr"/>
+ <xsd:element ref="vt:lpwstr"/>
+ <xsd:element ref="vt:bstr"/>
+ <xsd:element ref="vt:date"/>
+ <xsd:element ref="vt:filetime"/>
+ <xsd:element ref="vt:bool"/>
+ <xsd:element ref="vt:cy"/>
+ <xsd:element ref="vt:error"/>
+ <xsd:element ref="vt:stream"/>
+ <xsd:element ref="vt:ostream"/>
+ <xsd:element ref="vt:storage"/>
+ <xsd:element ref="vt:ostorage"/>
+ <xsd:element ref="vt:vstream"/>
+ <xsd:element ref="vt:clsid"/>
+ </xsd:choice>
+ <xsd:attribute name="fmtid" use="required" type="s:ST_Guid"/>
+ <xsd:attribute name="pid" use="required" type="xsd:int"/>
+ <xsd:attribute name="name" use="optional" type="xsd:string"/>
+ <xsd:attribute name="linkTarget" use="optional" type="xsd:string"/>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-documentPropertiesExtended.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-documentPropertiesExtended.xsd
new file mode 100644
index 0000000..853c341
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-documentPropertiesExtended.xsd
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
+ xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"
+ targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
+ elementFormDefault="qualified" blockDefault="#all">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"
+ schemaLocation="shared-documentPropertiesVariantTypes.xsd"/>
+ <xsd:element name="Properties" type="CT_Properties"/>
+ <xsd:complexType name="CT_Properties">
+ <xsd:all>
+ <xsd:element name="Template" minOccurs="0" maxOccurs="1" type="xsd:string"/>
+ <xsd:element name="Manager" minOccurs="0" maxOccurs="1" type="xsd:string"/>
+ <xsd:element name="Company" minOccurs="0" maxOccurs="1" type="xsd:string"/>
+ <xsd:element name="Pages" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="Words" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="Characters" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="PresentationFormat" minOccurs="0" maxOccurs="1" type="xsd:string"/>
+ <xsd:element name="Lines" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="Paragraphs" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="Slides" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="Notes" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="TotalTime" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="HiddenSlides" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="MMClips" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="ScaleCrop" minOccurs="0" maxOccurs="1" type="xsd:boolean"/>
+ <xsd:element name="HeadingPairs" minOccurs="0" maxOccurs="1" type="CT_VectorVariant"/>
+ <xsd:element name="TitlesOfParts" minOccurs="0" maxOccurs="1" type="CT_VectorLpstr"/>
+ <xsd:element name="LinksUpToDate" minOccurs="0" maxOccurs="1" type="xsd:boolean"/>
+ <xsd:element name="CharactersWithSpaces" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ <xsd:element name="SharedDoc" minOccurs="0" maxOccurs="1" type="xsd:boolean"/>
+ <xsd:element name="HyperlinkBase" minOccurs="0" maxOccurs="1" type="xsd:string"/>
+ <xsd:element name="HLinks" minOccurs="0" maxOccurs="1" type="CT_VectorVariant"/>
+ <xsd:element name="HyperlinksChanged" minOccurs="0" maxOccurs="1" type="xsd:boolean"/>
+ <xsd:element name="DigSig" minOccurs="0" maxOccurs="1" type="CT_DigSigBlob"/>
+ <xsd:element name="Application" minOccurs="0" maxOccurs="1" type="xsd:string"/>
+ <xsd:element name="AppVersion" minOccurs="0" maxOccurs="1" type="xsd:string"/>
+ <xsd:element name="DocSecurity" minOccurs="0" maxOccurs="1" type="xsd:int"/>
+ </xsd:all>
+ </xsd:complexType>
+ <xsd:complexType name="CT_VectorVariant">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element ref="vt:vector"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_VectorLpstr">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element ref="vt:vector"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DigSigBlob">
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <xsd:element ref="vt:blob"/>
+ </xsd:sequence>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-documentPropertiesVariantTypes.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-documentPropertiesVariantTypes.xsd
new file mode 100644
index 0000000..67a4e70
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-documentPropertiesVariantTypes.xsd
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<xsd:schema xmlns="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes" xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" xmlns:xsd="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:simpleType name="ST_VectorBaseType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="variant"/>
+ <xsd:enumeration value="i1"/>
+ <xsd:enumeration value="i2"/>
+ <xsd:enumeration value="i4"/>
+ <xsd:enumeration value="i8"/>
+ <xsd:enumeration value="ui1"/>
+ <xsd:enumeration value="ui2"/>
+ <xsd:enumeration value="ui4"/>
+ <xsd:enumeration value="ui8"/>
+ <xsd:enumeration value="r4"/>
+ <xsd:enumeration value="r8"/>
+ <xsd:enumeration value="lpstr"/>
+ <xsd:enumeration value="lpwstr"/>
+ <xsd:enumeration value="bstr"/>
+ <xsd:enumeration value="date"/>
+ <xsd:enumeration value="filetime"/>
+ <xsd:enumeration value="bool"/>
+ <xsd:enumeration value="cy"/>
+ <xsd:enumeration value="error"/>
+ <xsd:enumeration value="clsid"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ArrayBaseType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="variant"/>
+ <xsd:enumeration value="i1"/>
+ <xsd:enumeration value="i2"/>
+ <xsd:enumeration value="i4"/>
+ <xsd:enumeration value="int"/>
+ <xsd:enumeration value="ui1"/>
+ <xsd:enumeration value="ui2"/>
+ <xsd:enumeration value="ui4"/>
+ <xsd:enumeration value="uint"/>
+ <xsd:enumeration value="r4"/>
+ <xsd:enumeration value="r8"/>
+ <xsd:enumeration value="decimal"/>
+ <xsd:enumeration value="bstr"/>
+ <xsd:enumeration value="date"/>
+ <xsd:enumeration value="bool"/>
+ <xsd:enumeration value="cy"/>
+ <xsd:enumeration value="error"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Cy">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="\s*[0-9]*\.[0-9]{4}\s*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Error">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="\s*0x[0-9A-Za-z]{8}\s*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Empty"/>
+ <xsd:complexType name="CT_Null"/>
+ <xsd:complexType name="CT_Vector">
+ <xsd:choice maxOccurs="unbounded" minOccurs="1">
+ <xsd:element ref="variant"/>
+ <xsd:element ref="i1"/>
+ <xsd:element ref="i2"/>
+ <xsd:element ref="i4"/>
+ <xsd:element ref="i8"/>
+ <xsd:element ref="ui1"/>
+ <xsd:element ref="ui2"/>
+ <xsd:element ref="ui4"/>
+ <xsd:element ref="ui8"/>
+ <xsd:element ref="r4"/>
+ <xsd:element ref="r8"/>
+ <xsd:element ref="lpstr"/>
+ <xsd:element ref="lpwstr"/>
+ <xsd:element ref="bstr"/>
+ <xsd:element ref="date"/>
+ <xsd:element ref="filetime"/>
+ <xsd:element ref="bool"/>
+ <xsd:element ref="cy"/>
+ <xsd:element ref="error"/>
+ <xsd:element ref="clsid"/>
+ </xsd:choice>
+ <xsd:attribute name="baseType" type="ST_VectorBaseType" use="required"/>
+ <xsd:attribute name="size" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Array">
+ <xsd:choice maxOccurs="unbounded" minOccurs="1">
+ <xsd:element ref="variant"/>
+ <xsd:element ref="i1"/>
+ <xsd:element ref="i2"/>
+ <xsd:element ref="i4"/>
+ <xsd:element ref="int"/>
+ <xsd:element ref="ui1"/>
+ <xsd:element ref="ui2"/>
+ <xsd:element ref="ui4"/>
+ <xsd:element ref="uint"/>
+ <xsd:element ref="r4"/>
+ <xsd:element ref="r8"/>
+ <xsd:element ref="decimal"/>
+ <xsd:element ref="bstr"/>
+ <xsd:element ref="date"/>
+ <xsd:element ref="bool"/>
+ <xsd:element ref="error"/>
+ <xsd:element ref="cy"/>
+ </xsd:choice>
+ <xsd:attribute name="lBounds" type="xsd:int" use="required"/>
+ <xsd:attribute name="uBounds" type="xsd:int" use="required"/>
+ <xsd:attribute name="baseType" type="ST_ArrayBaseType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Variant">
+ <xsd:choice maxOccurs="1" minOccurs="1">
+ <xsd:element ref="variant"/>
+ <xsd:element ref="vector"/>
+ <xsd:element ref="array"/>
+ <xsd:element ref="blob"/>
+ <xsd:element ref="oblob"/>
+ <xsd:element ref="empty"/>
+ <xsd:element ref="null"/>
+ <xsd:element ref="i1"/>
+ <xsd:element ref="i2"/>
+ <xsd:element ref="i4"/>
+ <xsd:element ref="i8"/>
+ <xsd:element ref="int"/>
+ <xsd:element ref="ui1"/>
+ <xsd:element ref="ui2"/>
+ <xsd:element ref="ui4"/>
+ <xsd:element ref="ui8"/>
+ <xsd:element ref="uint"/>
+ <xsd:element ref="r4"/>
+ <xsd:element ref="r8"/>
+ <xsd:element ref="decimal"/>
+ <xsd:element ref="lpstr"/>
+ <xsd:element ref="lpwstr"/>
+ <xsd:element ref="bstr"/>
+ <xsd:element ref="date"/>
+ <xsd:element ref="filetime"/>
+ <xsd:element ref="bool"/>
+ <xsd:element ref="cy"/>
+ <xsd:element ref="error"/>
+ <xsd:element ref="stream"/>
+ <xsd:element ref="ostream"/>
+ <xsd:element ref="storage"/>
+ <xsd:element ref="ostorage"/>
+ <xsd:element ref="vstream"/>
+ <xsd:element ref="clsid"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Vstream">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:base64Binary">
+ <xsd:attribute name="version" type="s:ST_Guid"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:element name="variant" type="CT_Variant"/>
+ <xsd:element name="vector" type="CT_Vector"/>
+ <xsd:element name="array" type="CT_Array"/>
+ <xsd:element name="blob" type="xsd:base64Binary"/>
+ <xsd:element name="oblob" type="xsd:base64Binary"/>
+ <xsd:element name="empty" type="CT_Empty"/>
+ <xsd:element name="null" type="CT_Null"/>
+ <xsd:element name="i1" type="xsd:byte"/>
+ <xsd:element name="i2" type="xsd:short"/>
+ <xsd:element name="i4" type="xsd:int"/>
+ <xsd:element name="i8" type="xsd:long"/>
+ <xsd:element name="int" type="xsd:int"/>
+ <xsd:element name="ui1" type="xsd:unsignedByte"/>
+ <xsd:element name="ui2" type="xsd:unsignedShort"/>
+ <xsd:element name="ui4" type="xsd:unsignedInt"/>
+ <xsd:element name="ui8" type="xsd:unsignedLong"/>
+ <xsd:element name="uint" type="xsd:unsignedInt"/>
+ <xsd:element name="r4" type="xsd:float"/>
+ <xsd:element name="r8" type="xsd:double"/>
+ <xsd:element name="decimal" type="xsd:decimal"/>
+ <xsd:element name="lpstr" type="xsd:string"/>
+ <xsd:element name="lpwstr" type="xsd:string"/>
+ <xsd:element name="bstr" type="xsd:string"/>
+ <xsd:element name="date" type="xsd:dateTime"/>
+ <xsd:element name="filetime" type="xsd:dateTime"/>
+ <xsd:element name="bool" type="xsd:boolean"/>
+ <xsd:element name="cy" type="ST_Cy"/>
+ <xsd:element name="error" type="ST_Error"/>
+ <xsd:element name="stream" type="xsd:base64Binary"/>
+ <xsd:element name="ostream" type="xsd:base64Binary"/>
+ <xsd:element name="storage" type="xsd:base64Binary"/>
+ <xsd:element name="ostorage" type="xsd:base64Binary"/>
+ <xsd:element name="vstream" type="CT_Vstream"/>
+ <xsd:element name="clsid" type="s:ST_Guid"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-math.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-math.xsd
new file mode 100644
index 0000000..693d591
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-math.xsd
@@ -0,0 +1,581 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/officeDocument/2006/math"
+ xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
+ xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all"
+ targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/math">
+ <xsd:import namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+ schemaLocation="wml.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:simpleType name="ST_Integer255">
+ <xsd:restriction base="xsd:integer">
+ <xsd:minInclusive value="1"/>
+ <xsd:maxInclusive value="255"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Integer255">
+ <xsd:attribute name="val" type="ST_Integer255" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Integer2">
+ <xsd:restriction base="xsd:integer">
+ <xsd:minInclusive value="-2"/>
+ <xsd:maxInclusive value="2"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Integer2">
+ <xsd:attribute name="val" type="ST_Integer2" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SpacingRule">
+ <xsd:restriction base="xsd:integer">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="4"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SpacingRule">
+ <xsd:attribute name="val" type="ST_SpacingRule" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_UnSignedInteger">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_UnSignedInteger">
+ <xsd:attribute name="val" type="ST_UnSignedInteger" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Char">
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="1"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Char">
+ <xsd:attribute name="val" type="ST_Char" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OnOff">
+ <xsd:attribute name="val" type="s:ST_OnOff"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_String">
+ <xsd:attribute name="val" type="s:ST_String"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_XAlign">
+ <xsd:attribute name="val" type="s:ST_XAlign" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_YAlign">
+ <xsd:attribute name="val" type="s:ST_YAlign" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Shp">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="centered"/>
+ <xsd:enumeration value="match"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Shp">
+ <xsd:attribute name="val" type="ST_Shp" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="bar"/>
+ <xsd:enumeration value="skw"/>
+ <xsd:enumeration value="lin"/>
+ <xsd:enumeration value="noBar"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FType">
+ <xsd:attribute name="val" type="ST_FType" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LimLoc">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="undOvr"/>
+ <xsd:enumeration value="subSup"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LimLoc">
+ <xsd:attribute name="val" type="ST_LimLoc" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TopBot">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="top"/>
+ <xsd:enumeration value="bot"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TopBot">
+ <xsd:attribute name="val" type="ST_TopBot" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Script">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="roman"/>
+ <xsd:enumeration value="script"/>
+ <xsd:enumeration value="fraktur"/>
+ <xsd:enumeration value="double-struck"/>
+ <xsd:enumeration value="sans-serif"/>
+ <xsd:enumeration value="monospace"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Script">
+ <xsd:attribute name="val" type="ST_Script"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Style">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="p"/>
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="i"/>
+ <xsd:enumeration value="bi"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Style">
+ <xsd:attribute name="val" type="ST_Style"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ManualBreak">
+ <xsd:attribute name="alnAt" type="ST_Integer255"/>
+ </xsd:complexType>
+ <xsd:group name="EG_ScriptStyle">
+ <xsd:sequence>
+ <xsd:element name="scr" minOccurs="0" type="CT_Script"/>
+ <xsd:element name="sty" minOccurs="0" type="CT_Style"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_RPR">
+ <xsd:sequence>
+ <xsd:element name="lit" minOccurs="0" type="CT_OnOff"/>
+ <xsd:choice>
+ <xsd:element name="nor" minOccurs="0" type="CT_OnOff"/>
+ <xsd:sequence>
+ <xsd:group ref="EG_ScriptStyle"/>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:element name="brk" minOccurs="0" type="CT_ManualBreak"/>
+ <xsd:element name="aln" minOccurs="0" type="CT_OnOff"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Text">
+ <xsd:simpleContent>
+ <xsd:extension base="s:ST_String">
+ <xsd:attribute ref="xml:space" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_R">
+ <xsd:sequence>
+ <xsd:element name="rPr" type="CT_RPR" minOccurs="0"/>
+ <xsd:group ref="w:EG_RPr" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:group ref="w:EG_RunInnerContent"/>
+ <xsd:element name="t" type="CT_Text" minOccurs="0"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CtrlPr">
+ <xsd:sequence>
+ <xsd:group ref="w:EG_RPrMath" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AccPr">
+ <xsd:sequence>
+ <xsd:element name="chr" type="CT_Char" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Acc">
+ <xsd:sequence>
+ <xsd:element name="accPr" type="CT_AccPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BarPr">
+ <xsd:sequence>
+ <xsd:element name="pos" type="CT_TopBot" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Bar">
+ <xsd:sequence>
+ <xsd:element name="barPr" type="CT_BarPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BoxPr">
+ <xsd:sequence>
+ <xsd:element name="opEmu" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="noBreak" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="diff" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="brk" type="CT_ManualBreak" minOccurs="0"/>
+ <xsd:element name="aln" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Box">
+ <xsd:sequence>
+ <xsd:element name="boxPr" type="CT_BoxPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BorderBoxPr">
+ <xsd:sequence>
+ <xsd:element name="hideTop" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="hideBot" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="hideLeft" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="hideRight" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="strikeH" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="strikeV" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="strikeBLTR" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="strikeTLBR" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BorderBox">
+ <xsd:sequence>
+ <xsd:element name="borderBoxPr" type="CT_BorderBoxPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DPr">
+ <xsd:sequence>
+ <xsd:element name="begChr" type="CT_Char" minOccurs="0"/>
+ <xsd:element name="sepChr" type="CT_Char" minOccurs="0"/>
+ <xsd:element name="endChr" type="CT_Char" minOccurs="0"/>
+ <xsd:element name="grow" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="shp" type="CT_Shp" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_D">
+ <xsd:sequence>
+ <xsd:element name="dPr" type="CT_DPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EqArrPr">
+ <xsd:sequence>
+ <xsd:element name="baseJc" type="CT_YAlign" minOccurs="0"/>
+ <xsd:element name="maxDist" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="objDist" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="rSpRule" type="CT_SpacingRule" minOccurs="0"/>
+ <xsd:element name="rSp" type="CT_UnSignedInteger" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EqArr">
+ <xsd:sequence>
+ <xsd:element name="eqArrPr" type="CT_EqArrPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FPr">
+ <xsd:sequence>
+ <xsd:element name="type" type="CT_FType" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_F">
+ <xsd:sequence>
+ <xsd:element name="fPr" type="CT_FPr" minOccurs="0"/>
+ <xsd:element name="num" type="CT_OMathArg"/>
+ <xsd:element name="den" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FuncPr">
+ <xsd:sequence>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Func">
+ <xsd:sequence>
+ <xsd:element name="funcPr" type="CT_FuncPr" minOccurs="0"/>
+ <xsd:element name="fName" type="CT_OMathArg"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupChrPr">
+ <xsd:sequence>
+ <xsd:element name="chr" type="CT_Char" minOccurs="0"/>
+ <xsd:element name="pos" type="CT_TopBot" minOccurs="0"/>
+ <xsd:element name="vertJc" type="CT_TopBot" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupChr">
+ <xsd:sequence>
+ <xsd:element name="groupChrPr" type="CT_GroupChrPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LimLowPr">
+ <xsd:sequence>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LimLow">
+ <xsd:sequence>
+ <xsd:element name="limLowPr" type="CT_LimLowPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ <xsd:element name="lim" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LimUppPr">
+ <xsd:sequence>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LimUpp">
+ <xsd:sequence>
+ <xsd:element name="limUppPr" type="CT_LimUppPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ <xsd:element name="lim" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MCPr">
+ <xsd:sequence>
+ <xsd:element name="count" type="CT_Integer255" minOccurs="0"/>
+ <xsd:element name="mcJc" type="CT_XAlign" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MC">
+ <xsd:sequence>
+ <xsd:element name="mcPr" type="CT_MCPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MCS">
+ <xsd:sequence>
+ <xsd:element name="mc" type="CT_MC" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MPr">
+ <xsd:sequence>
+ <xsd:element name="baseJc" type="CT_YAlign" minOccurs="0"/>
+ <xsd:element name="plcHide" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="rSpRule" type="CT_SpacingRule" minOccurs="0"/>
+ <xsd:element name="cGpRule" type="CT_SpacingRule" minOccurs="0"/>
+ <xsd:element name="rSp" type="CT_UnSignedInteger" minOccurs="0"/>
+ <xsd:element name="cSp" type="CT_UnSignedInteger" minOccurs="0"/>
+ <xsd:element name="cGp" type="CT_UnSignedInteger" minOccurs="0"/>
+ <xsd:element name="mcs" type="CT_MCS" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MR">
+ <xsd:sequence>
+ <xsd:element name="e" type="CT_OMathArg" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_M">
+ <xsd:sequence>
+ <xsd:element name="mPr" type="CT_MPr" minOccurs="0"/>
+ <xsd:element name="mr" type="CT_MR" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NaryPr">
+ <xsd:sequence>
+ <xsd:element name="chr" type="CT_Char" minOccurs="0"/>
+ <xsd:element name="limLoc" type="CT_LimLoc" minOccurs="0"/>
+ <xsd:element name="grow" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="subHide" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="supHide" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Nary">
+ <xsd:sequence>
+ <xsd:element name="naryPr" type="CT_NaryPr" minOccurs="0"/>
+ <xsd:element name="sub" type="CT_OMathArg"/>
+ <xsd:element name="sup" type="CT_OMathArg"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PhantPr">
+ <xsd:sequence>
+ <xsd:element name="show" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="zeroWid" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="zeroAsc" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="zeroDesc" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="transp" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Phant">
+ <xsd:sequence>
+ <xsd:element name="phantPr" type="CT_PhantPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RadPr">
+ <xsd:sequence>
+ <xsd:element name="degHide" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Rad">
+ <xsd:sequence>
+ <xsd:element name="radPr" type="CT_RadPr" minOccurs="0"/>
+ <xsd:element name="deg" type="CT_OMathArg"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SPrePr">
+ <xsd:sequence>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SPre">
+ <xsd:sequence>
+ <xsd:element name="sPrePr" type="CT_SPrePr" minOccurs="0"/>
+ <xsd:element name="sub" type="CT_OMathArg"/>
+ <xsd:element name="sup" type="CT_OMathArg"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SSubPr">
+ <xsd:sequence>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SSub">
+ <xsd:sequence>
+ <xsd:element name="sSubPr" type="CT_SSubPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ <xsd:element name="sub" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SSubSupPr">
+ <xsd:sequence>
+ <xsd:element name="alnScr" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SSubSup">
+ <xsd:sequence>
+ <xsd:element name="sSubSupPr" type="CT_SSubSupPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ <xsd:element name="sub" type="CT_OMathArg"/>
+ <xsd:element name="sup" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SSupPr">
+ <xsd:sequence>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SSup">
+ <xsd:sequence>
+ <xsd:element name="sSupPr" type="CT_SSupPr" minOccurs="0"/>
+ <xsd:element name="e" type="CT_OMathArg"/>
+ <xsd:element name="sup" type="CT_OMathArg"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_OMathMathElements">
+ <xsd:choice>
+ <xsd:element name="acc" type="CT_Acc"/>
+ <xsd:element name="bar" type="CT_Bar"/>
+ <xsd:element name="box" type="CT_Box"/>
+ <xsd:element name="borderBox" type="CT_BorderBox"/>
+ <xsd:element name="d" type="CT_D"/>
+ <xsd:element name="eqArr" type="CT_EqArr"/>
+ <xsd:element name="f" type="CT_F"/>
+ <xsd:element name="func" type="CT_Func"/>
+ <xsd:element name="groupChr" type="CT_GroupChr"/>
+ <xsd:element name="limLow" type="CT_LimLow"/>
+ <xsd:element name="limUpp" type="CT_LimUpp"/>
+ <xsd:element name="m" type="CT_M"/>
+ <xsd:element name="nary" type="CT_Nary"/>
+ <xsd:element name="phant" type="CT_Phant"/>
+ <xsd:element name="rad" type="CT_Rad"/>
+ <xsd:element name="sPre" type="CT_SPre"/>
+ <xsd:element name="sSub" type="CT_SSub"/>
+ <xsd:element name="sSubSup" type="CT_SSubSup"/>
+ <xsd:element name="sSup" type="CT_SSup"/>
+ <xsd:element name="r" type="CT_R"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_OMathElements">
+ <xsd:choice>
+ <xsd:group ref="EG_OMathMathElements"/>
+ <xsd:group ref="w:EG_PContentMath"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_OMathArgPr">
+ <xsd:sequence>
+ <xsd:element name="argSz" type="CT_Integer2" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OMathArg">
+ <xsd:sequence>
+ <xsd:element name="argPr" type="CT_OMathArgPr" minOccurs="0"/>
+ <xsd:group ref="EG_OMathElements" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ctrlPr" type="CT_CtrlPr" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Jc">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="centerGroup"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_OMathJc">
+ <xsd:attribute name="val" type="ST_Jc"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OMathParaPr">
+ <xsd:sequence>
+ <xsd:element name="jc" type="CT_OMathJc" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TwipsMeasure">
+ <xsd:attribute name="val" type="s:ST_TwipsMeasure" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BreakBin">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="before"/>
+ <xsd:enumeration value="after"/>
+ <xsd:enumeration value="repeat"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_BreakBin">
+ <xsd:attribute name="val" type="ST_BreakBin"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BreakBinSub">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="--"/>
+ <xsd:enumeration value="-+"/>
+ <xsd:enumeration value="+-"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_BreakBinSub">
+ <xsd:attribute name="val" type="ST_BreakBinSub"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MathPr">
+ <xsd:sequence>
+ <xsd:element name="mathFont" type="CT_String" minOccurs="0"/>
+ <xsd:element name="brkBin" type="CT_BreakBin" minOccurs="0"/>
+ <xsd:element name="brkBinSub" type="CT_BreakBinSub" minOccurs="0"/>
+ <xsd:element name="smallFrac" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="dispDef" type="CT_OnOff" minOccurs="0"/>
+ <xsd:element name="lMargin" type="CT_TwipsMeasure" minOccurs="0"/>
+ <xsd:element name="rMargin" type="CT_TwipsMeasure" minOccurs="0"/>
+ <xsd:element name="defJc" type="CT_OMathJc" minOccurs="0"/>
+ <xsd:element name="preSp" type="CT_TwipsMeasure" minOccurs="0"/>
+ <xsd:element name="postSp" type="CT_TwipsMeasure" minOccurs="0"/>
+ <xsd:element name="interSp" type="CT_TwipsMeasure" minOccurs="0"/>
+ <xsd:element name="intraSp" type="CT_TwipsMeasure" minOccurs="0"/>
+ <xsd:choice minOccurs="0">
+ <xsd:element name="wrapIndent" type="CT_TwipsMeasure"/>
+ <xsd:element name="wrapRight" type="CT_OnOff"/>
+ </xsd:choice>
+ <xsd:element name="intLim" type="CT_LimLoc" minOccurs="0"/>
+ <xsd:element name="naryLim" type="CT_LimLoc" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="mathPr" type="CT_MathPr"/>
+ <xsd:complexType name="CT_OMathPara">
+ <xsd:sequence>
+ <xsd:element name="oMathParaPr" type="CT_OMathParaPr" minOccurs="0"/>
+ <xsd:element name="oMath" type="CT_OMath" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OMath">
+ <xsd:sequence>
+ <xsd:group ref="EG_OMathElements" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="oMathPara" type="CT_OMathPara"/>
+ <xsd:element name="oMath" type="CT_OMath"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-relationshipReference.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-relationshipReference.xsd
new file mode 100644
index 0000000..7a8ceef
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/shared-relationshipReference.xsd
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<xsd:schema xmlns="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:xsd="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
+ <xsd:simpleType name="ST_RelationshipId">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:attribute name="id" type="ST_RelationshipId"/>
+ <xsd:attribute name="embed" type="ST_RelationshipId"/>
+ <xsd:attribute name="link" type="ST_RelationshipId"/>
+ <xsd:attribute default="" name="dm" type="ST_RelationshipId"/>
+ <xsd:attribute default="" name="lo" type="ST_RelationshipId"/>
+ <xsd:attribute default="" name="qs" type="ST_RelationshipId"/>
+ <xsd:attribute default="" name="cs" type="ST_RelationshipId"/>
+ <xsd:attribute default="" name="blip" type="ST_RelationshipId"/>
+ <xsd:attribute name="pict" type="ST_RelationshipId"/>
+ <xsd:attribute name="href" type="ST_RelationshipId"/>
+ <xsd:attribute name="topLeft" type="ST_RelationshipId"/>
+ <xsd:attribute name="topRight" type="ST_RelationshipId"/>
+ <xsd:attribute name="bottomLeft" type="ST_RelationshipId"/>
+ <xsd:attribute name="bottomRight" type="ST_RelationshipId"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/sml.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/sml.xsd
new file mode 100644
index 0000000..f743bfb
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/sml.xsd
@@ -0,0 +1,4432 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ targetNamespace="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
+ elementFormDefault="qualified">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ schemaLocation="shared-relationshipReference.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:import
+ namespace="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"
+ schemaLocation="dml-spreadsheetDrawing.xsd"/>
+ <xsd:import
+ namespace="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ schemaLocation="mce.xsd"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+ <xsd:complexType name="CT_AutoFilter">
+ <xsd:sequence>
+ <xsd:element name="filterColumn" minOccurs="0" maxOccurs="unbounded" type="CT_FilterColumn"/>
+ <xsd:element name="sortState" minOccurs="0" maxOccurs="1" type="CT_SortState"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="ref" type="ST_Ref"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FilterColumn">
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="filters" type="CT_Filters" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="top10" type="CT_Top10" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="customFilters" type="CT_CustomFilters" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dynamicFilter" type="CT_DynamicFilter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="colorFilter" type="CT_ColorFilter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="iconFilter" minOccurs="0" maxOccurs="1" type="CT_IconFilter"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:attribute name="colId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="hiddenButton" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showButton" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Filters">
+ <xsd:sequence>
+ <xsd:element name="filter" type="CT_Filter" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="dateGroupItem" type="CT_DateGroupItem" minOccurs="0" maxOccurs="unbounded"
+ />
+ </xsd:sequence>
+ <xsd:attribute name="blank" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="calendarType" type="s:ST_CalendarType" use="optional" default="none"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Filter">
+ <xsd:attribute name="val" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomFilters">
+ <xsd:sequence>
+ <xsd:element name="customFilter" type="CT_CustomFilter" minOccurs="1" maxOccurs="2"/>
+ </xsd:sequence>
+ <xsd:attribute name="and" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomFilter">
+ <xsd:attribute name="operator" type="ST_FilterOperator" default="equal" use="optional"/>
+ <xsd:attribute name="val" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Top10">
+ <xsd:attribute name="top" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="percent" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="val" type="xsd:double" use="required"/>
+ <xsd:attribute name="filterVal" type="xsd:double" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorFilter">
+ <xsd:attribute name="dxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="cellColor" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_IconFilter">
+ <xsd:attribute name="iconSet" type="ST_IconSetType" use="required"/>
+ <xsd:attribute name="iconId" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FilterOperator">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="equal"/>
+ <xsd:enumeration value="lessThan"/>
+ <xsd:enumeration value="lessThanOrEqual"/>
+ <xsd:enumeration value="notEqual"/>
+ <xsd:enumeration value="greaterThanOrEqual"/>
+ <xsd:enumeration value="greaterThan"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DynamicFilter">
+ <xsd:attribute name="type" type="ST_DynamicFilterType" use="required"/>
+ <xsd:attribute name="val" type="xsd:double" use="optional"/>
+ <xsd:attribute name="valIso" type="xsd:dateTime" use="optional"/>
+ <xsd:attribute name="maxVal" type="xsd:double" use="optional"/>
+ <xsd:attribute name="maxValIso" type="xsd:dateTime" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DynamicFilterType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="null"/>
+ <xsd:enumeration value="aboveAverage"/>
+ <xsd:enumeration value="belowAverage"/>
+ <xsd:enumeration value="tomorrow"/>
+ <xsd:enumeration value="today"/>
+ <xsd:enumeration value="yesterday"/>
+ <xsd:enumeration value="nextWeek"/>
+ <xsd:enumeration value="thisWeek"/>
+ <xsd:enumeration value="lastWeek"/>
+ <xsd:enumeration value="nextMonth"/>
+ <xsd:enumeration value="thisMonth"/>
+ <xsd:enumeration value="lastMonth"/>
+ <xsd:enumeration value="nextQuarter"/>
+ <xsd:enumeration value="thisQuarter"/>
+ <xsd:enumeration value="lastQuarter"/>
+ <xsd:enumeration value="nextYear"/>
+ <xsd:enumeration value="thisYear"/>
+ <xsd:enumeration value="lastYear"/>
+ <xsd:enumeration value="yearToDate"/>
+ <xsd:enumeration value="Q1"/>
+ <xsd:enumeration value="Q2"/>
+ <xsd:enumeration value="Q3"/>
+ <xsd:enumeration value="Q4"/>
+ <xsd:enumeration value="M1"/>
+ <xsd:enumeration value="M2"/>
+ <xsd:enumeration value="M3"/>
+ <xsd:enumeration value="M4"/>
+ <xsd:enumeration value="M5"/>
+ <xsd:enumeration value="M6"/>
+ <xsd:enumeration value="M7"/>
+ <xsd:enumeration value="M8"/>
+ <xsd:enumeration value="M9"/>
+ <xsd:enumeration value="M10"/>
+ <xsd:enumeration value="M11"/>
+ <xsd:enumeration value="M12"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_IconSetType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="3Arrows"/>
+ <xsd:enumeration value="3ArrowsGray"/>
+ <xsd:enumeration value="3Flags"/>
+ <xsd:enumeration value="3TrafficLights1"/>
+ <xsd:enumeration value="3TrafficLights2"/>
+ <xsd:enumeration value="3Signs"/>
+ <xsd:enumeration value="3Symbols"/>
+ <xsd:enumeration value="3Symbols2"/>
+ <xsd:enumeration value="4Arrows"/>
+ <xsd:enumeration value="4ArrowsGray"/>
+ <xsd:enumeration value="4RedToBlack"/>
+ <xsd:enumeration value="4Rating"/>
+ <xsd:enumeration value="4TrafficLights"/>
+ <xsd:enumeration value="5Arrows"/>
+ <xsd:enumeration value="5ArrowsGray"/>
+ <xsd:enumeration value="5Rating"/>
+ <xsd:enumeration value="5Quarters"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SortState">
+ <xsd:sequence>
+ <xsd:element name="sortCondition" minOccurs="0" maxOccurs="64" type="CT_SortCondition"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="columnSort" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="sortMethod" type="ST_SortMethod" use="optional" default="none"/>
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SortCondition">
+ <xsd:attribute name="descending" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="sortBy" type="ST_SortBy" use="optional" default="value"/>
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ <xsd:attribute name="customList" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="dxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="iconSet" type="ST_IconSetType" use="optional" default="3Arrows"/>
+ <xsd:attribute name="iconId" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SortBy">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="value"/>
+ <xsd:enumeration value="cellColor"/>
+ <xsd:enumeration value="fontColor"/>
+ <xsd:enumeration value="icon"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_SortMethod">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="stroke"/>
+ <xsd:enumeration value="pinYin"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DateGroupItem">
+ <xsd:attribute name="year" type="xsd:unsignedShort" use="required"/>
+ <xsd:attribute name="month" type="xsd:unsignedShort" use="optional"/>
+ <xsd:attribute name="day" type="xsd:unsignedShort" use="optional"/>
+ <xsd:attribute name="hour" type="xsd:unsignedShort" use="optional"/>
+ <xsd:attribute name="minute" type="xsd:unsignedShort" use="optional"/>
+ <xsd:attribute name="second" type="xsd:unsignedShort" use="optional"/>
+ <xsd:attribute name="dateTimeGrouping" type="ST_DateTimeGrouping" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DateTimeGrouping">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="year"/>
+ <xsd:enumeration value="month"/>
+ <xsd:enumeration value="day"/>
+ <xsd:enumeration value="hour"/>
+ <xsd:enumeration value="minute"/>
+ <xsd:enumeration value="second"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CellRef">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Ref">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_RefA">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Sqref">
+ <xsd:list itemType="ST_Ref"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Formula">
+ <xsd:restriction base="s:ST_Xstring"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_UnsignedIntHex">
+ <xsd:restriction base="xsd:hexBinary">
+ <xsd:length value="4"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_UnsignedShortHex">
+ <xsd:restriction base="xsd:hexBinary">
+ <xsd:length value="2"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_XStringElement">
+ <xsd:attribute name="v" type="s:ST_Xstring" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Extension">
+ <xsd:sequence>
+ <xsd:any processContents="lax"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="xsd:token"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ObjectAnchor">
+ <xsd:sequence>
+ <xsd:element ref="xdr:from" minOccurs="1" maxOccurs="1"/>
+ <xsd:element ref="xdr:to" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="moveWithCells" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="sizeWithCells" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:group name="EG_ExtensionList">
+ <xsd:sequence>
+ <xsd:element name="ext" type="CT_Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_ExtensionList">
+ <xsd:sequence>
+ <xsd:group ref="EG_ExtensionList" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="calcChain" type="CT_CalcChain"/>
+ <xsd:complexType name="CT_CalcChain">
+ <xsd:sequence>
+ <xsd:element name="c" type="CT_CalcCell" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CalcCell">
+ <xsd:attribute name="r" type="ST_CellRef" use="optional"/>
+ <xsd:attribute name="ref" type="ST_CellRef" use="optional"/>
+ <xsd:attribute name="i" type="xsd:int" use="optional" default="0"/>
+ <xsd:attribute name="s" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="l" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="t" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="a" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:element name="comments" type="CT_Comments"/>
+ <xsd:complexType name="CT_Comments">
+ <xsd:sequence>
+ <xsd:element name="authors" type="CT_Authors" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="commentList" type="CT_CommentList" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Authors">
+ <xsd:sequence>
+ <xsd:element name="author" type="s:ST_Xstring" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CommentList">
+ <xsd:sequence>
+ <xsd:element name="comment" type="CT_Comment" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Comment">
+ <xsd:sequence>
+ <xsd:element name="text" type="CT_Rst" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="commentPr" type="CT_CommentPr" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ <xsd:attribute name="authorId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="guid" type="s:ST_Guid" use="optional"/>
+ <xsd:attribute name="shapeId" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CommentPr">
+ <xsd:sequence>
+ <xsd:element name="anchor" type="CT_ObjectAnchor" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="locked" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="defaultSize" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="print" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="disabled" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="autoFill" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="autoLine" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="altText" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="textHAlign" type="ST_TextHAlign" use="optional" default="left"/>
+ <xsd:attribute name="textVAlign" type="ST_TextVAlign" use="optional" default="top"/>
+ <xsd:attribute name="lockText" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="justLastX" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="autoScale" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextHAlign">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="justify"/>
+ <xsd:enumeration value="distributed"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextVAlign">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="top"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="bottom"/>
+ <xsd:enumeration value="justify"/>
+ <xsd:enumeration value="distributed"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="MapInfo" type="CT_MapInfo"/>
+ <xsd:complexType name="CT_MapInfo">
+ <xsd:sequence>
+ <xsd:element name="Schema" type="CT_Schema" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="Map" type="CT_Map" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="SelectionNamespaces" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Schema" mixed="true">
+ <xsd:sequence>
+ <xsd:any/>
+ </xsd:sequence>
+ <xsd:attribute name="ID" type="xsd:string" use="required"/>
+ <xsd:attribute name="SchemaRef" type="xsd:string" use="optional"/>
+ <xsd:attribute name="Namespace" type="xsd:string" use="optional"/>
+ <xsd:attribute name="SchemaLanguage" type="xsd:token" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Map">
+ <xsd:sequence>
+ <xsd:element name="DataBinding" type="CT_DataBinding" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="ID" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="Name" type="xsd:string" use="required"/>
+ <xsd:attribute name="RootElement" type="xsd:string" use="required"/>
+ <xsd:attribute name="SchemaID" type="xsd:string" use="required"/>
+ <xsd:attribute name="ShowImportExportValidationErrors" type="xsd:boolean" use="required"/>
+ <xsd:attribute name="AutoFit" type="xsd:boolean" use="required"/>
+ <xsd:attribute name="Append" type="xsd:boolean" use="required"/>
+ <xsd:attribute name="PreserveSortAFLayout" type="xsd:boolean" use="required"/>
+ <xsd:attribute name="PreserveFormat" type="xsd:boolean" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DataBinding">
+ <xsd:sequence>
+ <xsd:any/>
+ </xsd:sequence>
+ <xsd:attribute name="DataBindingName" type="xsd:string" use="optional"/>
+ <xsd:attribute name="FileBinding" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="ConnectionID" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="FileBindingName" type="xsd:string" use="optional"/>
+ <xsd:attribute name="DataBindingLoadMode" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="connections" type="CT_Connections"/>
+ <xsd:complexType name="CT_Connections">
+ <xsd:sequence>
+ <xsd:element name="connection" minOccurs="1" maxOccurs="unbounded" type="CT_Connection"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Connection">
+ <xsd:sequence>
+ <xsd:element name="dbPr" minOccurs="0" maxOccurs="1" type="CT_DbPr"/>
+ <xsd:element name="olapPr" minOccurs="0" maxOccurs="1" type="CT_OlapPr"/>
+ <xsd:element name="webPr" minOccurs="0" maxOccurs="1" type="CT_WebPr"/>
+ <xsd:element name="textPr" minOccurs="0" maxOccurs="1" type="CT_TextPr"/>
+ <xsd:element name="parameters" minOccurs="0" maxOccurs="1" type="CT_Parameters"/>
+ <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" use="required" type="xsd:unsignedInt"/>
+ <xsd:attribute name="sourceFile" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="odcFile" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="keepAlive" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="interval" use="optional" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="name" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="description" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="type" use="optional" type="xsd:unsignedInt"/>
+ <xsd:attribute name="reconnectionMethod" use="optional" type="xsd:unsignedInt" default="1"/>
+ <xsd:attribute name="refreshedVersion" use="required" type="xsd:unsignedByte"/>
+ <xsd:attribute name="minRefreshableVersion" use="optional" type="xsd:unsignedByte" default="0"/>
+ <xsd:attribute name="savePassword" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="new" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="deleted" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="onlyUseConnectionFile" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="background" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="refreshOnLoad" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="saveData" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="credentials" use="optional" type="ST_CredMethod" default="integrated"/>
+ <xsd:attribute name="singleSignOnId" use="optional" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_CredMethod">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="integrated"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="stored"/>
+ <xsd:enumeration value="prompt"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DbPr">
+ <xsd:attribute name="connection" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="command" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="serverCommand" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="commandType" use="optional" type="xsd:unsignedInt" default="2"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OlapPr">
+ <xsd:attribute name="local" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="localConnection" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="localRefresh" use="optional" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="sendLocale" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="rowDrillCount" use="optional" type="xsd:unsignedInt"/>
+ <xsd:attribute name="serverFill" use="optional" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="serverNumberFormat" use="optional" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="serverFont" use="optional" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="serverFontColor" use="optional" type="xsd:boolean" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WebPr">
+ <xsd:sequence>
+ <xsd:element name="tables" minOccurs="0" maxOccurs="1" type="CT_Tables"/>
+ </xsd:sequence>
+ <xsd:attribute name="xml" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="sourceData" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="parsePre" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="consecutive" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="firstRow" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="xl97" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="textDates" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="xl2000" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="url" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="post" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="htmlTables" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="htmlFormat" use="optional" type="ST_HtmlFmt" default="none"/>
+ <xsd:attribute name="editPage" use="optional" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_HtmlFmt">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="rtf"/>
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Parameters">
+ <xsd:sequence>
+ <xsd:element name="parameter" minOccurs="1" maxOccurs="unbounded" type="CT_Parameter"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" use="optional" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Parameter">
+ <xsd:attribute name="name" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="sqlType" use="optional" type="xsd:int" default="0"/>
+ <xsd:attribute name="parameterType" use="optional" type="ST_ParameterType" default="prompt"/>
+ <xsd:attribute name="refreshOnChange" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="prompt" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="boolean" use="optional" type="xsd:boolean"/>
+ <xsd:attribute name="double" use="optional" type="xsd:double"/>
+ <xsd:attribute name="integer" use="optional" type="xsd:int"/>
+ <xsd:attribute name="string" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="cell" use="optional" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ParameterType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="prompt"/>
+ <xsd:enumeration value="value"/>
+ <xsd:enumeration value="cell"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Tables">
+ <xsd:choice minOccurs="1" maxOccurs="unbounded">
+ <xsd:element name="m" type="CT_TableMissing"/>
+ <xsd:element name="s" type="CT_XStringElement"/>
+ <xsd:element name="x" type="CT_Index"/>
+ </xsd:choice>
+ <xsd:attribute name="count" use="optional" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableMissing"/>
+ <xsd:complexType name="CT_TextPr">
+ <xsd:sequence>
+ <xsd:element name="textFields" minOccurs="0" maxOccurs="1" type="CT_TextFields"/>
+ </xsd:sequence>
+ <xsd:attribute name="prompt" use="optional" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="fileType" use="optional" type="ST_FileType" default="win"/>
+ <xsd:attribute name="codePage" use="optional" type="xsd:unsignedInt" default="1252"/>
+ <xsd:attribute name="characterSet" use="optional" type="xsd:string"/>
+ <xsd:attribute name="firstRow" use="optional" type="xsd:unsignedInt" default="1"/>
+ <xsd:attribute name="sourceFile" use="optional" type="s:ST_Xstring" default=""/>
+ <xsd:attribute name="delimited" use="optional" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="decimal" use="optional" type="s:ST_Xstring" default="."/>
+ <xsd:attribute name="thousands" use="optional" type="s:ST_Xstring" default=","/>
+ <xsd:attribute name="tab" use="optional" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="space" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="comma" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="semicolon" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="consecutive" use="optional" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="qualifier" use="optional" type="ST_Qualifier" default="doubleQuote"/>
+ <xsd:attribute name="delimiter" use="optional" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FileType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="mac"/>
+ <xsd:enumeration value="win"/>
+ <xsd:enumeration value="dos"/>
+ <xsd:enumeration value="lin"/>
+ <xsd:enumeration value="other"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Qualifier">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="doubleQuote"/>
+ <xsd:enumeration value="singleQuote"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextFields">
+ <xsd:sequence>
+ <xsd:element name="textField" minOccurs="1" maxOccurs="unbounded" type="CT_TextField"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" use="optional" type="xsd:unsignedInt" default="1"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextField">
+ <xsd:attribute name="type" use="optional" type="ST_ExternalConnectionType" default="general"/>
+ <xsd:attribute name="position" use="optional" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ExternalConnectionType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="general"/>
+ <xsd:enumeration value="text"/>
+ <xsd:enumeration value="MDY"/>
+ <xsd:enumeration value="DMY"/>
+ <xsd:enumeration value="YMD"/>
+ <xsd:enumeration value="MYD"/>
+ <xsd:enumeration value="DYM"/>
+ <xsd:enumeration value="YDM"/>
+ <xsd:enumeration value="skip"/>
+ <xsd:enumeration value="EMD"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="pivotCacheDefinition" type="CT_PivotCacheDefinition"/>
+ <xsd:element name="pivotCacheRecords" type="CT_PivotCacheRecords"/>
+ <xsd:element name="pivotTableDefinition" type="CT_pivotTableDefinition"/>
+ <xsd:complexType name="CT_PivotCacheDefinition">
+ <xsd:sequence>
+ <xsd:element name="cacheSource" type="CT_CacheSource" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cacheFields" type="CT_CacheFields" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="cacheHierarchies" minOccurs="0" type="CT_CacheHierarchies"/>
+ <xsd:element name="kpis" minOccurs="0" type="CT_PCDKPIs"/>
+ <xsd:element name="tupleCache" minOccurs="0" type="CT_TupleCache"/>
+ <xsd:element name="calculatedItems" minOccurs="0" type="CT_CalculatedItems"/>
+ <xsd:element name="calculatedMembers" type="CT_CalculatedMembers" minOccurs="0"/>
+ <xsd:element name="dimensions" type="CT_Dimensions" minOccurs="0"/>
+ <xsd:element name="measureGroups" type="CT_MeasureGroups" minOccurs="0"/>
+ <xsd:element name="maps" type="CT_MeasureDimensionMaps" minOccurs="0"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:id" use="optional"/>
+ <xsd:attribute name="invalid" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="saveData" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="refreshOnLoad" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="optimizeMemory" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="enableRefresh" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="refreshedBy" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="refreshedDate" type="xsd:double" use="optional"/>
+ <xsd:attribute name="refreshedDateIso" type="xsd:dateTime" use="optional"/>
+ <xsd:attribute name="backgroundQuery" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="missingItemsLimit" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="createdVersion" type="xsd:unsignedByte" use="optional" default="0"/>
+ <xsd:attribute name="refreshedVersion" type="xsd:unsignedByte" use="optional" default="0"/>
+ <xsd:attribute name="minRefreshableVersion" type="xsd:unsignedByte" use="optional" default="0"/>
+ <xsd:attribute name="recordCount" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="upgradeOnRefresh" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="tupleCache" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="supportSubquery" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="supportAdvancedDrill" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CacheFields">
+ <xsd:sequence>
+ <xsd:element name="cacheField" type="CT_CacheField" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CacheField">
+ <xsd:sequence>
+ <xsd:element name="sharedItems" type="CT_SharedItems" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="fieldGroup" minOccurs="0" type="CT_FieldGroup"/>
+ <xsd:element name="mpMap" minOccurs="0" maxOccurs="unbounded" type="CT_X"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="caption" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="propertyName" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="serverField" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="uniqueList" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/>
+ <xsd:attribute name="formula" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="sqlType" type="xsd:int" use="optional" default="0"/>
+ <xsd:attribute name="hierarchy" type="xsd:int" use="optional" default="0"/>
+ <xsd:attribute name="level" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="databaseField" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="mappingCount" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="memberPropertyField" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CacheSource">
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="worksheetSource" type="CT_WorksheetSource" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="consolidation" type="CT_Consolidation" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0"/>
+ </xsd:choice>
+ <xsd:attribute name="type" type="ST_SourceType" use="required"/>
+ <xsd:attribute name="connectionId" type="xsd:unsignedInt" default="0" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SourceType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="worksheet"/>
+ <xsd:enumeration value="external"/>
+ <xsd:enumeration value="consolidation"/>
+ <xsd:enumeration value="scenario"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_WorksheetSource">
+ <xsd:attribute name="ref" type="ST_Ref" use="optional"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="sheet" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Consolidation">
+ <xsd:sequence>
+ <xsd:element name="pages" type="CT_Pages" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="rangeSets" type="CT_RangeSets" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="autoPage" type="xsd:boolean" default="true" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Pages">
+ <xsd:sequence>
+ <xsd:element name="page" type="CT_PCDSCPage" minOccurs="1" maxOccurs="4"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PCDSCPage">
+ <xsd:sequence>
+ <xsd:element name="pageItem" type="CT_PageItem" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageItem">
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RangeSets">
+ <xsd:sequence>
+ <xsd:element name="rangeSet" type="CT_RangeSet" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RangeSet">
+ <xsd:attribute name="i1" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="i2" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="i3" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="i4" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="ref" type="ST_Ref" use="optional"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="sheet" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SharedItems">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="m" type="CT_Missing" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="n" type="CT_Number" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="b" type="CT_Boolean" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="e" type="CT_Error" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="s" type="CT_String" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="d" type="CT_DateTime" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:attribute name="containsSemiMixedTypes" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="containsNonDate" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="containsDate" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="containsString" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="containsBlank" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="containsMixedTypes" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="containsNumber" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="containsInteger" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="minValue" type="xsd:double" use="optional"/>
+ <xsd:attribute name="maxValue" type="xsd:double" use="optional"/>
+ <xsd:attribute name="minDate" type="xsd:dateTime" use="optional"/>
+ <xsd:attribute name="maxDate" type="xsd:dateTime" use="optional"/>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="longText" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Missing">
+ <xsd:sequence>
+ <xsd:element name="tpls" minOccurs="0" maxOccurs="unbounded" type="CT_Tuples"/>
+ <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/>
+ </xsd:sequence>
+ <xsd:attribute name="u" type="xsd:boolean"/>
+ <xsd:attribute name="f" type="xsd:boolean"/>
+ <xsd:attribute name="c" type="s:ST_Xstring"/>
+ <xsd:attribute name="cp" type="xsd:unsignedInt"/>
+ <xsd:attribute name="in" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="bc" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="fc" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="i" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="un" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="st" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="b" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Number">
+ <xsd:sequence>
+ <xsd:element name="tpls" minOccurs="0" maxOccurs="unbounded" type="CT_Tuples"/>
+ <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/>
+ </xsd:sequence>
+ <xsd:attribute name="v" use="required" type="xsd:double"/>
+ <xsd:attribute name="u" type="xsd:boolean"/>
+ <xsd:attribute name="f" type="xsd:boolean"/>
+ <xsd:attribute name="c" type="s:ST_Xstring"/>
+ <xsd:attribute name="cp" type="xsd:unsignedInt"/>
+ <xsd:attribute name="in" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="bc" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="fc" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="i" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="un" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="st" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="b" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Boolean">
+ <xsd:sequence>
+ <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/>
+ </xsd:sequence>
+ <xsd:attribute name="v" use="required" type="xsd:boolean"/>
+ <xsd:attribute name="u" type="xsd:boolean"/>
+ <xsd:attribute name="f" type="xsd:boolean"/>
+ <xsd:attribute name="c" type="s:ST_Xstring"/>
+ <xsd:attribute name="cp" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Error">
+ <xsd:sequence>
+ <xsd:element name="tpls" minOccurs="0" type="CT_Tuples"/>
+ <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/>
+ </xsd:sequence>
+ <xsd:attribute name="v" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="u" type="xsd:boolean"/>
+ <xsd:attribute name="f" type="xsd:boolean"/>
+ <xsd:attribute name="c" type="s:ST_Xstring"/>
+ <xsd:attribute name="cp" type="xsd:unsignedInt"/>
+ <xsd:attribute name="in" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="bc" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="fc" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="i" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="un" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="st" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="b" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_String">
+ <xsd:sequence>
+ <xsd:element name="tpls" minOccurs="0" maxOccurs="unbounded" type="CT_Tuples"/>
+ <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/>
+ </xsd:sequence>
+ <xsd:attribute name="v" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="u" type="xsd:boolean"/>
+ <xsd:attribute name="f" type="xsd:boolean"/>
+ <xsd:attribute name="c" type="s:ST_Xstring"/>
+ <xsd:attribute name="cp" type="xsd:unsignedInt"/>
+ <xsd:attribute name="in" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="bc" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="fc" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="i" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="un" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="st" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="b" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DateTime">
+ <xsd:sequence>
+ <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/>
+ </xsd:sequence>
+ <xsd:attribute name="v" use="required" type="xsd:dateTime"/>
+ <xsd:attribute name="u" type="xsd:boolean"/>
+ <xsd:attribute name="f" type="xsd:boolean"/>
+ <xsd:attribute name="c" type="s:ST_Xstring"/>
+ <xsd:attribute name="cp" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FieldGroup">
+ <xsd:sequence>
+ <xsd:element name="rangePr" minOccurs="0" type="CT_RangePr"/>
+ <xsd:element name="discretePr" minOccurs="0" type="CT_DiscretePr"/>
+ <xsd:element name="groupItems" minOccurs="0" type="CT_GroupItems"/>
+ </xsd:sequence>
+ <xsd:attribute name="par" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="base" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RangePr">
+ <xsd:attribute name="autoStart" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="autoEnd" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="groupBy" type="ST_GroupBy" default="range"/>
+ <xsd:attribute name="startNum" type="xsd:double"/>
+ <xsd:attribute name="endNum" type="xsd:double"/>
+ <xsd:attribute name="startDate" type="xsd:dateTime"/>
+ <xsd:attribute name="endDate" type="xsd:dateTime"/>
+ <xsd:attribute name="groupInterval" type="xsd:double" default="1"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_GroupBy">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="range"/>
+ <xsd:enumeration value="seconds"/>
+ <xsd:enumeration value="minutes"/>
+ <xsd:enumeration value="hours"/>
+ <xsd:enumeration value="days"/>
+ <xsd:enumeration value="months"/>
+ <xsd:enumeration value="quarters"/>
+ <xsd:enumeration value="years"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DiscretePr">
+ <xsd:sequence>
+ <xsd:element name="x" maxOccurs="unbounded" type="CT_Index"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupItems">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="m" type="CT_Missing"/>
+ <xsd:element name="n" type="CT_Number"/>
+ <xsd:element name="b" type="CT_Boolean"/>
+ <xsd:element name="e" type="CT_Error"/>
+ <xsd:element name="s" type="CT_String"/>
+ <xsd:element name="d" type="CT_DateTime"/>
+ </xsd:choice>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotCacheRecords">
+ <xsd:sequence>
+ <xsd:element name="r" minOccurs="0" maxOccurs="unbounded" type="CT_Record"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Record">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="m" type="CT_Missing"/>
+ <xsd:element name="n" type="CT_Number"/>
+ <xsd:element name="b" type="CT_Boolean"/>
+ <xsd:element name="e" type="CT_Error"/>
+ <xsd:element name="s" type="CT_String"/>
+ <xsd:element name="d" type="CT_DateTime"/>
+ <xsd:element name="x" type="CT_Index"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PCDKPIs">
+ <xsd:sequence>
+ <xsd:element name="kpi" minOccurs="0" maxOccurs="unbounded" type="CT_PCDKPI"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PCDKPI">
+ <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="caption" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="displayFolder" type="s:ST_Xstring"/>
+ <xsd:attribute name="measureGroup" type="s:ST_Xstring"/>
+ <xsd:attribute name="parent" type="s:ST_Xstring"/>
+ <xsd:attribute name="value" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="goal" type="s:ST_Xstring"/>
+ <xsd:attribute name="status" type="s:ST_Xstring"/>
+ <xsd:attribute name="trend" type="s:ST_Xstring"/>
+ <xsd:attribute name="weight" type="s:ST_Xstring"/>
+ <xsd:attribute name="time" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CacheHierarchies">
+ <xsd:sequence>
+ <xsd:element name="cacheHierarchy" minOccurs="0" maxOccurs="unbounded"
+ type="CT_CacheHierarchy"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CacheHierarchy">
+ <xsd:sequence>
+ <xsd:element name="fieldsUsage" minOccurs="0" type="CT_FieldsUsage"/>
+ <xsd:element name="groupLevels" minOccurs="0" type="CT_GroupLevels"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="caption" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="measure" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="set" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="parentSet" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="iconSet" type="xsd:int" default="0"/>
+ <xsd:attribute name="attribute" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="time" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="keyAttribute" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="defaultMemberUniqueName" type="s:ST_Xstring"/>
+ <xsd:attribute name="allUniqueName" type="s:ST_Xstring"/>
+ <xsd:attribute name="allCaption" type="s:ST_Xstring"/>
+ <xsd:attribute name="dimensionUniqueName" type="s:ST_Xstring"/>
+ <xsd:attribute name="displayFolder" type="s:ST_Xstring"/>
+ <xsd:attribute name="measureGroup" type="s:ST_Xstring"/>
+ <xsd:attribute name="measures" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="count" use="required" type="xsd:unsignedInt"/>
+ <xsd:attribute name="oneField" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="memberValueDatatype" use="optional" type="xsd:unsignedShort"/>
+ <xsd:attribute name="unbalanced" use="optional" type="xsd:boolean"/>
+ <xsd:attribute name="unbalancedGroup" use="optional" type="xsd:boolean"/>
+ <xsd:attribute name="hidden" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FieldsUsage">
+ <xsd:sequence>
+ <xsd:element name="fieldUsage" minOccurs="0" maxOccurs="unbounded" type="CT_FieldUsage"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FieldUsage">
+ <xsd:attribute name="x" use="required" type="xsd:int"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupLevels">
+ <xsd:sequence>
+ <xsd:element name="groupLevel" maxOccurs="unbounded" type="CT_GroupLevel"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupLevel">
+ <xsd:sequence>
+ <xsd:element name="groups" minOccurs="0" type="CT_Groups"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="caption" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="user" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="customRollUp" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Groups">
+ <xsd:sequence>
+ <xsd:element name="group" maxOccurs="unbounded" type="CT_LevelGroup"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LevelGroup">
+ <xsd:sequence>
+ <xsd:element name="groupMembers" type="CT_GroupMembers"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="caption" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="uniqueParent" type="s:ST_Xstring"/>
+ <xsd:attribute name="id" type="xsd:int"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupMembers">
+ <xsd:sequence>
+ <xsd:element name="groupMember" maxOccurs="unbounded" type="CT_GroupMember"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GroupMember">
+ <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="group" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TupleCache">
+ <xsd:sequence>
+ <xsd:element name="entries" minOccurs="0" type="CT_PCDSDTCEntries"/>
+ <xsd:element name="sets" minOccurs="0" type="CT_Sets"/>
+ <xsd:element name="queryCache" minOccurs="0" type="CT_QueryCache"/>
+ <xsd:element name="serverFormats" minOccurs="0" maxOccurs="1" type="CT_ServerFormats"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ServerFormat">
+ <xsd:attribute name="culture" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="format" use="optional" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ServerFormats">
+ <xsd:sequence>
+ <xsd:element name="serverFormat" type="CT_ServerFormat" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PCDSDTCEntries">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="m" type="CT_Missing"/>
+ <xsd:element name="n" type="CT_Number"/>
+ <xsd:element name="e" type="CT_Error"/>
+ <xsd:element name="s" type="CT_String"/>
+ </xsd:choice>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Tuples">
+ <xsd:sequence>
+ <xsd:element name="tpl" type="CT_Tuple" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="c" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Tuple">
+ <xsd:attribute name="fld" type="xsd:unsignedInt"/>
+ <xsd:attribute name="hier" type="xsd:unsignedInt"/>
+ <xsd:attribute name="item" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Sets">
+ <xsd:sequence>
+ <xsd:element name="set" maxOccurs="unbounded" type="CT_Set"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Set">
+ <xsd:sequence>
+ <xsd:element name="tpls" minOccurs="0" maxOccurs="unbounded" type="CT_Tuples"/>
+ <xsd:element name="sortByTuple" minOccurs="0" type="CT_Tuples"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ <xsd:attribute name="maxRank" use="required" type="xsd:int"/>
+ <xsd:attribute name="setDefinition" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="sortType" type="ST_SortType" default="none"/>
+ <xsd:attribute name="queryFailed" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SortType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="ascending"/>
+ <xsd:enumeration value="descending"/>
+ <xsd:enumeration value="ascendingAlpha"/>
+ <xsd:enumeration value="descendingAlpha"/>
+ <xsd:enumeration value="ascendingNatural"/>
+ <xsd:enumeration value="descendingNatural"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_QueryCache">
+ <xsd:sequence>
+ <xsd:element name="query" maxOccurs="unbounded" type="CT_Query"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Query">
+ <xsd:sequence>
+ <xsd:element name="tpls" minOccurs="0" type="CT_Tuples"/>
+ </xsd:sequence>
+ <xsd:attribute name="mdx" use="required" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CalculatedItems">
+ <xsd:sequence>
+ <xsd:element name="calculatedItem" maxOccurs="unbounded" type="CT_CalculatedItem"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CalculatedItem">
+ <xsd:sequence>
+ <xsd:element name="pivotArea" type="CT_PivotArea"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="field" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="formula" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CalculatedMembers">
+ <xsd:sequence>
+ <xsd:element name="calculatedMember" maxOccurs="unbounded" type="CT_CalculatedMember"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CalculatedMember">
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="mdx" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="memberName" type="s:ST_Xstring"/>
+ <xsd:attribute name="hierarchy" type="s:ST_Xstring"/>
+ <xsd:attribute name="parent" type="s:ST_Xstring"/>
+ <xsd:attribute name="solveOrder" type="xsd:int" default="0"/>
+ <xsd:attribute name="set" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_pivotTableDefinition">
+ <xsd:sequence>
+ <xsd:element name="location" type="CT_Location"/>
+ <xsd:element name="pivotFields" type="CT_PivotFields" minOccurs="0"/>
+ <xsd:element name="rowFields" type="CT_RowFields" minOccurs="0"/>
+ <xsd:element name="rowItems" type="CT_rowItems" minOccurs="0"/>
+ <xsd:element name="colFields" type="CT_ColFields" minOccurs="0"/>
+ <xsd:element name="colItems" type="CT_colItems" minOccurs="0"/>
+ <xsd:element name="pageFields" type="CT_PageFields" minOccurs="0"/>
+ <xsd:element name="dataFields" type="CT_DataFields" minOccurs="0"/>
+ <xsd:element name="formats" type="CT_Formats" minOccurs="0"/>
+ <xsd:element name="conditionalFormats" type="CT_ConditionalFormats" minOccurs="0"/>
+ <xsd:element name="chartFormats" type="CT_ChartFormats" minOccurs="0"/>
+ <xsd:element name="pivotHierarchies" type="CT_PivotHierarchies" minOccurs="0"/>
+ <xsd:element name="pivotTableStyleInfo" minOccurs="0" maxOccurs="1" type="CT_PivotTableStyle"/>
+ <xsd:element name="filters" minOccurs="0" maxOccurs="1" type="CT_PivotFilters"/>
+ <xsd:element name="rowHierarchiesUsage" type="CT_RowHierarchiesUsage" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="colHierarchiesUsage" type="CT_ColHierarchiesUsage" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="cacheId" use="required" type="xsd:unsignedInt"/>
+ <xsd:attribute name="dataOnRows" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="dataPosition" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attributeGroup ref="AG_AutoFormat"/>
+ <xsd:attribute name="dataCaption" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="grandTotalCaption" type="s:ST_Xstring"/>
+ <xsd:attribute name="errorCaption" type="s:ST_Xstring"/>
+ <xsd:attribute name="showError" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="missingCaption" type="s:ST_Xstring"/>
+ <xsd:attribute name="showMissing" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="pageStyle" type="s:ST_Xstring"/>
+ <xsd:attribute name="pivotTableStyle" type="s:ST_Xstring"/>
+ <xsd:attribute name="vacatedStyle" type="s:ST_Xstring"/>
+ <xsd:attribute name="tag" type="s:ST_Xstring"/>
+ <xsd:attribute name="updatedVersion" type="xsd:unsignedByte" default="0"/>
+ <xsd:attribute name="minRefreshableVersion" type="xsd:unsignedByte" default="0"/>
+ <xsd:attribute name="asteriskTotals" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="showItems" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="editData" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="disableFieldList" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="showCalcMbrs" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="visualTotals" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="showMultipleLabel" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="showDataDropDown" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="showDrill" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="printDrill" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="showMemberPropertyTips" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="showDataTips" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="enableWizard" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="enableDrill" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="enableFieldProperties" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="preserveFormatting" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="useAutoFormatting" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="pageWrap" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="pageOverThenDown" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="subtotalHiddenItems" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="rowGrandTotals" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="colGrandTotals" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="fieldPrintTitles" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="itemPrintTitles" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="mergeItem" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="showDropZones" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="createdVersion" type="xsd:unsignedByte" default="0"/>
+ <xsd:attribute name="indent" type="xsd:unsignedInt" default="1"/>
+ <xsd:attribute name="showEmptyRow" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="showEmptyCol" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="showHeaders" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="compact" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="outline" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="outlineData" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="compactData" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="published" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="gridDropZones" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="immersive" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="multipleFieldFilters" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="chartFormat" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="rowHeaderCaption" type="s:ST_Xstring"/>
+ <xsd:attribute name="colHeaderCaption" type="s:ST_Xstring"/>
+ <xsd:attribute name="fieldListSortAscending" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="mdxSubqueries" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="customListSort" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Location">
+ <xsd:attribute name="ref" use="required" type="ST_Ref"/>
+ <xsd:attribute name="firstHeaderRow" use="required" type="xsd:unsignedInt"/>
+ <xsd:attribute name="firstDataRow" use="required" type="xsd:unsignedInt"/>
+ <xsd:attribute name="firstDataCol" use="required" type="xsd:unsignedInt"/>
+ <xsd:attribute name="rowPageCount" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="colPageCount" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotFields">
+ <xsd:sequence>
+ <xsd:element name="pivotField" maxOccurs="unbounded" type="CT_PivotField"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotField">
+ <xsd:sequence>
+ <xsd:element name="items" minOccurs="0" type="CT_Items"/>
+ <xsd:element name="autoSortScope" minOccurs="0" type="CT_AutoSortScope"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="s:ST_Xstring"/>
+ <xsd:attribute name="axis" use="optional" type="ST_Axis"/>
+ <xsd:attribute name="dataField" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="subtotalCaption" type="s:ST_Xstring"/>
+ <xsd:attribute name="showDropDowns" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="hiddenLevel" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="uniqueMemberProperty" type="s:ST_Xstring"/>
+ <xsd:attribute name="compact" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="allDrilled" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/>
+ <xsd:attribute name="outline" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="subtotalTop" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="dragToRow" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="dragToCol" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="multipleItemSelectionAllowed" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="dragToPage" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="dragToData" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="dragOff" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="showAll" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="insertBlankRow" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="serverField" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="insertPageBreak" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="autoShow" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="topAutoShow" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="hideNewItems" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="measureFilter" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="includeNewItemsInFilter" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="itemPageCount" type="xsd:unsignedInt" default="10"/>
+ <xsd:attribute name="sortType" type="ST_FieldSortType" default="manual"/>
+ <xsd:attribute name="dataSourceSort" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="nonAutoSortDefault" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="rankBy" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="defaultSubtotal" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="sumSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="countASubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="avgSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="maxSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="minSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="productSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="countSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="stdDevSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="stdDevPSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="varSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="varPSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="showPropCell" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showPropTip" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showPropAsCaption" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="defaultAttributeDrillState" type="xsd:boolean" use="optional"
+ default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AutoSortScope">
+ <xsd:sequence>
+ <xsd:element name="pivotArea" type="CT_PivotArea"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Items">
+ <xsd:sequence>
+ <xsd:element name="item" maxOccurs="unbounded" type="CT_Item"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Item">
+ <xsd:attribute name="n" type="s:ST_Xstring"/>
+ <xsd:attribute name="t" type="ST_ItemType" default="data"/>
+ <xsd:attribute name="h" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="s" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="sd" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="f" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="m" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="c" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="x" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="d" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="e" type="xsd:boolean" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageFields">
+ <xsd:sequence>
+ <xsd:element name="pageField" maxOccurs="unbounded" type="CT_PageField"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageField">
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="fld" use="required" type="xsd:int"/>
+ <xsd:attribute name="item" use="optional" type="xsd:unsignedInt"/>
+ <xsd:attribute name="hier" type="xsd:int"/>
+ <xsd:attribute name="name" type="s:ST_Xstring"/>
+ <xsd:attribute name="cap" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DataFields">
+ <xsd:sequence>
+ <xsd:element name="dataField" maxOccurs="unbounded" type="CT_DataField"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DataField">
+ <xsd:sequence>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" use="optional" type="s:ST_Xstring"/>
+ <xsd:attribute name="fld" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="subtotal" type="ST_DataConsolidateFunction" default="sum"/>
+ <xsd:attribute name="showDataAs" type="ST_ShowDataAs" default="normal"/>
+ <xsd:attribute name="baseField" type="xsd:int" default="-1"/>
+ <xsd:attribute name="baseItem" type="xsd:unsignedInt" default="1048832"/>
+ <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_rowItems">
+ <xsd:sequence>
+ <xsd:element name="i" maxOccurs="unbounded" type="CT_I"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_colItems">
+ <xsd:sequence>
+ <xsd:element name="i" maxOccurs="unbounded" type="CT_I"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_I">
+ <xsd:sequence>
+ <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_X"/>
+ </xsd:sequence>
+ <xsd:attribute name="t" type="ST_ItemType" default="data"/>
+ <xsd:attribute name="r" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="i" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_X">
+ <xsd:attribute name="v" type="xsd:int" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RowFields">
+ <xsd:sequence>
+ <xsd:element name="field" maxOccurs="unbounded" type="CT_Field"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColFields">
+ <xsd:sequence>
+ <xsd:element name="field" maxOccurs="unbounded" type="CT_Field"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Field">
+ <xsd:attribute name="x" type="xsd:int" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Formats">
+ <xsd:sequence>
+ <xsd:element name="format" maxOccurs="unbounded" type="CT_Format"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Format">
+ <xsd:sequence>
+ <xsd:element name="pivotArea" type="CT_PivotArea"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="action" type="ST_FormatAction" default="formatting"/>
+ <xsd:attribute name="dxfId" type="ST_DxfId" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ConditionalFormats">
+ <xsd:sequence>
+ <xsd:element name="conditionalFormat" maxOccurs="unbounded" type="CT_ConditionalFormat"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ConditionalFormat">
+ <xsd:sequence>
+ <xsd:element name="pivotAreas" type="CT_PivotAreas"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="scope" type="ST_Scope" default="selection"/>
+ <xsd:attribute name="type" type="ST_Type" default="none"/>
+ <xsd:attribute name="priority" use="required" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotAreas">
+ <xsd:sequence>
+ <xsd:element name="pivotArea" minOccurs="0" maxOccurs="unbounded" type="CT_PivotArea"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Scope">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="selection"/>
+ <xsd:enumeration value="data"/>
+ <xsd:enumeration value="field"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Type">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="all"/>
+ <xsd:enumeration value="row"/>
+ <xsd:enumeration value="column"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ChartFormats">
+ <xsd:sequence>
+ <xsd:element name="chartFormat" maxOccurs="unbounded" type="CT_ChartFormat"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ChartFormat">
+ <xsd:sequence>
+ <xsd:element name="pivotArea" type="CT_PivotArea"/>
+ </xsd:sequence>
+ <xsd:attribute name="chart" use="required" type="xsd:unsignedInt"/>
+ <xsd:attribute name="format" use="required" type="xsd:unsignedInt"/>
+ <xsd:attribute name="series" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotHierarchies">
+ <xsd:sequence>
+ <xsd:element name="pivotHierarchy" maxOccurs="unbounded" type="CT_PivotHierarchy"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotHierarchy">
+ <xsd:sequence>
+ <xsd:element name="mps" minOccurs="0" type="CT_MemberProperties"/>
+ <xsd:element name="members" minOccurs="0" maxOccurs="unbounded" type="CT_Members"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="outline" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="multipleItemSelectionAllowed" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="subtotalTop" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="showInFieldList" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="dragToRow" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="dragToCol" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="dragToPage" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="dragToData" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="dragOff" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="includeNewItemsInFilter" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="caption" type="s:ST_Xstring" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RowHierarchiesUsage">
+ <xsd:sequence>
+ <xsd:element name="rowHierarchyUsage" minOccurs="1" maxOccurs="unbounded"
+ type="CT_HierarchyUsage"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColHierarchiesUsage">
+ <xsd:sequence>
+ <xsd:element name="colHierarchyUsage" minOccurs="1" maxOccurs="unbounded"
+ type="CT_HierarchyUsage"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_HierarchyUsage">
+ <xsd:attribute name="hierarchyUsage" type="xsd:int" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MemberProperties">
+ <xsd:sequence>
+ <xsd:element name="mp" maxOccurs="unbounded" type="CT_MemberProperty"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MemberProperty">
+ <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="showCell" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showTip" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showAsCaption" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="nameLen" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="pPos" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="pLen" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="level" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="field" use="required" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Members">
+ <xsd:sequence>
+ <xsd:element name="member" maxOccurs="unbounded" type="CT_Member"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ <xsd:attribute name="level" use="optional" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Member">
+ <xsd:attribute name="name" use="required" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Dimensions">
+ <xsd:sequence>
+ <xsd:element name="dimension" minOccurs="0" maxOccurs="unbounded" type="CT_PivotDimension"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotDimension">
+ <xsd:attribute name="measure" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="name" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="uniqueName" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="caption" use="required" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MeasureGroups">
+ <xsd:sequence>
+ <xsd:element name="measureGroup" minOccurs="0" maxOccurs="unbounded" type="CT_MeasureGroup"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MeasureDimensionMaps">
+ <xsd:sequence>
+ <xsd:element name="map" minOccurs="0" maxOccurs="unbounded" type="CT_MeasureDimensionMap"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MeasureGroup">
+ <xsd:attribute name="name" use="required" type="s:ST_Xstring"/>
+ <xsd:attribute name="caption" use="required" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MeasureDimensionMap">
+ <xsd:attribute name="measureGroup" use="optional" type="xsd:unsignedInt"/>
+ <xsd:attribute name="dimension" use="optional" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotTableStyle">
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="showRowHeaders" type="xsd:boolean"/>
+ <xsd:attribute name="showColHeaders" type="xsd:boolean"/>
+ <xsd:attribute name="showRowStripes" type="xsd:boolean"/>
+ <xsd:attribute name="showColStripes" type="xsd:boolean"/>
+ <xsd:attribute name="showLastColumn" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotFilters">
+ <xsd:sequence>
+ <xsd:element name="filter" minOccurs="0" maxOccurs="unbounded" type="CT_PivotFilter"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotFilter">
+ <xsd:sequence>
+ <xsd:element name="autoFilter" minOccurs="1" maxOccurs="1" type="CT_AutoFilter"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="fld" use="required" type="xsd:unsignedInt"/>
+ <xsd:attribute name="mpFld" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="type" use="required" type="ST_PivotFilterType"/>
+ <xsd:attribute name="evalOrder" use="optional" type="xsd:int" default="0"/>
+ <xsd:attribute name="id" use="required" type="xsd:unsignedInt"/>
+ <xsd:attribute name="iMeasureHier" use="optional" type="xsd:unsignedInt"/>
+ <xsd:attribute name="iMeasureFld" use="optional" type="xsd:unsignedInt"/>
+ <xsd:attribute name="name" type="s:ST_Xstring"/>
+ <xsd:attribute name="description" type="s:ST_Xstring"/>
+ <xsd:attribute name="stringValue1" type="s:ST_Xstring"/>
+ <xsd:attribute name="stringValue2" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ShowDataAs">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="normal"/>
+ <xsd:enumeration value="difference"/>
+ <xsd:enumeration value="percent"/>
+ <xsd:enumeration value="percentDiff"/>
+ <xsd:enumeration value="runTotal"/>
+ <xsd:enumeration value="percentOfRow"/>
+ <xsd:enumeration value="percentOfCol"/>
+ <xsd:enumeration value="percentOfTotal"/>
+ <xsd:enumeration value="index"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ItemType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="data"/>
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="sum"/>
+ <xsd:enumeration value="countA"/>
+ <xsd:enumeration value="avg"/>
+ <xsd:enumeration value="max"/>
+ <xsd:enumeration value="min"/>
+ <xsd:enumeration value="product"/>
+ <xsd:enumeration value="count"/>
+ <xsd:enumeration value="stdDev"/>
+ <xsd:enumeration value="stdDevP"/>
+ <xsd:enumeration value="var"/>
+ <xsd:enumeration value="varP"/>
+ <xsd:enumeration value="grand"/>
+ <xsd:enumeration value="blank"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FormatAction">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="blank"/>
+ <xsd:enumeration value="formatting"/>
+ <xsd:enumeration value="drill"/>
+ <xsd:enumeration value="formula"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FieldSortType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="manual"/>
+ <xsd:enumeration value="ascending"/>
+ <xsd:enumeration value="descending"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PivotFilterType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="unknown"/>
+ <xsd:enumeration value="count"/>
+ <xsd:enumeration value="percent"/>
+ <xsd:enumeration value="sum"/>
+ <xsd:enumeration value="captionEqual"/>
+ <xsd:enumeration value="captionNotEqual"/>
+ <xsd:enumeration value="captionBeginsWith"/>
+ <xsd:enumeration value="captionNotBeginsWith"/>
+ <xsd:enumeration value="captionEndsWith"/>
+ <xsd:enumeration value="captionNotEndsWith"/>
+ <xsd:enumeration value="captionContains"/>
+ <xsd:enumeration value="captionNotContains"/>
+ <xsd:enumeration value="captionGreaterThan"/>
+ <xsd:enumeration value="captionGreaterThanOrEqual"/>
+ <xsd:enumeration value="captionLessThan"/>
+ <xsd:enumeration value="captionLessThanOrEqual"/>
+ <xsd:enumeration value="captionBetween"/>
+ <xsd:enumeration value="captionNotBetween"/>
+ <xsd:enumeration value="valueEqual"/>
+ <xsd:enumeration value="valueNotEqual"/>
+ <xsd:enumeration value="valueGreaterThan"/>
+ <xsd:enumeration value="valueGreaterThanOrEqual"/>
+ <xsd:enumeration value="valueLessThan"/>
+ <xsd:enumeration value="valueLessThanOrEqual"/>
+ <xsd:enumeration value="valueBetween"/>
+ <xsd:enumeration value="valueNotBetween"/>
+ <xsd:enumeration value="dateEqual"/>
+ <xsd:enumeration value="dateNotEqual"/>
+ <xsd:enumeration value="dateOlderThan"/>
+ <xsd:enumeration value="dateOlderThanOrEqual"/>
+ <xsd:enumeration value="dateNewerThan"/>
+ <xsd:enumeration value="dateNewerThanOrEqual"/>
+ <xsd:enumeration value="dateBetween"/>
+ <xsd:enumeration value="dateNotBetween"/>
+ <xsd:enumeration value="tomorrow"/>
+ <xsd:enumeration value="today"/>
+ <xsd:enumeration value="yesterday"/>
+ <xsd:enumeration value="nextWeek"/>
+ <xsd:enumeration value="thisWeek"/>
+ <xsd:enumeration value="lastWeek"/>
+ <xsd:enumeration value="nextMonth"/>
+ <xsd:enumeration value="thisMonth"/>
+ <xsd:enumeration value="lastMonth"/>
+ <xsd:enumeration value="nextQuarter"/>
+ <xsd:enumeration value="thisQuarter"/>
+ <xsd:enumeration value="lastQuarter"/>
+ <xsd:enumeration value="nextYear"/>
+ <xsd:enumeration value="thisYear"/>
+ <xsd:enumeration value="lastYear"/>
+ <xsd:enumeration value="yearToDate"/>
+ <xsd:enumeration value="Q1"/>
+ <xsd:enumeration value="Q2"/>
+ <xsd:enumeration value="Q3"/>
+ <xsd:enumeration value="Q4"/>
+ <xsd:enumeration value="M1"/>
+ <xsd:enumeration value="M2"/>
+ <xsd:enumeration value="M3"/>
+ <xsd:enumeration value="M4"/>
+ <xsd:enumeration value="M5"/>
+ <xsd:enumeration value="M6"/>
+ <xsd:enumeration value="M7"/>
+ <xsd:enumeration value="M8"/>
+ <xsd:enumeration value="M9"/>
+ <xsd:enumeration value="M10"/>
+ <xsd:enumeration value="M11"/>
+ <xsd:enumeration value="M12"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PivotArea">
+ <xsd:sequence>
+ <xsd:element name="references" minOccurs="0" type="CT_PivotAreaReferences"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="field" use="optional" type="xsd:int"/>
+ <xsd:attribute name="type" type="ST_PivotAreaType" default="normal"/>
+ <xsd:attribute name="dataOnly" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="labelOnly" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="grandRow" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="grandCol" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="cacheIndex" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="outline" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="offset" type="ST_Ref"/>
+ <xsd:attribute name="collapsedLevelsAreSubtotals" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="axis" type="ST_Axis" use="optional"/>
+ <xsd:attribute name="fieldPosition" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PivotAreaType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="normal"/>
+ <xsd:enumeration value="data"/>
+ <xsd:enumeration value="all"/>
+ <xsd:enumeration value="origin"/>
+ <xsd:enumeration value="button"/>
+ <xsd:enumeration value="topEnd"/>
+ <xsd:enumeration value="topRight"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PivotAreaReferences">
+ <xsd:sequence>
+ <xsd:element name="reference" maxOccurs="unbounded" type="CT_PivotAreaReference"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotAreaReference">
+ <xsd:sequence>
+ <xsd:element name="x" minOccurs="0" maxOccurs="unbounded" type="CT_Index"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="field" use="optional" type="xsd:unsignedInt"/>
+ <xsd:attribute name="count" type="xsd:unsignedInt"/>
+ <xsd:attribute name="selected" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="byPosition" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="relative" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="defaultSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="sumSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="countASubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="avgSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="maxSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="minSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="productSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="countSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="stdDevSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="stdDevPSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="varSubtotal" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="varPSubtotal" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Index">
+ <xsd:attribute name="v" use="required" type="xsd:unsignedInt"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Axis">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="axisRow"/>
+ <xsd:enumeration value="axisCol"/>
+ <xsd:enumeration value="axisPage"/>
+ <xsd:enumeration value="axisValues"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="queryTable" type="CT_QueryTable"/>
+ <xsd:complexType name="CT_QueryTable">
+ <xsd:sequence>
+ <xsd:element name="queryTableRefresh" type="CT_QueryTableRefresh" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="headers" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="rowNumbers" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="disableRefresh" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="backgroundRefresh" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="firstBackgroundRefresh" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="refreshOnLoad" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="growShrinkType" type="ST_GrowShrinkType" use="optional"
+ default="insertDelete"/>
+ <xsd:attribute name="fillFormulas" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="removeDataOnSave" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="disableEdit" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="preserveFormatting" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="adjustColumnWidth" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="intermediate" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="connectionId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attributeGroup ref="AG_AutoFormat"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_QueryTableRefresh">
+ <xsd:sequence>
+ <xsd:element name="queryTableFields" type="CT_QueryTableFields" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="queryTableDeletedFields" type="CT_QueryTableDeletedFields" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="sortState" minOccurs="0" maxOccurs="1" type="CT_SortState"/>
+ <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="preserveSortFilterLayout" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="fieldIdWrapped" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="headersInLastRefresh" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="minimumVersion" type="xsd:unsignedByte" use="optional" default="0"/>
+ <xsd:attribute name="nextId" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="unboundColumnsLeft" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="unboundColumnsRight" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_QueryTableDeletedFields">
+ <xsd:sequence>
+ <xsd:element name="deletedField" type="CT_DeletedField" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DeletedField">
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_QueryTableFields">
+ <xsd:sequence>
+ <xsd:element name="queryTableField" type="CT_QueryTableField" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_QueryTableField">
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="dataBound" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="rowNumbers" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="fillFormulas" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="clipped" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="tableColumnId" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_GrowShrinkType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="insertDelete"/>
+ <xsd:enumeration value="insertClear"/>
+ <xsd:enumeration value="overwriteClear"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="sst" type="CT_Sst"/>
+ <xsd:complexType name="CT_Sst">
+ <xsd:sequence>
+ <xsd:element name="si" type="CT_Rst" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="uniqueCount" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PhoneticType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="halfwidthKatakana"/>
+ <xsd:enumeration value="fullwidthKatakana"/>
+ <xsd:enumeration value="Hiragana"/>
+ <xsd:enumeration value="noConversion"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PhoneticAlignment">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="noControl"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="distributed"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PhoneticRun">
+ <xsd:sequence>
+ <xsd:element name="t" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="sb" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="eb" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RElt">
+ <xsd:sequence>
+ <xsd:element name="rPr" type="CT_RPrElt" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="t" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RPrElt">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="rFont" type="CT_FontName" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="charset" type="CT_IntProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="family" type="CT_IntProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="b" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="i" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="strike" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="outline" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="shadow" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="condense" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extend" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="color" type="CT_Color" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sz" type="CT_FontSize" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="u" type="CT_UnderlineProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="vertAlign" type="CT_VerticalAlignFontProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="scheme" type="CT_FontScheme" minOccurs="0" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Rst">
+ <xsd:sequence>
+ <xsd:element name="t" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="r" type="CT_RElt" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rPh" type="CT_PhoneticRun" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="phoneticPr" minOccurs="0" maxOccurs="1" type="CT_PhoneticPr"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PhoneticPr">
+ <xsd:attribute name="fontId" type="ST_FontId" use="required"/>
+ <xsd:attribute name="type" type="ST_PhoneticType" use="optional" default="fullwidthKatakana"/>
+ <xsd:attribute name="alignment" type="ST_PhoneticAlignment" use="optional" default="left"/>
+ </xsd:complexType>
+ <xsd:element name="headers" type="CT_RevisionHeaders"/>
+ <xsd:element name="revisions" type="CT_Revisions"/>
+ <xsd:complexType name="CT_RevisionHeaders">
+ <xsd:sequence>
+ <xsd:element name="header" type="CT_RevisionHeader" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="guid" type="s:ST_Guid" use="required"/>
+ <xsd:attribute name="lastGuid" type="s:ST_Guid" use="optional"/>
+ <xsd:attribute name="shared" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="diskRevisions" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="history" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="trackRevisions" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="exclusive" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="revisionId" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="version" type="xsd:int" default="1"/>
+ <xsd:attribute name="keepChangeHistory" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="protected" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="preserveHistory" type="xsd:unsignedInt" default="30"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Revisions">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="rrc" type="CT_RevisionRowColumn" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rm" type="CT_RevisionMove" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rcv" type="CT_RevisionCustomView" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rsnm" type="CT_RevisionSheetRename" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ris" type="CT_RevisionInsertSheet" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rcc" type="CT_RevisionCellChange" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rfmt" type="CT_RevisionFormatting" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="raf" type="CT_RevisionAutoFormatting" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rdn" type="CT_RevisionDefinedName" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rcmt" type="CT_RevisionComment" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rqt" type="CT_RevisionQueryTableField" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rcft" type="CT_RevisionConflict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:attributeGroup name="AG_RevData">
+ <xsd:attribute name="rId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="ua" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="ra" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:attributeGroup>
+ <xsd:complexType name="CT_RevisionHeader">
+ <xsd:sequence>
+ <xsd:element name="sheetIdMap" minOccurs="1" maxOccurs="1" type="CT_SheetIdMap"/>
+ <xsd:element name="reviewedList" minOccurs="0" maxOccurs="1" type="CT_ReviewedRevisions"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="guid" type="s:ST_Guid" use="required"/>
+ <xsd:attribute name="dateTime" type="xsd:dateTime" use="required"/>
+ <xsd:attribute name="maxSheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="userName" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute ref="r:id" use="required"/>
+ <xsd:attribute name="minRId" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="maxRId" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SheetIdMap">
+ <xsd:sequence>
+ <xsd:element name="sheetId" type="CT_SheetId" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SheetId">
+ <xsd:attribute name="val" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ReviewedRevisions">
+ <xsd:sequence>
+ <xsd:element name="reviewed" type="CT_Reviewed" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Reviewed">
+ <xsd:attribute name="rId" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_UndoInfo">
+ <xsd:attribute name="index" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="exp" type="ST_FormulaExpression" use="required"/>
+ <xsd:attribute name="ref3D" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="array" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="v" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="nf" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="cs" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="dr" type="ST_RefA" use="required"/>
+ <xsd:attribute name="dn" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="r" type="ST_CellRef" use="optional"/>
+ <xsd:attribute name="sId" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionRowColumn">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="undo" type="CT_UndoInfo" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rcc" type="CT_RevisionCellChange" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rfmt" type="CT_RevisionFormatting" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="AG_RevData"/>
+ <xsd:attribute name="sId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="eol" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ <xsd:attribute name="action" type="ST_rwColActionType" use="required"/>
+ <xsd:attribute name="edge" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionMove">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="undo" type="CT_UndoInfo" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rcc" type="CT_RevisionCellChange" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="rfmt" type="CT_RevisionFormatting" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="AG_RevData"/>
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="source" type="ST_Ref" use="required"/>
+ <xsd:attribute name="destination" type="ST_Ref" use="required"/>
+ <xsd:attribute name="sourceSheetId" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionCustomView">
+ <xsd:attribute name="guid" type="s:ST_Guid" use="required"/>
+ <xsd:attribute name="action" type="ST_RevisionAction" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionSheetRename">
+ <xsd:sequence>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_RevData"/>
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="oldName" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="newName" type="s:ST_Xstring" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionInsertSheet">
+ <xsd:attributeGroup ref="AG_RevData"/>
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="sheetPosition" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionCellChange">
+ <xsd:sequence>
+ <xsd:element name="oc" type="CT_Cell" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="nc" type="CT_Cell" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="odxf" type="CT_Dxf" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ndxf" type="CT_Dxf" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_RevData"/>
+ <xsd:attribute name="sId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="odxf" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="xfDxf" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="s" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="dxf" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/>
+ <xsd:attribute name="quotePrefix" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="oldQuotePrefix" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="ph" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="oldPh" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="endOfListFormulaUpdate" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionFormatting">
+ <xsd:sequence>
+ <xsd:element name="dxf" type="CT_Dxf" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="xfDxf" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="s" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="sqref" type="ST_Sqref" use="required"/>
+ <xsd:attribute name="start" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="length" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionAutoFormatting">
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attributeGroup ref="AG_AutoFormat"/>
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionComment">
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="cell" type="ST_CellRef" use="required"/>
+ <xsd:attribute name="guid" type="s:ST_Guid" use="required"/>
+ <xsd:attribute name="action" type="ST_RevisionAction" default="add"/>
+ <xsd:attribute name="alwaysShow" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="old" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="hiddenRow" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="hiddenColumn" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="author" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="oldLength" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="newLength" type="xsd:unsignedInt" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionDefinedName">
+ <xsd:sequence>
+ <xsd:element name="formula" type="ST_Formula" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="oldFormula" type="ST_Formula" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_RevData"/>
+ <xsd:attribute name="localSheetId" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="customView" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="function" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="oldFunction" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="functionGroupId" type="xsd:unsignedByte" use="optional"/>
+ <xsd:attribute name="oldFunctionGroupId" type="xsd:unsignedByte" use="optional"/>
+ <xsd:attribute name="shortcutKey" type="xsd:unsignedByte" use="optional"/>
+ <xsd:attribute name="oldShortcutKey" type="xsd:unsignedByte" use="optional"/>
+ <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="oldHidden" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="customMenu" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="oldCustomMenu" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="description" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="oldDescription" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="help" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="oldHelp" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="statusBar" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="oldStatusBar" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="comment" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="oldComment" type="s:ST_Xstring" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionConflict">
+ <xsd:attributeGroup ref="AG_RevData"/>
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RevisionQueryTableField">
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ <xsd:attribute name="fieldId" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_rwColActionType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="insertRow"/>
+ <xsd:enumeration value="deleteRow"/>
+ <xsd:enumeration value="insertCol"/>
+ <xsd:enumeration value="deleteCol"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_RevisionAction">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="add"/>
+ <xsd:enumeration value="delete"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FormulaExpression">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ref"/>
+ <xsd:enumeration value="refError"/>
+ <xsd:enumeration value="area"/>
+ <xsd:enumeration value="areaError"/>
+ <xsd:enumeration value="computedArea"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="users" type="CT_Users"/>
+ <xsd:complexType name="CT_Users">
+ <xsd:sequence>
+ <xsd:element name="userInfo" minOccurs="0" maxOccurs="256" type="CT_SharedUser"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SharedUser">
+ <xsd:sequence>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="guid" type="s:ST_Guid" use="required"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="id" type="xsd:int" use="required"/>
+ <xsd:attribute name="dateTime" type="xsd:dateTime" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="worksheet" type="CT_Worksheet"/>
+ <xsd:element name="chartsheet" type="CT_Chartsheet"/>
+ <xsd:element name="dialogsheet" type="CT_Dialogsheet"/>
+ <xsd:complexType name="CT_Macrosheet">
+ <xsd:sequence>
+ <xsd:element name="sheetPr" type="CT_SheetPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dimension" type="CT_SheetDimension" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sheetViews" type="CT_SheetViews" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sheetFormatPr" type="CT_SheetFormatPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cols" type="CT_Cols" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="sheetData" type="CT_SheetData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="sheetProtection" type="CT_SheetProtection" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="autoFilter" type="CT_AutoFilter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sortState" type="CT_SortState" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dataConsolidate" type="CT_DataConsolidate" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="customSheetViews" type="CT_CustomSheetViews" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="phoneticPr" type="CT_PhoneticPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="conditionalFormatting" type="CT_ConditionalFormatting" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="printOptions" type="CT_PrintOptions" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pageMargins" type="CT_PageMargins" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pageSetup" type="CT_PageSetup" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="headerFooter" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="rowBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="colBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="customProperties" type="CT_CustomProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="drawing" type="CT_Drawing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="legacyDrawing" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="legacyDrawingHF" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="drawingHF" type="CT_DrawingHF" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="picture" type="CT_SheetBackgroundPicture" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="oleObjects" type="CT_OleObjects" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Dialogsheet">
+ <xsd:sequence>
+ <xsd:element name="sheetPr" minOccurs="0" type="CT_SheetPr"/>
+ <xsd:element name="sheetViews" minOccurs="0" type="CT_SheetViews"/>
+ <xsd:element name="sheetFormatPr" minOccurs="0" type="CT_SheetFormatPr"/>
+ <xsd:element name="sheetProtection" type="CT_SheetProtection" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="customSheetViews" minOccurs="0" type="CT_CustomSheetViews"/>
+ <xsd:element name="printOptions" minOccurs="0" type="CT_PrintOptions"/>
+ <xsd:element name="pageMargins" minOccurs="0" type="CT_PageMargins"/>
+ <xsd:element name="pageSetup" minOccurs="0" type="CT_PageSetup"/>
+ <xsd:element name="headerFooter" minOccurs="0" type="CT_HeaderFooter"/>
+ <xsd:element name="drawing" minOccurs="0" type="CT_Drawing"/>
+ <xsd:element name="legacyDrawing" minOccurs="0" type="CT_LegacyDrawing"/>
+ <xsd:element name="legacyDrawingHF" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="drawingHF" type="CT_DrawingHF" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="oleObjects" type="CT_OleObjects" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="controls" type="CT_Controls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Worksheet">
+ <xsd:sequence>
+ <xsd:element name="sheetPr" type="CT_SheetPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dimension" type="CT_SheetDimension" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sheetViews" type="CT_SheetViews" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sheetFormatPr" type="CT_SheetFormatPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cols" type="CT_Cols" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="sheetData" type="CT_SheetData" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="sheetCalcPr" type="CT_SheetCalcPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sheetProtection" type="CT_SheetProtection" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="protectedRanges" type="CT_ProtectedRanges" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="scenarios" type="CT_Scenarios" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="autoFilter" type="CT_AutoFilter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sortState" type="CT_SortState" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dataConsolidate" type="CT_DataConsolidate" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="customSheetViews" type="CT_CustomSheetViews" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="mergeCells" type="CT_MergeCells" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="phoneticPr" type="CT_PhoneticPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="conditionalFormatting" type="CT_ConditionalFormatting" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="dataValidations" type="CT_DataValidations" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="hyperlinks" type="CT_Hyperlinks" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="printOptions" type="CT_PrintOptions" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pageMargins" type="CT_PageMargins" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pageSetup" type="CT_PageSetup" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="headerFooter" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="rowBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="colBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="customProperties" type="CT_CustomProperties" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cellWatches" type="CT_CellWatches" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ignoredErrors" type="CT_IgnoredErrors" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="smartTags" type="CT_SmartTags" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="drawing" type="CT_Drawing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="legacyDrawing" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="legacyDrawingHF" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="drawingHF" type="CT_DrawingHF" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="picture" type="CT_SheetBackgroundPicture" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="oleObjects" type="CT_OleObjects" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="controls" type="CT_Controls" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="webPublishItems" type="CT_WebPublishItems" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tableParts" type="CT_TableParts" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SheetData">
+ <xsd:sequence>
+ <xsd:element name="row" type="CT_Row" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SheetCalcPr">
+ <xsd:attribute name="fullCalcOnLoad" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SheetFormatPr">
+ <xsd:attribute name="baseColWidth" type="xsd:unsignedInt" use="optional" default="8"/>
+ <xsd:attribute name="defaultColWidth" type="xsd:double" use="optional"/>
+ <xsd:attribute name="defaultRowHeight" type="xsd:double" use="required"/>
+ <xsd:attribute name="customHeight" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="zeroHeight" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="thickTop" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="thickBottom" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="outlineLevelRow" type="xsd:unsignedByte" use="optional" default="0"/>
+ <xsd:attribute name="outlineLevelCol" type="xsd:unsignedByte" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Cols">
+ <xsd:sequence>
+ <xsd:element name="col" type="CT_Col" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Col">
+ <xsd:attribute name="min" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="max" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="width" type="xsd:double" use="optional"/>
+ <xsd:attribute name="style" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="bestFit" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="customWidth" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="phonetic" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="outlineLevel" type="xsd:unsignedByte" use="optional" default="0"/>
+ <xsd:attribute name="collapsed" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_CellSpan">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CellSpans">
+ <xsd:list itemType="ST_CellSpan"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Row">
+ <xsd:sequence>
+ <xsd:element name="c" type="CT_Cell" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="r" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="spans" type="ST_CellSpans" use="optional"/>
+ <xsd:attribute name="s" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="customFormat" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="ht" type="xsd:double" use="optional"/>
+ <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="customHeight" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="outlineLevel" type="xsd:unsignedByte" use="optional" default="0"/>
+ <xsd:attribute name="collapsed" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="thickTop" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="thickBot" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="ph" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Cell">
+ <xsd:sequence>
+ <xsd:element name="f" type="CT_CellFormula" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="v" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="is" type="CT_Rst" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="r" type="ST_CellRef" use="optional"/>
+ <xsd:attribute name="s" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="t" type="ST_CellType" use="optional" default="n"/>
+ <xsd:attribute name="cm" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="vm" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="ph" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_CellType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="n"/>
+ <xsd:enumeration value="e"/>
+ <xsd:enumeration value="s"/>
+ <xsd:enumeration value="str"/>
+ <xsd:enumeration value="inlineStr"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CellFormulaType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="normal"/>
+ <xsd:enumeration value="array"/>
+ <xsd:enumeration value="dataTable"/>
+ <xsd:enumeration value="shared"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SheetPr">
+ <xsd:sequence>
+ <xsd:element name="tabColor" type="CT_Color" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="outlinePr" type="CT_OutlinePr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pageSetUpPr" type="CT_PageSetUpPr" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="syncHorizontal" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="syncVertical" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="syncRef" type="ST_Ref" use="optional"/>
+ <xsd:attribute name="transitionEvaluation" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="transitionEntry" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="published" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="codeName" type="xsd:string" use="optional"/>
+ <xsd:attribute name="filterMode" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="enableFormatConditionsCalculation" type="xsd:boolean" use="optional"
+ default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SheetDimension">
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SheetViews">
+ <xsd:sequence>
+ <xsd:element name="sheetView" type="CT_SheetView" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SheetView">
+ <xsd:sequence>
+ <xsd:element name="pane" type="CT_Pane" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="selection" type="CT_Selection" minOccurs="0" maxOccurs="4"/>
+ <xsd:element name="pivotSelection" type="CT_PivotSelection" minOccurs="0" maxOccurs="4"/>
+ <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="windowProtection" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showFormulas" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showGridLines" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showRowColHeaders" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showZeros" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="rightToLeft" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="tabSelected" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showRuler" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showOutlineSymbols" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="defaultGridColor" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showWhiteSpace" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="view" type="ST_SheetViewType" use="optional" default="normal"/>
+ <xsd:attribute name="topLeftCell" type="ST_CellRef" use="optional"/>
+ <xsd:attribute name="colorId" type="xsd:unsignedInt" use="optional" default="64"/>
+ <xsd:attribute name="zoomScale" type="xsd:unsignedInt" use="optional" default="100"/>
+ <xsd:attribute name="zoomScaleNormal" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="zoomScaleSheetLayoutView" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="zoomScalePageLayoutView" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="workbookViewId" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Pane">
+ <xsd:attribute name="xSplit" type="xsd:double" use="optional" default="0"/>
+ <xsd:attribute name="ySplit" type="xsd:double" use="optional" default="0"/>
+ <xsd:attribute name="topLeftCell" type="ST_CellRef" use="optional"/>
+ <xsd:attribute name="activePane" type="ST_Pane" use="optional" default="topLeft"/>
+ <xsd:attribute name="state" type="ST_PaneState" use="optional" default="split"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotSelection">
+ <xsd:sequence>
+ <xsd:element name="pivotArea" type="CT_PivotArea"/>
+ </xsd:sequence>
+ <xsd:attribute name="pane" type="ST_Pane" use="optional" default="topLeft"/>
+ <xsd:attribute name="showHeader" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="label" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="data" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="extendable" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="count" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="axis" type="ST_Axis" use="optional"/>
+ <xsd:attribute name="dimension" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="start" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="min" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="max" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="activeRow" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="activeCol" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="previousRow" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="previousCol" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute name="click" type="xsd:unsignedInt" default="0"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Selection">
+ <xsd:attribute name="pane" type="ST_Pane" use="optional" default="topLeft"/>
+ <xsd:attribute name="activeCell" type="ST_CellRef" use="optional"/>
+ <xsd:attribute name="activeCellId" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="sqref" type="ST_Sqref" use="optional" default="A1"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Pane">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="bottomRight"/>
+ <xsd:enumeration value="topRight"/>
+ <xsd:enumeration value="bottomLeft"/>
+ <xsd:enumeration value="topLeft"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PageBreak">
+ <xsd:sequence>
+ <xsd:element name="brk" type="CT_Break" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="manualBreakCount" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Break">
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="min" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="max" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="man" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pt" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SheetViewType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="normal"/>
+ <xsd:enumeration value="pageBreakPreview"/>
+ <xsd:enumeration value="pageLayout"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_OutlinePr">
+ <xsd:attribute name="applyStyles" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="summaryBelow" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="summaryRight" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showOutlineSymbols" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageSetUpPr">
+ <xsd:attribute name="autoPageBreaks" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="fitToPage" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DataConsolidate">
+ <xsd:sequence>
+ <xsd:element name="dataRefs" type="CT_DataRefs" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="function" type="ST_DataConsolidateFunction" use="optional" default="sum"/>
+ <xsd:attribute name="startLabels" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="leftLabels" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="topLabels" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="link" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DataConsolidateFunction">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="average"/>
+ <xsd:enumeration value="count"/>
+ <xsd:enumeration value="countNums"/>
+ <xsd:enumeration value="max"/>
+ <xsd:enumeration value="min"/>
+ <xsd:enumeration value="product"/>
+ <xsd:enumeration value="stdDev"/>
+ <xsd:enumeration value="stdDevp"/>
+ <xsd:enumeration value="sum"/>
+ <xsd:enumeration value="var"/>
+ <xsd:enumeration value="varp"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DataRefs">
+ <xsd:sequence>
+ <xsd:element name="dataRef" type="CT_DataRef" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DataRef">
+ <xsd:attribute name="ref" type="ST_Ref" use="optional"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="sheet" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MergeCells">
+ <xsd:sequence>
+ <xsd:element name="mergeCell" type="CT_MergeCell" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MergeCell">
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SmartTags">
+ <xsd:sequence>
+ <xsd:element name="cellSmartTags" type="CT_CellSmartTags" minOccurs="1" maxOccurs="unbounded"
+ />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellSmartTags">
+ <xsd:sequence>
+ <xsd:element name="cellSmartTag" type="CT_CellSmartTag" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="r" type="ST_CellRef" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellSmartTag">
+ <xsd:sequence>
+ <xsd:element name="cellSmartTagPr" minOccurs="0" maxOccurs="unbounded"
+ type="CT_CellSmartTagPr"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="deleted" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="xmlBased" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellSmartTagPr">
+ <xsd:attribute name="key" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="val" type="s:ST_Xstring" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Drawing">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LegacyDrawing">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DrawingHF">
+ <xsd:attribute ref="r:id" use="required"/>
+ <xsd:attribute name="lho" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="lhe" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="lhf" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="cho" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="che" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="chf" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="rho" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="rhe" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="rhf" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="lfo" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="lfe" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="lff" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="cfo" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="cfe" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="cff" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="rfo" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="rfe" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="rff" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomSheetViews">
+ <xsd:sequence>
+ <xsd:element name="customSheetView" minOccurs="1" maxOccurs="unbounded"
+ type="CT_CustomSheetView"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomSheetView">
+ <xsd:sequence>
+ <xsd:element name="pane" type="CT_Pane" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="selection" type="CT_Selection" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="rowBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="colBreaks" type="CT_PageBreak" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pageMargins" type="CT_PageMargins" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="printOptions" type="CT_PrintOptions" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pageSetup" type="CT_PageSetup" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="headerFooter" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="autoFilter" type="CT_AutoFilter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="guid" type="s:ST_Guid" use="required"/>
+ <xsd:attribute name="scale" type="xsd:unsignedInt" default="100"/>
+ <xsd:attribute name="colorId" type="xsd:unsignedInt" default="64"/>
+ <xsd:attribute name="showPageBreaks" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showFormulas" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showGridLines" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showRowCol" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="outlineSymbols" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="zeroValues" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="fitToPage" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="printArea" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="filter" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showAutoFilter" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="hiddenRows" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="hiddenColumns" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="state" type="ST_SheetState" default="visible"/>
+ <xsd:attribute name="filterUnique" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="view" type="ST_SheetViewType" default="normal"/>
+ <xsd:attribute name="showRuler" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="topLeftCell" type="ST_CellRef" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DataValidations">
+ <xsd:sequence>
+ <xsd:element name="dataValidation" type="CT_DataValidation" minOccurs="1"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="disablePrompts" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="xWindow" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="yWindow" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DataValidation">
+ <xsd:sequence>
+ <xsd:element name="formula1" type="ST_Formula" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="formula2" type="ST_Formula" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="ST_DataValidationType" use="optional" default="none"/>
+ <xsd:attribute name="errorStyle" type="ST_DataValidationErrorStyle" use="optional"
+ default="stop"/>
+ <xsd:attribute name="imeMode" type="ST_DataValidationImeMode" use="optional" default="noControl"/>
+ <xsd:attribute name="operator" type="ST_DataValidationOperator" use="optional" default="between"/>
+ <xsd:attribute name="allowBlank" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showDropDown" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showInputMessage" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showErrorMessage" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="errorTitle" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="error" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="promptTitle" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="prompt" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="sqref" type="ST_Sqref" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DataValidationType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="whole"/>
+ <xsd:enumeration value="decimal"/>
+ <xsd:enumeration value="list"/>
+ <xsd:enumeration value="date"/>
+ <xsd:enumeration value="time"/>
+ <xsd:enumeration value="textLength"/>
+ <xsd:enumeration value="custom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DataValidationOperator">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="between"/>
+ <xsd:enumeration value="notBetween"/>
+ <xsd:enumeration value="equal"/>
+ <xsd:enumeration value="notEqual"/>
+ <xsd:enumeration value="lessThan"/>
+ <xsd:enumeration value="lessThanOrEqual"/>
+ <xsd:enumeration value="greaterThan"/>
+ <xsd:enumeration value="greaterThanOrEqual"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DataValidationErrorStyle">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="stop"/>
+ <xsd:enumeration value="warning"/>
+ <xsd:enumeration value="information"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DataValidationImeMode">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="noControl"/>
+ <xsd:enumeration value="off"/>
+ <xsd:enumeration value="on"/>
+ <xsd:enumeration value="disabled"/>
+ <xsd:enumeration value="hiragana"/>
+ <xsd:enumeration value="fullKatakana"/>
+ <xsd:enumeration value="halfKatakana"/>
+ <xsd:enumeration value="fullAlpha"/>
+ <xsd:enumeration value="halfAlpha"/>
+ <xsd:enumeration value="fullHangul"/>
+ <xsd:enumeration value="halfHangul"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CfType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="expression"/>
+ <xsd:enumeration value="cellIs"/>
+ <xsd:enumeration value="colorScale"/>
+ <xsd:enumeration value="dataBar"/>
+ <xsd:enumeration value="iconSet"/>
+ <xsd:enumeration value="top10"/>
+ <xsd:enumeration value="uniqueValues"/>
+ <xsd:enumeration value="duplicateValues"/>
+ <xsd:enumeration value="containsText"/>
+ <xsd:enumeration value="notContainsText"/>
+ <xsd:enumeration value="beginsWith"/>
+ <xsd:enumeration value="endsWith"/>
+ <xsd:enumeration value="containsBlanks"/>
+ <xsd:enumeration value="notContainsBlanks"/>
+ <xsd:enumeration value="containsErrors"/>
+ <xsd:enumeration value="notContainsErrors"/>
+ <xsd:enumeration value="timePeriod"/>
+ <xsd:enumeration value="aboveAverage"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TimePeriod">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="today"/>
+ <xsd:enumeration value="yesterday"/>
+ <xsd:enumeration value="tomorrow"/>
+ <xsd:enumeration value="last7Days"/>
+ <xsd:enumeration value="thisMonth"/>
+ <xsd:enumeration value="lastMonth"/>
+ <xsd:enumeration value="nextMonth"/>
+ <xsd:enumeration value="thisWeek"/>
+ <xsd:enumeration value="lastWeek"/>
+ <xsd:enumeration value="nextWeek"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ConditionalFormattingOperator">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="lessThan"/>
+ <xsd:enumeration value="lessThanOrEqual"/>
+ <xsd:enumeration value="equal"/>
+ <xsd:enumeration value="notEqual"/>
+ <xsd:enumeration value="greaterThanOrEqual"/>
+ <xsd:enumeration value="greaterThan"/>
+ <xsd:enumeration value="between"/>
+ <xsd:enumeration value="notBetween"/>
+ <xsd:enumeration value="containsText"/>
+ <xsd:enumeration value="notContains"/>
+ <xsd:enumeration value="beginsWith"/>
+ <xsd:enumeration value="endsWith"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CfvoType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="num"/>
+ <xsd:enumeration value="percent"/>
+ <xsd:enumeration value="max"/>
+ <xsd:enumeration value="min"/>
+ <xsd:enumeration value="formula"/>
+ <xsd:enumeration value="percentile"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ConditionalFormatting">
+ <xsd:sequence>
+ <xsd:element name="cfRule" type="CT_CfRule" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="pivot" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="sqref" type="ST_Sqref"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CfRule">
+ <xsd:sequence>
+ <xsd:element name="formula" type="ST_Formula" minOccurs="0" maxOccurs="3"/>
+ <xsd:element name="colorScale" type="CT_ColorScale" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dataBar" type="CT_DataBar" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="iconSet" type="CT_IconSet" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="ST_CfType"/>
+ <xsd:attribute name="dxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="priority" type="xsd:int" use="required"/>
+ <xsd:attribute name="stopIfTrue" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="aboveAverage" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="percent" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="bottom" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="operator" type="ST_ConditionalFormattingOperator" use="optional"/>
+ <xsd:attribute name="text" type="xsd:string" use="optional"/>
+ <xsd:attribute name="timePeriod" type="ST_TimePeriod" use="optional"/>
+ <xsd:attribute name="rank" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="stdDev" type="xsd:int" use="optional"/>
+ <xsd:attribute name="equalAverage" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Hyperlinks">
+ <xsd:sequence>
+ <xsd:element name="hyperlink" type="CT_Hyperlink" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Hyperlink">
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ <xsd:attribute name="location" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="tooltip" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="display" type="s:ST_Xstring" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellFormula">
+ <xsd:simpleContent>
+ <xsd:extension base="ST_Formula">
+ <xsd:attribute name="t" type="ST_CellFormulaType" use="optional" default="normal"/>
+ <xsd:attribute name="aca" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="ref" type="ST_Ref" use="optional"/>
+ <xsd:attribute name="dt2D" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="dtr" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="del1" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="del2" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="r1" type="ST_CellRef" use="optional"/>
+ <xsd:attribute name="r2" type="ST_CellRef" use="optional"/>
+ <xsd:attribute name="ca" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="si" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="bx" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorScale">
+ <xsd:sequence>
+ <xsd:element name="cfvo" type="CT_Cfvo" minOccurs="2" maxOccurs="unbounded"/>
+ <xsd:element name="color" type="CT_Color" minOccurs="2" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DataBar">
+ <xsd:sequence>
+ <xsd:element name="cfvo" type="CT_Cfvo" minOccurs="2" maxOccurs="2"/>
+ <xsd:element name="color" type="CT_Color" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="minLength" type="xsd:unsignedInt" use="optional" default="10"/>
+ <xsd:attribute name="maxLength" type="xsd:unsignedInt" use="optional" default="90"/>
+ <xsd:attribute name="showValue" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_IconSet">
+ <xsd:sequence>
+ <xsd:element name="cfvo" type="CT_Cfvo" minOccurs="2" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="iconSet" type="ST_IconSetType" use="optional" default="3TrafficLights1"/>
+ <xsd:attribute name="showValue" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="percent" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="reverse" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Cfvo">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="ST_CfvoType" use="required"/>
+ <xsd:attribute name="val" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="gte" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageMargins">
+ <xsd:attribute name="left" type="xsd:double" use="required"/>
+ <xsd:attribute name="right" type="xsd:double" use="required"/>
+ <xsd:attribute name="top" type="xsd:double" use="required"/>
+ <xsd:attribute name="bottom" type="xsd:double" use="required"/>
+ <xsd:attribute name="header" type="xsd:double" use="required"/>
+ <xsd:attribute name="footer" type="xsd:double" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PrintOptions">
+ <xsd:attribute name="horizontalCentered" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="verticalCentered" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="headings" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="gridLines" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="gridLinesSet" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageSetup">
+ <xsd:attribute name="paperSize" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="paperHeight" type="s:ST_PositiveUniversalMeasure" use="optional"/>
+ <xsd:attribute name="paperWidth" type="s:ST_PositiveUniversalMeasure" use="optional"/>
+ <xsd:attribute name="scale" type="xsd:unsignedInt" use="optional" default="100"/>
+ <xsd:attribute name="firstPageNumber" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="fitToWidth" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="fitToHeight" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="pageOrder" type="ST_PageOrder" use="optional" default="downThenOver"/>
+ <xsd:attribute name="orientation" type="ST_Orientation" use="optional" default="default"/>
+ <xsd:attribute name="usePrinterDefaults" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="blackAndWhite" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="draft" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="cellComments" type="ST_CellComments" use="optional" default="none"/>
+ <xsd:attribute name="useFirstPageNumber" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="errors" type="ST_PrintError" use="optional" default="displayed"/>
+ <xsd:attribute name="horizontalDpi" type="xsd:unsignedInt" use="optional" default="600"/>
+ <xsd:attribute name="verticalDpi" type="xsd:unsignedInt" use="optional" default="600"/>
+ <xsd:attribute name="copies" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PageOrder">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="downThenOver"/>
+ <xsd:enumeration value="overThenDown"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Orientation">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="portrait"/>
+ <xsd:enumeration value="landscape"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CellComments">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="asDisplayed"/>
+ <xsd:enumeration value="atEnd"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_HeaderFooter">
+ <xsd:sequence>
+ <xsd:element name="oddHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="oddFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="evenHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="evenFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="firstHeader" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="firstFooter" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="differentOddEven" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="differentFirst" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="scaleWithDoc" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="alignWithMargins" type="xsd:boolean" default="true"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PrintError">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="displayed"/>
+ <xsd:enumeration value="blank"/>
+ <xsd:enumeration value="dash"/>
+ <xsd:enumeration value="NA"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Scenarios">
+ <xsd:sequence>
+ <xsd:element name="scenario" type="CT_Scenario" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="current" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="show" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="sqref" type="ST_Sqref" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SheetProtection">
+ <xsd:attribute name="password" type="ST_UnsignedShortHex" use="optional"/>
+ <xsd:attribute name="algorithmName" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="spinCount" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="sheet" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="objects" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="scenarios" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="formatCells" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="formatColumns" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="formatRows" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="insertColumns" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="insertRows" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="insertHyperlinks" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="deleteColumns" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="deleteRows" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="selectLockedCells" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="sort" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="autoFilter" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="pivotTables" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="selectUnlockedCells" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ProtectedRanges">
+ <xsd:sequence>
+ <xsd:element name="protectedRange" type="CT_ProtectedRange" minOccurs="1"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ProtectedRange">
+ <xsd:sequence>
+ <xsd:element name="securityDescriptor" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="password" type="ST_UnsignedShortHex" use="optional"/>
+ <xsd:attribute name="sqref" type="ST_Sqref" use="required"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="securityDescriptor" type="xsd:string" use="optional"/>
+ <xsd:attribute name="algorithmName" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="spinCount" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Scenario">
+ <xsd:sequence>
+ <xsd:element name="inputCells" type="CT_InputCells" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="locked" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="user" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="comment" type="s:ST_Xstring" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_InputCells">
+ <xsd:attribute name="r" type="ST_CellRef" use="required"/>
+ <xsd:attribute name="deleted" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="undone" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="val" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellWatches">
+ <xsd:sequence>
+ <xsd:element name="cellWatch" type="CT_CellWatch" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellWatch">
+ <xsd:attribute name="r" type="ST_CellRef" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Chartsheet">
+ <xsd:sequence>
+ <xsd:element name="sheetPr" type="CT_ChartsheetPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sheetViews" type="CT_ChartsheetViews" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="sheetProtection" type="CT_ChartsheetProtection" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="customSheetViews" type="CT_CustomChartsheetViews" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="pageMargins" minOccurs="0" type="CT_PageMargins"/>
+ <xsd:element name="pageSetup" type="CT_CsPageSetup" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="headerFooter" minOccurs="0" type="CT_HeaderFooter"/>
+ <xsd:element name="drawing" type="CT_Drawing" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="legacyDrawing" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="legacyDrawingHF" type="CT_LegacyDrawing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="drawingHF" type="CT_DrawingHF" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="picture" type="CT_SheetBackgroundPicture" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="webPublishItems" type="CT_WebPublishItems" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ChartsheetPr">
+ <xsd:sequence>
+ <xsd:element name="tabColor" type="CT_Color" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="published" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="codeName" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ChartsheetViews">
+ <xsd:sequence>
+ <xsd:element name="sheetView" type="CT_ChartsheetView" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ChartsheetView">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="tabSelected" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="zoomScale" type="xsd:unsignedInt" default="100" use="optional"/>
+ <xsd:attribute name="workbookViewId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="zoomToFit" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ChartsheetProtection">
+ <xsd:attribute name="password" type="ST_UnsignedShortHex" use="optional"/>
+ <xsd:attribute name="algorithmName" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="spinCount" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="content" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="objects" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CsPageSetup">
+ <xsd:attribute name="paperSize" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="paperHeight" type="s:ST_PositiveUniversalMeasure" use="optional"/>
+ <xsd:attribute name="paperWidth" type="s:ST_PositiveUniversalMeasure" use="optional"/>
+ <xsd:attribute name="firstPageNumber" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="orientation" type="ST_Orientation" use="optional" default="default"/>
+ <xsd:attribute name="usePrinterDefaults" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="blackAndWhite" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="draft" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="useFirstPageNumber" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="horizontalDpi" type="xsd:unsignedInt" use="optional" default="600"/>
+ <xsd:attribute name="verticalDpi" type="xsd:unsignedInt" use="optional" default="600"/>
+ <xsd:attribute name="copies" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomChartsheetViews">
+ <xsd:sequence>
+ <xsd:element name="customSheetView" minOccurs="0" maxOccurs="unbounded"
+ type="CT_CustomChartsheetView"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomChartsheetView">
+ <xsd:sequence>
+ <xsd:element name="pageMargins" type="CT_PageMargins" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="pageSetup" type="CT_CsPageSetup" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="headerFooter" type="CT_HeaderFooter" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="guid" type="s:ST_Guid" use="required"/>
+ <xsd:attribute name="scale" type="xsd:unsignedInt" default="100"/>
+ <xsd:attribute name="state" type="ST_SheetState" default="visible"/>
+ <xsd:attribute name="zoomToFit" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomProperties">
+ <xsd:sequence>
+ <xsd:element name="customPr" type="CT_CustomProperty" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomProperty">
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OleObjects">
+ <xsd:sequence>
+ <xsd:element name="oleObject" type="CT_OleObject" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OleObject">
+ <xsd:sequence>
+ <xsd:element name="objectPr" type="CT_ObjectPr" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="progId" type="xsd:string" use="optional"/>
+ <xsd:attribute name="dvAspect" type="ST_DvAspect" use="optional" default="DVASPECT_CONTENT"/>
+ <xsd:attribute name="link" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="oleUpdate" type="ST_OleUpdate" use="optional"/>
+ <xsd:attribute name="autoLoad" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="shapeId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ObjectPr">
+ <xsd:sequence>
+ <xsd:element name="anchor" type="CT_ObjectAnchor" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="locked" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="defaultSize" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="print" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="disabled" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="uiObject" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="autoFill" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="autoLine" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="autoPict" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="macro" type="ST_Formula" use="optional"/>
+ <xsd:attribute name="altText" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="dde" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DvAspect">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="DVASPECT_CONTENT"/>
+ <xsd:enumeration value="DVASPECT_ICON"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_OleUpdate">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="OLEUPDATE_ALWAYS"/>
+ <xsd:enumeration value="OLEUPDATE_ONCALL"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_WebPublishItems">
+ <xsd:sequence>
+ <xsd:element name="webPublishItem" type="CT_WebPublishItem" minOccurs="1"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WebPublishItem">
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="divId" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="sourceType" type="ST_WebSourceType" use="required"/>
+ <xsd:attribute name="sourceRef" type="ST_Ref" use="optional"/>
+ <xsd:attribute name="sourceObject" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="destinationFile" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="title" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="autoRepublish" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Controls">
+ <xsd:sequence>
+ <xsd:element name="control" type="CT_Control" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Control">
+ <xsd:sequence>
+ <xsd:element name="controlPr" type="CT_ControlPr" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="shapeId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute ref="r:id" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ControlPr">
+ <xsd:sequence>
+ <xsd:element name="anchor" type="CT_ObjectAnchor" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="locked" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="defaultSize" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="print" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="disabled" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="recalcAlways" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="uiObject" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="autoFill" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="autoLine" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="autoPict" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="macro" type="ST_Formula" use="optional"/>
+ <xsd:attribute name="altText" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="linkedCell" type="ST_Formula" use="optional"/>
+ <xsd:attribute name="listFillRange" type="ST_Formula" use="optional"/>
+ <xsd:attribute name="cf" type="s:ST_Xstring" use="optional" default="pict"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_WebSourceType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="sheet"/>
+ <xsd:enumeration value="printArea"/>
+ <xsd:enumeration value="autoFilter"/>
+ <xsd:enumeration value="range"/>
+ <xsd:enumeration value="chart"/>
+ <xsd:enumeration value="pivotTable"/>
+ <xsd:enumeration value="query"/>
+ <xsd:enumeration value="label"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_IgnoredErrors">
+ <xsd:sequence>
+ <xsd:element name="ignoredError" type="CT_IgnoredError" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_IgnoredError">
+ <xsd:attribute name="sqref" type="ST_Sqref" use="required"/>
+ <xsd:attribute name="evalError" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="twoDigitTextYear" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="numberStoredAsText" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="formula" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="formulaRange" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="unlockedFormula" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="emptyCellReference" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="listDataValidation" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="calculatedColumn" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PaneState">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="split"/>
+ <xsd:enumeration value="frozen"/>
+ <xsd:enumeration value="frozenSplit"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TableParts">
+ <xsd:sequence>
+ <xsd:element name="tablePart" type="CT_TablePart" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TablePart">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="metadata" type="CT_Metadata"/>
+ <xsd:complexType name="CT_Metadata">
+ <xsd:sequence>
+ <xsd:element name="metadataTypes" type="CT_MetadataTypes" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="metadataStrings" type="CT_MetadataStrings" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="mdxMetadata" type="CT_MdxMetadata" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="futureMetadata" type="CT_FutureMetadata" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="cellMetadata" type="CT_MetadataBlocks" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="valueMetadata" type="CT_MetadataBlocks" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MetadataTypes">
+ <xsd:sequence>
+ <xsd:element name="metadataType" type="CT_MetadataType" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MetadataType">
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="minSupportedVersion" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="ghostRow" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="ghostCol" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="edit" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="delete" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="copy" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pasteAll" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pasteFormulas" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pasteValues" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pasteFormats" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pasteComments" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pasteDataValidation" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pasteBorders" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pasteColWidths" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pasteNumberFormats" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="merge" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="splitFirst" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="splitAll" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="rowColShift" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="clearAll" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="clearFormats" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="clearContents" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="clearComments" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="assign" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="coerce" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="adjust" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="cellMeta" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MetadataBlocks">
+ <xsd:sequence>
+ <xsd:element name="bk" type="CT_MetadataBlock" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MetadataBlock">
+ <xsd:sequence>
+ <xsd:element name="rc" type="CT_MetadataRecord" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MetadataRecord">
+ <xsd:attribute name="t" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="v" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FutureMetadata">
+ <xsd:sequence>
+ <xsd:element name="bk" type="CT_FutureMetadataBlock" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FutureMetadataBlock">
+ <xsd:sequence>
+ <xsd:element name="extLst" minOccurs="0" maxOccurs="1" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MdxMetadata">
+ <xsd:sequence>
+ <xsd:element name="mdx" type="CT_Mdx" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Mdx">
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="t" type="CT_MdxTuple"/>
+ <xsd:element name="ms" type="CT_MdxSet"/>
+ <xsd:element name="p" type="CT_MdxMemeberProp"/>
+ <xsd:element name="k" type="CT_MdxKPI"/>
+ </xsd:choice>
+ <xsd:attribute name="n" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="f" type="ST_MdxFunctionType" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MdxFunctionType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="m"/>
+ <xsd:enumeration value="v"/>
+ <xsd:enumeration value="s"/>
+ <xsd:enumeration value="c"/>
+ <xsd:enumeration value="r"/>
+ <xsd:enumeration value="p"/>
+ <xsd:enumeration value="k"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MdxTuple">
+ <xsd:sequence>
+ <xsd:element name="n" type="CT_MetadataStringIndex" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="c" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="ct" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="si" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="fi" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="bc" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="fc" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="i" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="u" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="st" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="b" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MdxSet">
+ <xsd:sequence>
+ <xsd:element name="n" type="CT_MetadataStringIndex" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="ns" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="c" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="o" type="ST_MdxSetOrder" use="optional" default="u"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MdxSetOrder">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="u"/>
+ <xsd:enumeration value="a"/>
+ <xsd:enumeration value="d"/>
+ <xsd:enumeration value="aa"/>
+ <xsd:enumeration value="ad"/>
+ <xsd:enumeration value="na"/>
+ <xsd:enumeration value="nd"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MdxMemeberProp">
+ <xsd:attribute name="n" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="np" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MdxKPI">
+ <xsd:attribute name="n" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="np" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="p" type="ST_MdxKPIProperty" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MdxKPIProperty">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="v"/>
+ <xsd:enumeration value="g"/>
+ <xsd:enumeration value="s"/>
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="w"/>
+ <xsd:enumeration value="m"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MetadataStringIndex">
+ <xsd:attribute name="x" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="s" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MetadataStrings">
+ <xsd:sequence>
+ <xsd:element name="s" type="CT_XStringElement" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:element name="singleXmlCells" type="CT_SingleXmlCells"/>
+ <xsd:complexType name="CT_SingleXmlCells">
+ <xsd:sequence>
+ <xsd:element name="singleXmlCell" type="CT_SingleXmlCell" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SingleXmlCell">
+ <xsd:sequence>
+ <xsd:element name="xmlCellPr" type="CT_XmlCellPr" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="r" type="ST_CellRef" use="required"/>
+ <xsd:attribute name="connectionId" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_XmlCellPr">
+ <xsd:sequence>
+ <xsd:element name="xmlPr" type="CT_XmlPr" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="uniqueName" type="s:ST_Xstring" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_XmlPr">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="mapId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="xpath" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="xmlDataType" type="ST_XmlDataType" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="styleSheet" type="CT_Stylesheet"/>
+ <xsd:complexType name="CT_Stylesheet">
+ <xsd:sequence>
+ <xsd:element name="numFmts" type="CT_NumFmts" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="fonts" type="CT_Fonts" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="fills" type="CT_Fills" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="borders" type="CT_Borders" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cellStyleXfs" type="CT_CellStyleXfs" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cellXfs" type="CT_CellXfs" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="cellStyles" type="CT_CellStyles" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="dxfs" type="CT_Dxfs" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tableStyles" type="CT_TableStyles" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="colors" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute ref="mc:Ignorable" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellAlignment">
+ <xsd:attribute name="horizontal" type="ST_HorizontalAlignment" use="optional"/>
+ <xsd:attribute name="vertical" type="ST_VerticalAlignment" use="optional"/>
+ <xsd:attribute name="textRotation" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="wrapText" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="indent" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="relativeIndent" type="xsd:int" use="optional"/>
+ <xsd:attribute name="justifyLastLine" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="shrinkToFit" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="readingOrder" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BorderStyle">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="thin"/>
+ <xsd:enumeration value="medium"/>
+ <xsd:enumeration value="dashed"/>
+ <xsd:enumeration value="dotted"/>
+ <xsd:enumeration value="thick"/>
+ <xsd:enumeration value="double"/>
+ <xsd:enumeration value="hair"/>
+ <xsd:enumeration value="mediumDashed"/>
+ <xsd:enumeration value="dashDot"/>
+ <xsd:enumeration value="mediumDashDot"/>
+ <xsd:enumeration value="dashDotDot"/>
+ <xsd:enumeration value="mediumDashDotDot"/>
+ <xsd:enumeration value="slantDashDot"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Borders">
+ <xsd:sequence>
+ <xsd:element name="border" type="CT_Border" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Border">
+ <xsd:sequence>
+ <xsd:element name="start" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="end" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="left" type="CT_BorderPr" minOccurs="0"/>
+ <xsd:element name="right" type="CT_BorderPr" minOccurs="0"/>
+ <xsd:element name="top" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bottom" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="diagonal" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="vertical" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="horizontal" type="CT_BorderPr" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="diagonalUp" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="diagonalDown" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="outline" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BorderPr">
+ <xsd:sequence>
+ <xsd:element name="color" type="CT_Color" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="style" type="ST_BorderStyle" use="optional" default="none"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellProtection">
+ <xsd:attribute name="locked" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="hidden" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Fonts">
+ <xsd:sequence>
+ <xsd:element name="font" type="CT_Font" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Fills">
+ <xsd:sequence>
+ <xsd:element name="fill" type="CT_Fill" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Fill">
+ <xsd:choice minOccurs="1" maxOccurs="1">
+ <xsd:element name="patternFill" type="CT_PatternFill" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="gradientFill" type="CT_GradientFill" minOccurs="0" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PatternFill">
+ <xsd:sequence>
+ <xsd:element name="fgColor" type="CT_Color" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="bgColor" type="CT_Color" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="patternType" type="ST_PatternType" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Color">
+ <xsd:attribute name="auto" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="indexed" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="rgb" type="ST_UnsignedIntHex" use="optional"/>
+ <xsd:attribute name="theme" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="tint" type="xsd:double" use="optional" default="0.0"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PatternType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="solid"/>
+ <xsd:enumeration value="mediumGray"/>
+ <xsd:enumeration value="darkGray"/>
+ <xsd:enumeration value="lightGray"/>
+ <xsd:enumeration value="darkHorizontal"/>
+ <xsd:enumeration value="darkVertical"/>
+ <xsd:enumeration value="darkDown"/>
+ <xsd:enumeration value="darkUp"/>
+ <xsd:enumeration value="darkGrid"/>
+ <xsd:enumeration value="darkTrellis"/>
+ <xsd:enumeration value="lightHorizontal"/>
+ <xsd:enumeration value="lightVertical"/>
+ <xsd:enumeration value="lightDown"/>
+ <xsd:enumeration value="lightUp"/>
+ <xsd:enumeration value="lightGrid"/>
+ <xsd:enumeration value="lightTrellis"/>
+ <xsd:enumeration value="gray125"/>
+ <xsd:enumeration value="gray0625"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_GradientFill">
+ <xsd:sequence>
+ <xsd:element name="stop" type="CT_GradientStop" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="ST_GradientType" use="optional" default="linear"/>
+ <xsd:attribute name="degree" type="xsd:double" use="optional" default="0"/>
+ <xsd:attribute name="left" type="xsd:double" use="optional" default="0"/>
+ <xsd:attribute name="right" type="xsd:double" use="optional" default="0"/>
+ <xsd:attribute name="top" type="xsd:double" use="optional" default="0"/>
+ <xsd:attribute name="bottom" type="xsd:double" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GradientStop">
+ <xsd:sequence>
+ <xsd:element name="color" type="CT_Color" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="position" type="xsd:double" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_GradientType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="linear"/>
+ <xsd:enumeration value="path"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HorizontalAlignment">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="general"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="fill"/>
+ <xsd:enumeration value="justify"/>
+ <xsd:enumeration value="centerContinuous"/>
+ <xsd:enumeration value="distributed"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_VerticalAlignment">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="top"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="bottom"/>
+ <xsd:enumeration value="justify"/>
+ <xsd:enumeration value="distributed"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_NumFmts">
+ <xsd:sequence>
+ <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NumFmt">
+ <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="required"/>
+ <xsd:attribute name="formatCode" type="s:ST_Xstring" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellStyleXfs">
+ <xsd:sequence>
+ <xsd:element name="xf" type="CT_Xf" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellXfs">
+ <xsd:sequence>
+ <xsd:element name="xf" type="CT_Xf" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Xf">
+ <xsd:sequence>
+ <xsd:element name="alignment" type="CT_CellAlignment" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="protection" type="CT_CellProtection" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="optional"/>
+ <xsd:attribute name="fontId" type="ST_FontId" use="optional"/>
+ <xsd:attribute name="fillId" type="ST_FillId" use="optional"/>
+ <xsd:attribute name="borderId" type="ST_BorderId" use="optional"/>
+ <xsd:attribute name="xfId" type="ST_CellStyleXfId" use="optional"/>
+ <xsd:attribute name="quotePrefix" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="pivotButton" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="applyNumberFormat" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="applyFont" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="applyFill" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="applyBorder" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="applyAlignment" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="applyProtection" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellStyles">
+ <xsd:sequence>
+ <xsd:element name="cellStyle" type="CT_CellStyle" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellStyle">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="xfId" type="ST_CellStyleXfId" use="required"/>
+ <xsd:attribute name="builtinId" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="iLevel" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="hidden" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="customBuiltin" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Dxfs">
+ <xsd:sequence>
+ <xsd:element name="dxf" type="CT_Dxf" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Dxf">
+ <xsd:sequence>
+ <xsd:element name="font" type="CT_Font" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="numFmt" type="CT_NumFmt" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="fill" type="CT_Fill" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="alignment" type="CT_CellAlignment" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="border" type="CT_Border" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="protection" type="CT_CellProtection" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_NumFmtId">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FontId">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FillId">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_BorderId">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CellStyleXfId">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DxfId">
+ <xsd:restriction base="xsd:unsignedInt"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Colors">
+ <xsd:sequence>
+ <xsd:element name="indexedColors" type="CT_IndexedColors" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="mruColors" type="CT_MRUColors" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_IndexedColors">
+ <xsd:sequence>
+ <xsd:element name="rgbColor" type="CT_RgbColor" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MRUColors">
+ <xsd:sequence>
+ <xsd:element name="color" type="CT_Color" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RgbColor">
+ <xsd:attribute name="rgb" type="ST_UnsignedIntHex" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableStyles">
+ <xsd:sequence>
+ <xsd:element name="tableStyle" type="CT_TableStyle" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="defaultTableStyle" type="xsd:string" use="optional"/>
+ <xsd:attribute name="defaultPivotStyle" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableStyle">
+ <xsd:sequence>
+ <xsd:element name="tableStyleElement" type="CT_TableStyleElement" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="pivot" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="table" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableStyleElement">
+ <xsd:attribute name="type" type="ST_TableStyleType" use="required"/>
+ <xsd:attribute name="size" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="dxfId" type="ST_DxfId" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TableStyleType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="wholeTable"/>
+ <xsd:enumeration value="headerRow"/>
+ <xsd:enumeration value="totalRow"/>
+ <xsd:enumeration value="firstColumn"/>
+ <xsd:enumeration value="lastColumn"/>
+ <xsd:enumeration value="firstRowStripe"/>
+ <xsd:enumeration value="secondRowStripe"/>
+ <xsd:enumeration value="firstColumnStripe"/>
+ <xsd:enumeration value="secondColumnStripe"/>
+ <xsd:enumeration value="firstHeaderCell"/>
+ <xsd:enumeration value="lastHeaderCell"/>
+ <xsd:enumeration value="firstTotalCell"/>
+ <xsd:enumeration value="lastTotalCell"/>
+ <xsd:enumeration value="firstSubtotalColumn"/>
+ <xsd:enumeration value="secondSubtotalColumn"/>
+ <xsd:enumeration value="thirdSubtotalColumn"/>
+ <xsd:enumeration value="firstSubtotalRow"/>
+ <xsd:enumeration value="secondSubtotalRow"/>
+ <xsd:enumeration value="thirdSubtotalRow"/>
+ <xsd:enumeration value="blankRow"/>
+ <xsd:enumeration value="firstColumnSubheading"/>
+ <xsd:enumeration value="secondColumnSubheading"/>
+ <xsd:enumeration value="thirdColumnSubheading"/>
+ <xsd:enumeration value="firstRowSubheading"/>
+ <xsd:enumeration value="secondRowSubheading"/>
+ <xsd:enumeration value="thirdRowSubheading"/>
+ <xsd:enumeration value="pageFieldLabels"/>
+ <xsd:enumeration value="pageFieldValues"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_BooleanProperty">
+ <xsd:attribute name="val" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FontSize">
+ <xsd:attribute name="val" type="xsd:double" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_IntProperty">
+ <xsd:attribute name="val" type="xsd:int" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FontName">
+ <xsd:attribute name="val" type="s:ST_Xstring" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_VerticalAlignFontProperty">
+ <xsd:attribute name="val" type="s:ST_VerticalAlignRun" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FontScheme">
+ <xsd:attribute name="val" type="ST_FontScheme" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FontScheme">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="major"/>
+ <xsd:enumeration value="minor"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_UnderlineProperty">
+ <xsd:attribute name="val" type="ST_UnderlineValues" use="optional" default="single"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_UnderlineValues">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="single"/>
+ <xsd:enumeration value="double"/>
+ <xsd:enumeration value="singleAccounting"/>
+ <xsd:enumeration value="doubleAccounting"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Font">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="name" type="CT_FontName" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="charset" type="CT_IntProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="family" type="CT_FontFamily" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="b" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="i" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="strike" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="outline" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="shadow" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="condense" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extend" type="CT_BooleanProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="color" type="CT_Color" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sz" type="CT_FontSize" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="u" type="CT_UnderlineProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="vertAlign" type="CT_VerticalAlignFontProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="scheme" type="CT_FontScheme" minOccurs="0" maxOccurs="1"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FontFamily">
+ <xsd:attribute name="val" type="ST_FontFamily" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FontFamily">
+ <xsd:restriction base="xsd:integer">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="14"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:attributeGroup name="AG_AutoFormat">
+ <xsd:attribute name="autoFormatId" type="xsd:unsignedInt"/>
+ <xsd:attribute name="applyNumberFormats" type="xsd:boolean"/>
+ <xsd:attribute name="applyBorderFormats" type="xsd:boolean"/>
+ <xsd:attribute name="applyFontFormats" type="xsd:boolean"/>
+ <xsd:attribute name="applyPatternFormats" type="xsd:boolean"/>
+ <xsd:attribute name="applyAlignmentFormats" type="xsd:boolean"/>
+ <xsd:attribute name="applyWidthHeightFormats" type="xsd:boolean"/>
+ </xsd:attributeGroup>
+ <xsd:element name="externalLink" type="CT_ExternalLink"/>
+ <xsd:complexType name="CT_ExternalLink">
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="externalBook" type="CT_ExternalBook" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ddeLink" type="CT_DdeLink" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="oleLink" type="CT_OleLink" minOccurs="0" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalBook">
+ <xsd:sequence>
+ <xsd:element name="sheetNames" type="CT_ExternalSheetNames" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="definedNames" type="CT_ExternalDefinedNames" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sheetDataSet" type="CT_ExternalSheetDataSet" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalSheetNames">
+ <xsd:sequence>
+ <xsd:element name="sheetName" minOccurs="1" maxOccurs="unbounded" type="CT_ExternalSheetName"
+ />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalSheetName">
+ <xsd:attribute name="val" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalDefinedNames">
+ <xsd:sequence>
+ <xsd:element name="definedName" type="CT_ExternalDefinedName" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalDefinedName">
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="refersTo" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalSheetDataSet">
+ <xsd:sequence>
+ <xsd:element name="sheetData" type="CT_ExternalSheetData" minOccurs="1" maxOccurs="unbounded"
+ />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalSheetData">
+ <xsd:sequence>
+ <xsd:element name="row" type="CT_ExternalRow" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="refreshError" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalRow">
+ <xsd:sequence>
+ <xsd:element name="cell" type="CT_ExternalCell" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="r" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalCell">
+ <xsd:sequence>
+ <xsd:element name="v" type="s:ST_Xstring" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="r" type="ST_CellRef" use="optional"/>
+ <xsd:attribute name="t" type="ST_CellType" use="optional" default="n"/>
+ <xsd:attribute name="vm" type="xsd:unsignedInt" use="optional" default="0"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DdeLink">
+ <xsd:sequence>
+ <xsd:element name="ddeItems" type="CT_DdeItems" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="ddeService" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="ddeTopic" type="s:ST_Xstring" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DdeItems">
+ <xsd:sequence>
+ <xsd:element name="ddeItem" type="CT_DdeItem" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DdeItem">
+ <xsd:sequence>
+ <xsd:element name="values" type="CT_DdeValues" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="s:ST_Xstring" default="0"/>
+ <xsd:attribute name="ole" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="advise" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="preferPic" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DdeValues">
+ <xsd:sequence>
+ <xsd:element name="value" minOccurs="1" maxOccurs="unbounded" type="CT_DdeValue"/>
+ </xsd:sequence>
+ <xsd:attribute name="rows" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="cols" type="xsd:unsignedInt" use="optional" default="1"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DdeValue">
+ <xsd:sequence>
+ <xsd:element name="val" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="t" type="ST_DdeValueType" use="optional" default="n"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DdeValueType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="nil"/>
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="n"/>
+ <xsd:enumeration value="e"/>
+ <xsd:enumeration value="str"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_OleLink">
+ <xsd:sequence>
+ <xsd:element name="oleItems" type="CT_OleItems" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:id" use="required"/>
+ <xsd:attribute name="progId" type="s:ST_Xstring" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OleItems">
+ <xsd:sequence>
+ <xsd:element name="oleItem" type="CT_OleItem" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OleItem">
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="icon" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="advise" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="preferPic" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:element name="table" type="CT_Table"/>
+ <xsd:complexType name="CT_Table">
+ <xsd:sequence>
+ <xsd:element name="autoFilter" type="CT_AutoFilter" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sortState" type="CT_SortState" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tableColumns" type="CT_TableColumns" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="tableStyleInfo" type="CT_TableStyleInfo" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="displayName" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="comment" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ <xsd:attribute name="tableType" type="ST_TableType" use="optional" default="worksheet"/>
+ <xsd:attribute name="headerRowCount" type="xsd:unsignedInt" use="optional" default="1"/>
+ <xsd:attribute name="insertRow" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="insertRowShift" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="totalsRowCount" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="totalsRowShown" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="published" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="headerRowDxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="dataDxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="totalsRowDxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="headerRowBorderDxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="tableBorderDxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="totalsRowBorderDxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="headerRowCellStyle" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="dataCellStyle" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="totalsRowCellStyle" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="connectionId" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TableType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="worksheet"/>
+ <xsd:enumeration value="xml"/>
+ <xsd:enumeration value="queryTable"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TableStyleInfo">
+ <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="showFirstColumn" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="showLastColumn" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="showRowStripes" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="showColumnStripes" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableColumns">
+ <xsd:sequence>
+ <xsd:element name="tableColumn" type="CT_TableColumn" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableColumn">
+ <xsd:sequence>
+ <xsd:element name="calculatedColumnFormula" type="CT_TableFormula" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="totalsRowFormula" type="CT_TableFormula" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="xmlColumnPr" type="CT_XmlColumnPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="uniqueName" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="totalsRowFunction" type="ST_TotalsRowFunction" use="optional"
+ default="none"/>
+ <xsd:attribute name="totalsRowLabel" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="queryTableFieldId" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="headerRowDxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="dataDxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="totalsRowDxfId" type="ST_DxfId" use="optional"/>
+ <xsd:attribute name="headerRowCellStyle" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="dataCellStyle" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="totalsRowCellStyle" type="s:ST_Xstring" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TableFormula">
+ <xsd:simpleContent>
+ <xsd:extension base="ST_Formula">
+ <xsd:attribute name="array" type="xsd:boolean" default="false"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TotalsRowFunction">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="sum"/>
+ <xsd:enumeration value="min"/>
+ <xsd:enumeration value="max"/>
+ <xsd:enumeration value="average"/>
+ <xsd:enumeration value="count"/>
+ <xsd:enumeration value="countNums"/>
+ <xsd:enumeration value="stdDev"/>
+ <xsd:enumeration value="var"/>
+ <xsd:enumeration value="custom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_XmlColumnPr">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="mapId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="xpath" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="denormalized" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="xmlDataType" type="ST_XmlDataType" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_XmlDataType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:element name="volTypes" type="CT_VolTypes"/>
+ <xsd:complexType name="CT_VolTypes">
+ <xsd:sequence>
+ <xsd:element name="volType" type="CT_VolType" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_VolType">
+ <xsd:sequence>
+ <xsd:element name="main" type="CT_VolMain" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="ST_VolDepType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_VolMain">
+ <xsd:sequence>
+ <xsd:element name="tp" type="CT_VolTopic" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="first" type="s:ST_Xstring" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_VolTopic">
+ <xsd:sequence>
+ <xsd:element name="v" type="s:ST_Xstring" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="stp" type="s:ST_Xstring" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="tr" type="CT_VolTopicRef" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="t" type="ST_VolValueType" use="optional" default="n"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_VolTopicRef">
+ <xsd:attribute name="r" type="ST_CellRef" use="required"/>
+ <xsd:attribute name="s" type="xsd:unsignedInt" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_VolDepType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="realTimeData"/>
+ <xsd:enumeration value="olapFunctions"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_VolValueType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="b"/>
+ <xsd:enumeration value="n"/>
+ <xsd:enumeration value="e"/>
+ <xsd:enumeration value="s"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="workbook" type="CT_Workbook"/>
+ <xsd:complexType name="CT_Workbook">
+ <xsd:sequence>
+ <xsd:element name="fileVersion" type="CT_FileVersion" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="fileSharing" type="CT_FileSharing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="workbookPr" type="CT_WorkbookPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="workbookProtection" type="CT_WorkbookProtection" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="bookViews" type="CT_BookViews" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="sheets" type="CT_Sheets" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="functionGroups" type="CT_FunctionGroups" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="externalReferences" type="CT_ExternalReferences" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="definedNames" type="CT_DefinedNames" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="calcPr" type="CT_CalcPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="oleSize" type="CT_OleSize" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="customWorkbookViews" type="CT_CustomWorkbookViews" minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="pivotCaches" type="CT_PivotCaches" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="smartTagPr" type="CT_SmartTagPr" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="smartTagTypes" type="CT_SmartTagTypes" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="webPublishing" type="CT_WebPublishing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="fileRecoveryPr" type="CT_FileRecoveryPr" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="webPublishObjects" type="CT_WebPublishObjects" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="conformance" type="s:ST_ConformanceClass"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FileVersion">
+ <xsd:attribute name="appName" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lastEdited" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lowestEdited" type="xsd:string" use="optional"/>
+ <xsd:attribute name="rupBuild" type="xsd:string" use="optional"/>
+ <xsd:attribute name="codeName" type="s:ST_Guid" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BookViews">
+ <xsd:sequence>
+ <xsd:element name="workbookView" type="CT_BookView" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BookView">
+ <xsd:sequence>
+ <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="visibility" type="ST_Visibility" use="optional" default="visible"/>
+ <xsd:attribute name="minimized" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showHorizontalScroll" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showVerticalScroll" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showSheetTabs" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="xWindow" type="xsd:int" use="optional"/>
+ <xsd:attribute name="yWindow" type="xsd:int" use="optional"/>
+ <xsd:attribute name="windowWidth" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="windowHeight" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="tabRatio" type="xsd:unsignedInt" use="optional" default="600"/>
+ <xsd:attribute name="firstSheet" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="activeTab" type="xsd:unsignedInt" use="optional" default="0"/>
+ <xsd:attribute name="autoFilterDateGrouping" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Visibility">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="visible"/>
+ <xsd:enumeration value="hidden"/>
+ <xsd:enumeration value="veryHidden"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_CustomWorkbookViews">
+ <xsd:sequence>
+ <xsd:element name="customWorkbookView" minOccurs="1" maxOccurs="unbounded"
+ type="CT_CustomWorkbookView"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomWorkbookView">
+ <xsd:sequence>
+ <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="guid" type="s:ST_Guid" use="required"/>
+ <xsd:attribute name="autoUpdate" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="mergeInterval" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="changesSavedWin" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="onlySync" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="personalView" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="includePrintSettings" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="includeHiddenRowCol" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="maximized" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="minimized" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showHorizontalScroll" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showVerticalScroll" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showSheetTabs" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="xWindow" type="xsd:int" use="optional" default="0"/>
+ <xsd:attribute name="yWindow" type="xsd:int" use="optional" default="0"/>
+ <xsd:attribute name="windowWidth" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="windowHeight" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="tabRatio" type="xsd:unsignedInt" use="optional" default="600"/>
+ <xsd:attribute name="activeSheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="showFormulaBar" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showStatusbar" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="showComments" type="ST_Comments" use="optional" default="commIndicator"/>
+ <xsd:attribute name="showObjects" type="ST_Objects" use="optional" default="all"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Comments">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="commNone"/>
+ <xsd:enumeration value="commIndicator"/>
+ <xsd:enumeration value="commIndAndComment"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Objects">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="all"/>
+ <xsd:enumeration value="placeholders"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Sheets">
+ <xsd:sequence>
+ <xsd:element name="sheet" type="CT_Sheet" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Sheet">
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="state" type="ST_SheetState" use="optional" default="visible"/>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SheetState">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="visible"/>
+ <xsd:enumeration value="hidden"/>
+ <xsd:enumeration value="veryHidden"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_WorkbookPr">
+ <xsd:attribute name="date1904" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showObjects" type="ST_Objects" use="optional" default="all"/>
+ <xsd:attribute name="showBorderUnselectedTables" type="xsd:boolean" use="optional"
+ default="true"/>
+ <xsd:attribute name="filterPrivacy" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="promptedSolutions" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showInkAnnotation" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="backupFile" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="saveExternalLinkValues" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="updateLinks" type="ST_UpdateLinks" use="optional" default="userSet"/>
+ <xsd:attribute name="codeName" type="xsd:string" use="optional"/>
+ <xsd:attribute name="hidePivotFieldList" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="showPivotChartFilter" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="allowRefreshQuery" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="publishItems" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="checkCompatibility" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="autoCompressPictures" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="refreshAllConnections" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="defaultThemeVersion" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_UpdateLinks">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="userSet"/>
+ <xsd:enumeration value="never"/>
+ <xsd:enumeration value="always"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SmartTagPr">
+ <xsd:attribute name="embed" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="show" type="ST_SmartTagShow" use="optional" default="all"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SmartTagShow">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="all"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="noIndicator"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SmartTagTypes">
+ <xsd:sequence>
+ <xsd:element name="smartTagType" type="CT_SmartTagType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SmartTagType">
+ <xsd:attribute name="namespaceUri" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="name" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="url" type="s:ST_Xstring" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FileRecoveryPr">
+ <xsd:attribute name="autoRecover" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="crashSave" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="dataExtractLoad" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="repairLoad" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CalcPr">
+ <xsd:attribute name="calcId" type="xsd:unsignedInt"/>
+ <xsd:attribute name="calcMode" type="ST_CalcMode" use="optional" default="auto"/>
+ <xsd:attribute name="fullCalcOnLoad" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="refMode" type="ST_RefMode" use="optional" default="A1"/>
+ <xsd:attribute name="iterate" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="iterateCount" type="xsd:unsignedInt" use="optional" default="100"/>
+ <xsd:attribute name="iterateDelta" type="xsd:double" use="optional" default="0.001"/>
+ <xsd:attribute name="fullPrecision" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="calcCompleted" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="calcOnSave" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="concurrentCalc" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="concurrentManualCount" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="forceFullCalc" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_CalcMode">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="manual"/>
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="autoNoTable"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_RefMode">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="A1"/>
+ <xsd:enumeration value="R1C1"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DefinedNames">
+ <xsd:sequence>
+ <xsd:element name="definedName" type="CT_DefinedName" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DefinedName">
+ <xsd:simpleContent>
+ <xsd:extension base="ST_Formula">
+ <xsd:attribute name="name" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="comment" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="customMenu" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="description" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="help" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="statusBar" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="localSheetId" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="hidden" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="function" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="vbProcedure" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="xlm" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="functionGroupId" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="shortcutKey" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="publishToServer" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="workbookParameter" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalReferences">
+ <xsd:sequence>
+ <xsd:element name="externalReference" type="CT_ExternalReference" minOccurs="1"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ExternalReference">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SheetBackgroundPicture">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotCaches">
+ <xsd:sequence>
+ <xsd:element name="pivotCache" type="CT_PivotCache" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PivotCache">
+ <xsd:attribute name="cacheId" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FileSharing">
+ <xsd:attribute name="readOnlyRecommended" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="userName" type="s:ST_Xstring"/>
+ <xsd:attribute name="reservationPassword" type="ST_UnsignedShortHex"/>
+ <xsd:attribute name="algorithmName" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="spinCount" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OleSize">
+ <xsd:attribute name="ref" type="ST_Ref" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WorkbookProtection">
+ <xsd:attribute name="workbookPassword" type="ST_UnsignedShortHex" use="optional"/>
+ <xsd:attribute name="workbookPasswordCharacterSet" type="xsd:string" use="optional"/>
+ <xsd:attribute name="revisionsPassword" type="ST_UnsignedShortHex" use="optional"/>
+ <xsd:attribute name="revisionsPasswordCharacterSet" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lockStructure" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="lockWindows" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="lockRevision" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="revisionsAlgorithmName" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="revisionsHashValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="revisionsSaltValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="revisionsSpinCount" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="workbookAlgorithmName" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="workbookHashValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="workbookSaltValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="workbookSpinCount" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WebPublishing">
+ <xsd:attribute name="css" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="thicket" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="longFileNames" type="xsd:boolean" use="optional" default="true"/>
+ <xsd:attribute name="vml" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="allowPng" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="targetScreenSize" type="ST_TargetScreenSize" use="optional"
+ default="800x600"/>
+ <xsd:attribute name="dpi" type="xsd:unsignedInt" use="optional" default="96"/>
+ <xsd:attribute name="codePage" type="xsd:unsignedInt" use="optional"/>
+ <xsd:attribute name="characterSet" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TargetScreenSize">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="544x376"/>
+ <xsd:enumeration value="640x480"/>
+ <xsd:enumeration value="720x512"/>
+ <xsd:enumeration value="800x600"/>
+ <xsd:enumeration value="1024x768"/>
+ <xsd:enumeration value="1152x882"/>
+ <xsd:enumeration value="1152x900"/>
+ <xsd:enumeration value="1280x1024"/>
+ <xsd:enumeration value="1600x1200"/>
+ <xsd:enumeration value="1800x1440"/>
+ <xsd:enumeration value="1920x1200"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FunctionGroups">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="functionGroup" type="CT_FunctionGroup" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="builtInGroupCount" type="xsd:unsignedInt" default="16" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FunctionGroup">
+ <xsd:attribute name="name" type="s:ST_Xstring"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WebPublishObjects">
+ <xsd:sequence>
+ <xsd:element name="webPublishObject" type="CT_WebPublishObject" minOccurs="1"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="count" type="xsd:unsignedInt" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WebPublishObject">
+ <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/>
+ <xsd:attribute name="divId" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="sourceObject" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="destinationFile" type="s:ST_Xstring" use="required"/>
+ <xsd:attribute name="title" type="s:ST_Xstring" use="optional"/>
+ <xsd:attribute name="autoRepublish" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-main.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-main.xsd
new file mode 100644
index 0000000..8821dd1
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-main.xsd
@@ -0,0 +1,570 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:vml"
+ xmlns:pvml="urn:schemas-microsoft-com:office:powerpoint"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+ xmlns:w10="urn:schemas-microsoft-com:office:word"
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ targetNamespace="urn:schemas-microsoft-com:vml" elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+ <xsd:import namespace="urn:schemas-microsoft-com:office:office"
+ schemaLocation="vml-officeDrawing.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
+ schemaLocation="wml.xsd"/>
+ <xsd:import namespace="urn:schemas-microsoft-com:office:word"
+ schemaLocation="vml-wordprocessingDrawing.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ schemaLocation="shared-relationshipReference.xsd"/>
+ <xsd:import namespace="urn:schemas-microsoft-com:office:excel"
+ schemaLocation="vml-spreadsheetDrawing.xsd"/>
+ <xsd:import namespace="urn:schemas-microsoft-com:office:powerpoint"
+ schemaLocation="vml-presentationDrawing.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:attributeGroup name="AG_Id">
+ <xsd:attribute name="id" type="xsd:string" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_Style">
+ <xsd:attribute name="style" type="xsd:string" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_Type">
+ <xsd:attribute name="type" type="xsd:string" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_Adj">
+ <xsd:attribute name="adj" type="xsd:string" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_Path">
+ <xsd:attribute name="path" type="xsd:string" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_Fill">
+ <xsd:attribute name="filled" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="fillcolor" type="s:ST_ColorType" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_Chromakey">
+ <xsd:attribute name="chromakey" type="s:ST_ColorType" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_Ext">
+ <xsd:attribute name="ext" form="qualified" type="ST_Ext"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_CoreAttributes">
+ <xsd:attributeGroup ref="AG_Id"/>
+ <xsd:attributeGroup ref="AG_Style"/>
+ <xsd:attribute name="href" type="xsd:string" use="optional"/>
+ <xsd:attribute name="target" type="xsd:string" use="optional"/>
+ <xsd:attribute name="class" type="xsd:string" use="optional"/>
+ <xsd:attribute name="title" type="xsd:string" use="optional"/>
+ <xsd:attribute name="alt" type="xsd:string" use="optional"/>
+ <xsd:attribute name="coordsize" type="xsd:string" use="optional"/>
+ <xsd:attribute name="coordorigin" type="xsd:string" use="optional"/>
+ <xsd:attribute name="wrapcoords" type="xsd:string" use="optional"/>
+ <xsd:attribute name="print" type="s:ST_TrueFalse" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_ShapeAttributes">
+ <xsd:attributeGroup ref="AG_Chromakey"/>
+ <xsd:attributeGroup ref="AG_Fill"/>
+ <xsd:attribute name="opacity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="stroked" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="strokecolor" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="strokeweight" type="xsd:string" use="optional"/>
+ <xsd:attribute name="insetpen" type="s:ST_TrueFalse" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_OfficeCoreAttributes">
+ <xsd:attribute ref="o:spid"/>
+ <xsd:attribute ref="o:oned"/>
+ <xsd:attribute ref="o:regroupid"/>
+ <xsd:attribute ref="o:doubleclicknotify"/>
+ <xsd:attribute ref="o:button"/>
+ <xsd:attribute ref="o:userhidden"/>
+ <xsd:attribute ref="o:bullet"/>
+ <xsd:attribute ref="o:hr"/>
+ <xsd:attribute ref="o:hrstd"/>
+ <xsd:attribute ref="o:hrnoshade"/>
+ <xsd:attribute ref="o:hrpct"/>
+ <xsd:attribute ref="o:hralign"/>
+ <xsd:attribute ref="o:allowincell"/>
+ <xsd:attribute ref="o:allowoverlap"/>
+ <xsd:attribute ref="o:userdrawn"/>
+ <xsd:attribute ref="o:bordertopcolor"/>
+ <xsd:attribute ref="o:borderleftcolor"/>
+ <xsd:attribute ref="o:borderbottomcolor"/>
+ <xsd:attribute ref="o:borderrightcolor"/>
+ <xsd:attribute ref="o:dgmlayout"/>
+ <xsd:attribute ref="o:dgmnodekind"/>
+ <xsd:attribute ref="o:dgmlayoutmru"/>
+ <xsd:attribute ref="o:insetmode"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_OfficeShapeAttributes">
+ <xsd:attribute ref="o:spt"/>
+ <xsd:attribute ref="o:connectortype"/>
+ <xsd:attribute ref="o:bwmode"/>
+ <xsd:attribute ref="o:bwpure"/>
+ <xsd:attribute ref="o:bwnormal"/>
+ <xsd:attribute ref="o:forcedash"/>
+ <xsd:attribute ref="o:oleicon"/>
+ <xsd:attribute ref="o:ole"/>
+ <xsd:attribute ref="o:preferrelative"/>
+ <xsd:attribute ref="o:cliptowrap"/>
+ <xsd:attribute ref="o:clip"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_AllCoreAttributes">
+ <xsd:attributeGroup ref="AG_CoreAttributes"/>
+ <xsd:attributeGroup ref="AG_OfficeCoreAttributes"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_AllShapeAttributes">
+ <xsd:attributeGroup ref="AG_ShapeAttributes"/>
+ <xsd:attributeGroup ref="AG_OfficeShapeAttributes"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_ImageAttributes">
+ <xsd:attribute name="src" type="xsd:string" use="optional"/>
+ <xsd:attribute name="cropleft" type="xsd:string" use="optional"/>
+ <xsd:attribute name="croptop" type="xsd:string" use="optional"/>
+ <xsd:attribute name="cropright" type="xsd:string" use="optional"/>
+ <xsd:attribute name="cropbottom" type="xsd:string" use="optional"/>
+ <xsd:attribute name="gain" type="xsd:string" use="optional"/>
+ <xsd:attribute name="blacklevel" type="xsd:string" use="optional"/>
+ <xsd:attribute name="gamma" type="xsd:string" use="optional"/>
+ <xsd:attribute name="grayscale" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="bilevel" type="s:ST_TrueFalse" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_StrokeAttributes">
+ <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="weight" type="xsd:string" use="optional"/>
+ <xsd:attribute name="color" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="opacity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="linestyle" type="ST_StrokeLineStyle" use="optional"/>
+ <xsd:attribute name="miterlimit" type="xsd:decimal" use="optional"/>
+ <xsd:attribute name="joinstyle" type="ST_StrokeJoinStyle" use="optional"/>
+ <xsd:attribute name="endcap" type="ST_StrokeEndCap" use="optional"/>
+ <xsd:attribute name="dashstyle" type="xsd:string" use="optional"/>
+ <xsd:attribute name="filltype" type="ST_FillType" use="optional"/>
+ <xsd:attribute name="src" type="xsd:string" use="optional"/>
+ <xsd:attribute name="imageaspect" type="ST_ImageAspect" use="optional"/>
+ <xsd:attribute name="imagesize" type="xsd:string" use="optional"/>
+ <xsd:attribute name="imagealignshape" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="color2" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="startarrow" type="ST_StrokeArrowType" use="optional"/>
+ <xsd:attribute name="startarrowwidth" type="ST_StrokeArrowWidth" use="optional"/>
+ <xsd:attribute name="startarrowlength" type="ST_StrokeArrowLength" use="optional"/>
+ <xsd:attribute name="endarrow" type="ST_StrokeArrowType" use="optional"/>
+ <xsd:attribute name="endarrowwidth" type="ST_StrokeArrowWidth" use="optional"/>
+ <xsd:attribute name="endarrowlength" type="ST_StrokeArrowLength" use="optional"/>
+ <xsd:attribute ref="o:href"/>
+ <xsd:attribute ref="o:althref"/>
+ <xsd:attribute ref="o:title"/>
+ <xsd:attribute ref="o:forcedash"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ <xsd:attribute name="insetpen" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute ref="o:relid"/>
+ </xsd:attributeGroup>
+ <xsd:group name="EG_ShapeElements">
+ <xsd:choice>
+ <xsd:element ref="path"/>
+ <xsd:element ref="formulas"/>
+ <xsd:element ref="handles"/>
+ <xsd:element ref="fill"/>
+ <xsd:element ref="stroke"/>
+ <xsd:element ref="shadow"/>
+ <xsd:element ref="textbox"/>
+ <xsd:element ref="textpath"/>
+ <xsd:element ref="imagedata"/>
+ <xsd:element ref="o:skew"/>
+ <xsd:element ref="o:extrusion"/>
+ <xsd:element ref="o:callout"/>
+ <xsd:element ref="o:lock"/>
+ <xsd:element ref="o:clippath"/>
+ <xsd:element ref="o:signatureline"/>
+ <xsd:element ref="w10:wrap"/>
+ <xsd:element ref="w10:anchorlock"/>
+ <xsd:element ref="w10:bordertop"/>
+ <xsd:element ref="w10:borderbottom"/>
+ <xsd:element ref="w10:borderleft"/>
+ <xsd:element ref="w10:borderright"/>
+ <xsd:element ref="x:ClientData" minOccurs="0"/>
+ <xsd:element ref="pvml:textdata" minOccurs="0"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:element name="shape" type="CT_Shape"/>
+ <xsd:element name="shapetype" type="CT_Shapetype"/>
+ <xsd:element name="group" type="CT_Group"/>
+ <xsd:element name="background" type="CT_Background"/>
+ <xsd:complexType name="CT_Shape">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:group ref="EG_ShapeElements"/>
+ <xsd:element ref="o:ink"/>
+ <xsd:element ref="pvml:iscomment"/>
+ <xsd:element ref="o:equationxml"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_AllShapeAttributes"/>
+ <xsd:attributeGroup ref="AG_Type"/>
+ <xsd:attributeGroup ref="AG_Adj"/>
+ <xsd:attributeGroup ref="AG_Path"/>
+ <xsd:attribute ref="o:gfxdata"/>
+ <xsd:attribute name="equationxml" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Shapetype">
+ <xsd:sequence>
+ <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="o:complex" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_AllShapeAttributes"/>
+ <xsd:attributeGroup ref="AG_Adj"/>
+ <xsd:attributeGroup ref="AG_Path"/>
+ <xsd:attribute ref="o:master"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Group">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:group ref="EG_ShapeElements"/>
+ <xsd:element ref="group"/>
+ <xsd:element ref="shape"/>
+ <xsd:element ref="shapetype"/>
+ <xsd:element ref="arc"/>
+ <xsd:element ref="curve"/>
+ <xsd:element ref="image"/>
+ <xsd:element ref="line"/>
+ <xsd:element ref="oval"/>
+ <xsd:element ref="polyline"/>
+ <xsd:element ref="rect"/>
+ <xsd:element ref="roundrect"/>
+ <xsd:element ref="o:diagram"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_Fill"/>
+ <xsd:attribute name="editas" type="ST_EditAs" use="optional"/>
+ <xsd:attribute ref="o:tableproperties"/>
+ <xsd:attribute ref="o:tablelimits"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Background">
+ <xsd:sequence>
+ <xsd:element ref="fill" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_Id"/>
+ <xsd:attributeGroup ref="AG_Fill"/>
+ <xsd:attribute ref="o:bwmode"/>
+ <xsd:attribute ref="o:bwpure"/>
+ <xsd:attribute ref="o:bwnormal"/>
+ <xsd:attribute ref="o:targetscreensize"/>
+ </xsd:complexType>
+ <xsd:element name="fill" type="CT_Fill"/>
+ <xsd:element name="formulas" type="CT_Formulas"/>
+ <xsd:element name="handles" type="CT_Handles"/>
+ <xsd:element name="imagedata" type="CT_ImageData"/>
+ <xsd:element name="path" type="CT_Path"/>
+ <xsd:element name="textbox" type="CT_Textbox"/>
+ <xsd:element name="shadow" type="CT_Shadow"/>
+ <xsd:element name="stroke" type="CT_Stroke"/>
+ <xsd:element name="textpath" type="CT_TextPath"/>
+ <xsd:complexType name="CT_Fill">
+ <xsd:sequence>
+ <xsd:element ref="o:fill" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_Id"/>
+ <xsd:attribute name="type" type="ST_FillType" use="optional"/>
+ <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="color" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="opacity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="color2" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="src" type="xsd:string" use="optional"/>
+ <xsd:attribute ref="o:href"/>
+ <xsd:attribute ref="o:althref"/>
+ <xsd:attribute name="size" type="xsd:string" use="optional"/>
+ <xsd:attribute name="origin" type="xsd:string" use="optional"/>
+ <xsd:attribute name="position" type="xsd:string" use="optional"/>
+ <xsd:attribute name="aspect" type="ST_ImageAspect" use="optional"/>
+ <xsd:attribute name="colors" type="xsd:string" use="optional"/>
+ <xsd:attribute name="angle" type="xsd:decimal" use="optional"/>
+ <xsd:attribute name="alignshape" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="focus" type="xsd:string" use="optional"/>
+ <xsd:attribute name="focussize" type="xsd:string" use="optional"/>
+ <xsd:attribute name="focusposition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="method" type="ST_FillMethod" use="optional"/>
+ <xsd:attribute ref="o:detectmouseclick"/>
+ <xsd:attribute ref="o:title"/>
+ <xsd:attribute ref="o:opacity2"/>
+ <xsd:attribute name="recolor" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="rotate" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ <xsd:attribute ref="o:relid" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Formulas">
+ <xsd:sequence>
+ <xsd:element name="f" type="CT_F" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_F">
+ <xsd:attribute name="eqn" type="xsd:string"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Handles">
+ <xsd:sequence>
+ <xsd:element name="h" type="CT_H" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_H">
+ <xsd:attribute name="position" type="xsd:string"/>
+ <xsd:attribute name="polar" type="xsd:string"/>
+ <xsd:attribute name="map" type="xsd:string"/>
+ <xsd:attribute name="invx" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="invy" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="switch" type="s:ST_TrueFalseBlank"/>
+ <xsd:attribute name="xrange" type="xsd:string"/>
+ <xsd:attribute name="yrange" type="xsd:string"/>
+ <xsd:attribute name="radiusrange" type="xsd:string"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ImageData">
+ <xsd:attributeGroup ref="AG_Id"/>
+ <xsd:attributeGroup ref="AG_ImageAttributes"/>
+ <xsd:attributeGroup ref="AG_Chromakey"/>
+ <xsd:attribute name="embosscolor" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="recolortarget" type="s:ST_ColorType"/>
+ <xsd:attribute ref="o:href"/>
+ <xsd:attribute ref="o:althref"/>
+ <xsd:attribute ref="o:title"/>
+ <xsd:attribute ref="o:oleid"/>
+ <xsd:attribute ref="o:detectmouseclick"/>
+ <xsd:attribute ref="o:movie"/>
+ <xsd:attribute ref="o:relid"/>
+ <xsd:attribute ref="r:id"/>
+ <xsd:attribute ref="r:pict"/>
+ <xsd:attribute ref="r:href"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Path">
+ <xsd:attributeGroup ref="AG_Id"/>
+ <xsd:attribute name="v" type="xsd:string" use="optional"/>
+ <xsd:attribute name="limo" type="xsd:string" use="optional"/>
+ <xsd:attribute name="textboxrect" type="xsd:string" use="optional"/>
+ <xsd:attribute name="fillok" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="strokeok" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="shadowok" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="arrowok" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="gradientshapeok" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="textpathok" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="insetpenok" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute ref="o:connecttype"/>
+ <xsd:attribute ref="o:connectlocs"/>
+ <xsd:attribute ref="o:connectangles"/>
+ <xsd:attribute ref="o:extrusionok"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Shadow">
+ <xsd:attributeGroup ref="AG_Id"/>
+ <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="type" type="ST_ShadowType" use="optional"/>
+ <xsd:attribute name="obscured" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="color" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="opacity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="offset" type="xsd:string" use="optional"/>
+ <xsd:attribute name="color2" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="offset2" type="xsd:string" use="optional"/>
+ <xsd:attribute name="origin" type="xsd:string" use="optional"/>
+ <xsd:attribute name="matrix" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Stroke">
+ <xsd:sequence>
+ <xsd:element ref="o:left" minOccurs="0"/>
+ <xsd:element ref="o:top" minOccurs="0"/>
+ <xsd:element ref="o:right" minOccurs="0"/>
+ <xsd:element ref="o:bottom" minOccurs="0"/>
+ <xsd:element ref="o:column" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_Id"/>
+ <xsd:attributeGroup ref="AG_StrokeAttributes"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Textbox">
+ <xsd:choice>
+ <xsd:element ref="w:txbxContent" minOccurs="0"/>
+ <xsd:any namespace="##local" processContents="skip"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="AG_Id"/>
+ <xsd:attributeGroup ref="AG_Style"/>
+ <xsd:attribute name="inset" type="xsd:string" use="optional"/>
+ <xsd:attribute ref="o:singleclick"/>
+ <xsd:attribute ref="o:insetmode"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TextPath">
+ <xsd:attributeGroup ref="AG_Id"/>
+ <xsd:attributeGroup ref="AG_Style"/>
+ <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="fitshape" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="fitpath" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="trim" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="xscale" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="string" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:element name="arc" type="CT_Arc"/>
+ <xsd:element name="curve" type="CT_Curve"/>
+ <xsd:element name="image" type="CT_Image"/>
+ <xsd:element name="line" type="CT_Line"/>
+ <xsd:element name="oval" type="CT_Oval"/>
+ <xsd:element name="polyline" type="CT_PolyLine"/>
+ <xsd:element name="rect" type="CT_Rect"/>
+ <xsd:element name="roundrect" type="CT_RoundRect"/>
+ <xsd:complexType name="CT_Arc">
+ <xsd:sequence>
+ <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_AllShapeAttributes"/>
+ <xsd:attribute name="startAngle" type="xsd:decimal" use="optional"/>
+ <xsd:attribute name="endAngle" type="xsd:decimal" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Curve">
+ <xsd:sequence>
+ <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_AllShapeAttributes"/>
+ <xsd:attribute name="from" type="xsd:string" use="optional"/>
+ <xsd:attribute name="control1" type="xsd:string" use="optional"/>
+ <xsd:attribute name="control2" type="xsd:string" use="optional"/>
+ <xsd:attribute name="to" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Image">
+ <xsd:sequence>
+ <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_AllShapeAttributes"/>
+ <xsd:attributeGroup ref="AG_ImageAttributes"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Line">
+ <xsd:sequence>
+ <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_AllShapeAttributes"/>
+ <xsd:attribute name="from" type="xsd:string" use="optional"/>
+ <xsd:attribute name="to" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Oval">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_AllShapeAttributes"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PolyLine">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:group ref="EG_ShapeElements"/>
+ <xsd:element ref="o:ink"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_AllShapeAttributes"/>
+ <xsd:attribute name="points" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Rect">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_AllShapeAttributes"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RoundRect">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:group ref="EG_ShapeElements" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ <xsd:attributeGroup ref="AG_AllCoreAttributes"/>
+ <xsd:attributeGroup ref="AG_AllShapeAttributes"/>
+ <xsd:attribute name="arcsize" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Ext">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="view"/>
+ <xsd:enumeration value="edit"/>
+ <xsd:enumeration value="backwardCompatible"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FillType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="solid"/>
+ <xsd:enumeration value="gradient"/>
+ <xsd:enumeration value="gradientRadial"/>
+ <xsd:enumeration value="tile"/>
+ <xsd:enumeration value="pattern"/>
+ <xsd:enumeration value="frame"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FillMethod">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="linear"/>
+ <xsd:enumeration value="sigma"/>
+ <xsd:enumeration value="any"/>
+ <xsd:enumeration value="linear sigma"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ShadowType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="single"/>
+ <xsd:enumeration value="double"/>
+ <xsd:enumeration value="emboss"/>
+ <xsd:enumeration value="perspective"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_StrokeLineStyle">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="single"/>
+ <xsd:enumeration value="thinThin"/>
+ <xsd:enumeration value="thinThick"/>
+ <xsd:enumeration value="thickThin"/>
+ <xsd:enumeration value="thickBetweenThin"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_StrokeJoinStyle">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="round"/>
+ <xsd:enumeration value="bevel"/>
+ <xsd:enumeration value="miter"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_StrokeEndCap">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="flat"/>
+ <xsd:enumeration value="square"/>
+ <xsd:enumeration value="round"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_StrokeArrowLength">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="short"/>
+ <xsd:enumeration value="medium"/>
+ <xsd:enumeration value="long"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_StrokeArrowWidth">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="narrow"/>
+ <xsd:enumeration value="medium"/>
+ <xsd:enumeration value="wide"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_StrokeArrowType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="block"/>
+ <xsd:enumeration value="classic"/>
+ <xsd:enumeration value="oval"/>
+ <xsd:enumeration value="diamond"/>
+ <xsd:enumeration value="open"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ImageAspect">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ignore"/>
+ <xsd:enumeration value="atMost"/>
+ <xsd:enumeration value="atLeast"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_EditAs">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="canvas"/>
+ <xsd:enumeration value="orgchart"/>
+ <xsd:enumeration value="radial"/>
+ <xsd:enumeration value="cycle"/>
+ <xsd:enumeration value="stacked"/>
+ <xsd:enumeration value="venn"/>
+ <xsd:enumeration value="bullseye"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-officeDrawing.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-officeDrawing.xsd
new file mode 100644
index 0000000..ca2575c
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-officeDrawing.xsd
@@ -0,0 +1,509 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml"
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ targetNamespace="urn:schemas-microsoft-com:office:office" elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+ <xsd:import namespace="urn:schemas-microsoft-com:vml" schemaLocation="vml-main.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ schemaLocation="shared-relationshipReference.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:attribute name="bwmode" type="ST_BWMode"/>
+ <xsd:attribute name="bwpure" type="ST_BWMode"/>
+ <xsd:attribute name="bwnormal" type="ST_BWMode"/>
+ <xsd:attribute name="targetscreensize" type="ST_ScreenSize"/>
+ <xsd:attribute name="insetmode" type="ST_InsetMode" default="custom"/>
+ <xsd:attribute name="spt" type="xsd:float"/>
+ <xsd:attribute name="wrapcoords" type="xsd:string"/>
+ <xsd:attribute name="oned" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="regroupid" type="xsd:integer"/>
+ <xsd:attribute name="doubleclicknotify" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="connectortype" type="ST_ConnectorType" default="straight"/>
+ <xsd:attribute name="button" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="userhidden" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="forcedash" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="oleicon" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="ole" type="s:ST_TrueFalseBlank"/>
+ <xsd:attribute name="preferrelative" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="cliptowrap" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="clip" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="bullet" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="hr" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="hrstd" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="hrnoshade" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="hrpct" type="xsd:float"/>
+ <xsd:attribute name="hralign" type="ST_HrAlign" default="left"/>
+ <xsd:attribute name="allowincell" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="allowoverlap" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="userdrawn" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="bordertopcolor" type="xsd:string"/>
+ <xsd:attribute name="borderleftcolor" type="xsd:string"/>
+ <xsd:attribute name="borderbottomcolor" type="xsd:string"/>
+ <xsd:attribute name="borderrightcolor" type="xsd:string"/>
+ <xsd:attribute name="connecttype" type="ST_ConnectType"/>
+ <xsd:attribute name="connectlocs" type="xsd:string"/>
+ <xsd:attribute name="connectangles" type="xsd:string"/>
+ <xsd:attribute name="master" type="xsd:string"/>
+ <xsd:attribute name="extrusionok" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="href" type="xsd:string"/>
+ <xsd:attribute name="althref" type="xsd:string"/>
+ <xsd:attribute name="title" type="xsd:string"/>
+ <xsd:attribute name="singleclick" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="oleid" type="xsd:float"/>
+ <xsd:attribute name="detectmouseclick" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="movie" type="xsd:float"/>
+ <xsd:attribute name="spid" type="xsd:string"/>
+ <xsd:attribute name="opacity2" type="xsd:string"/>
+ <xsd:attribute name="relid" type="r:ST_RelationshipId"/>
+ <xsd:attribute name="dgmlayout" type="ST_DiagramLayout"/>
+ <xsd:attribute name="dgmnodekind" type="xsd:integer"/>
+ <xsd:attribute name="dgmlayoutmru" type="ST_DiagramLayout"/>
+ <xsd:attribute name="gfxdata" type="xsd:base64Binary"/>
+ <xsd:attribute name="tableproperties" type="xsd:string"/>
+ <xsd:attribute name="tablelimits" type="xsd:string"/>
+ <xsd:element name="shapedefaults" type="CT_ShapeDefaults"/>
+ <xsd:element name="shapelayout" type="CT_ShapeLayout"/>
+ <xsd:element name="signatureline" type="CT_SignatureLine"/>
+ <xsd:element name="ink" type="CT_Ink"/>
+ <xsd:element name="diagram" type="CT_Diagram"/>
+ <xsd:element name="equationxml" type="CT_EquationXml"/>
+ <xsd:complexType name="CT_ShapeDefaults">
+ <xsd:all minOccurs="0">
+ <xsd:element ref="v:fill" minOccurs="0"/>
+ <xsd:element ref="v:stroke" minOccurs="0"/>
+ <xsd:element ref="v:textbox" minOccurs="0"/>
+ <xsd:element ref="v:shadow" minOccurs="0"/>
+ <xsd:element ref="skew" minOccurs="0"/>
+ <xsd:element ref="extrusion" minOccurs="0"/>
+ <xsd:element ref="callout" minOccurs="0"/>
+ <xsd:element ref="lock" minOccurs="0"/>
+ <xsd:element name="colormru" minOccurs="0" type="CT_ColorMru"/>
+ <xsd:element name="colormenu" minOccurs="0" type="CT_ColorMenu"/>
+ </xsd:all>
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="spidmax" type="xsd:integer" use="optional"/>
+ <xsd:attribute name="style" type="xsd:string" use="optional"/>
+ <xsd:attribute name="fill" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="fillcolor" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="stroke" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="strokecolor" type="s:ST_ColorType"/>
+ <xsd:attribute name="allowincell" form="qualified" type="s:ST_TrueFalse"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Ink">
+ <xsd:sequence/>
+ <xsd:attribute name="i" type="xsd:string"/>
+ <xsd:attribute name="annotation" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="contentType" type="ST_ContentType" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SignatureLine">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="issignatureline" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="id" type="s:ST_Guid"/>
+ <xsd:attribute name="provid" type="s:ST_Guid"/>
+ <xsd:attribute name="signinginstructionsset" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="allowcomments" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="showsigndate" type="s:ST_TrueFalse"/>
+ <xsd:attribute name="suggestedsigner" type="xsd:string" form="qualified"/>
+ <xsd:attribute name="suggestedsigner2" type="xsd:string" form="qualified"/>
+ <xsd:attribute name="suggestedsigneremail" type="xsd:string" form="qualified"/>
+ <xsd:attribute name="signinginstructions" type="xsd:string"/>
+ <xsd:attribute name="addlxml" type="xsd:string"/>
+ <xsd:attribute name="sigprovurl" type="xsd:string"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ShapeLayout">
+ <xsd:all>
+ <xsd:element name="idmap" type="CT_IdMap" minOccurs="0"/>
+ <xsd:element name="regrouptable" type="CT_RegroupTable" minOccurs="0"/>
+ <xsd:element name="rules" type="CT_Rules" minOccurs="0"/>
+ </xsd:all>
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_IdMap">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="data" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RegroupTable">
+ <xsd:sequence>
+ <xsd:element name="entry" type="CT_Entry" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Entry">
+ <xsd:attribute name="new" type="xsd:int" use="optional"/>
+ <xsd:attribute name="old" type="xsd:int" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Rules">
+ <xsd:sequence>
+ <xsd:element name="r" type="CT_R" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_R">
+ <xsd:sequence>
+ <xsd:element name="proxy" type="CT_Proxy" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:string" use="required"/>
+ <xsd:attribute name="type" type="ST_RType" use="optional"/>
+ <xsd:attribute name="how" type="ST_How" use="optional"/>
+ <xsd:attribute name="idref" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Proxy">
+ <xsd:attribute name="start" type="s:ST_TrueFalseBlank" use="optional" default="false"/>
+ <xsd:attribute name="end" type="s:ST_TrueFalseBlank" use="optional" default="false"/>
+ <xsd:attribute name="idref" type="xsd:string" use="optional"/>
+ <xsd:attribute name="connectloc" type="xsd:int" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Diagram">
+ <xsd:sequence>
+ <xsd:element name="relationtable" type="CT_RelationTable" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="dgmstyle" type="xsd:integer" use="optional"/>
+ <xsd:attribute name="autoformat" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="reverse" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="autolayout" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="dgmscalex" type="xsd:integer" use="optional"/>
+ <xsd:attribute name="dgmscaley" type="xsd:integer" use="optional"/>
+ <xsd:attribute name="dgmfontsize" type="xsd:integer" use="optional"/>
+ <xsd:attribute name="constrainbounds" type="xsd:string" use="optional"/>
+ <xsd:attribute name="dgmbasetextscale" type="xsd:integer" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EquationXml">
+ <xsd:sequence>
+ <xsd:any namespace="##any"/>
+ </xsd:sequence>
+ <xsd:attribute name="contentType" type="ST_AlternateMathContentType" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_AlternateMathContentType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_RelationTable">
+ <xsd:sequence>
+ <xsd:element name="rel" type="CT_Relation" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Relation">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="idsrc" type="xsd:string" use="optional"/>
+ <xsd:attribute name="iddest" type="xsd:string" use="optional"/>
+ <xsd:attribute name="idcntr" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorMru">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="colors" type="xsd:string"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ColorMenu">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="strokecolor" type="s:ST_ColorType"/>
+ <xsd:attribute name="fillcolor" type="s:ST_ColorType"/>
+ <xsd:attribute name="shadowcolor" type="s:ST_ColorType"/>
+ <xsd:attribute name="extrusioncolor" type="s:ST_ColorType"/>
+ </xsd:complexType>
+ <xsd:element name="skew" type="CT_Skew"/>
+ <xsd:element name="extrusion" type="CT_Extrusion"/>
+ <xsd:element name="callout" type="CT_Callout"/>
+ <xsd:element name="lock" type="CT_Lock"/>
+ <xsd:element name="OLEObject" type="CT_OLEObject"/>
+ <xsd:element name="complex" type="CT_Complex"/>
+ <xsd:element name="left" type="CT_StrokeChild"/>
+ <xsd:element name="top" type="CT_StrokeChild"/>
+ <xsd:element name="right" type="CT_StrokeChild"/>
+ <xsd:element name="bottom" type="CT_StrokeChild"/>
+ <xsd:element name="column" type="CT_StrokeChild"/>
+ <xsd:element name="clippath" type="CT_ClipPath"/>
+ <xsd:element name="fill" type="CT_Fill"/>
+ <xsd:complexType name="CT_Skew">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="id" type="xsd:string" use="optional"/>
+ <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="offset" type="xsd:string" use="optional"/>
+ <xsd:attribute name="origin" type="xsd:string" use="optional"/>
+ <xsd:attribute name="matrix" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Extrusion">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="type" type="ST_ExtrusionType" default="parallel" use="optional"/>
+ <xsd:attribute name="render" type="ST_ExtrusionRender" default="solid" use="optional"/>
+ <xsd:attribute name="viewpointorigin" type="xsd:string" use="optional"/>
+ <xsd:attribute name="viewpoint" type="xsd:string" use="optional"/>
+ <xsd:attribute name="plane" type="ST_ExtrusionPlane" default="XY" use="optional"/>
+ <xsd:attribute name="skewangle" type="xsd:float" use="optional"/>
+ <xsd:attribute name="skewamt" type="xsd:string" use="optional"/>
+ <xsd:attribute name="foredepth" type="xsd:string" use="optional"/>
+ <xsd:attribute name="backdepth" type="xsd:string" use="optional"/>
+ <xsd:attribute name="orientation" type="xsd:string" use="optional"/>
+ <xsd:attribute name="orientationangle" type="xsd:float" use="optional"/>
+ <xsd:attribute name="lockrotationcenter" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="autorotationcenter" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="rotationcenter" type="xsd:string" use="optional"/>
+ <xsd:attribute name="rotationangle" type="xsd:string" use="optional"/>
+ <xsd:attribute name="colormode" type="ST_ColorMode" use="optional"/>
+ <xsd:attribute name="color" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="shininess" type="xsd:float" use="optional"/>
+ <xsd:attribute name="specularity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="diffusity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="metal" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="edge" type="xsd:string" use="optional"/>
+ <xsd:attribute name="facet" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lightface" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="brightness" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lightposition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lightlevel" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lightharsh" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="lightposition2" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lightlevel2" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lightharsh2" type="s:ST_TrueFalse" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Callout">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="type" type="xsd:string" use="optional"/>
+ <xsd:attribute name="gap" type="xsd:string" use="optional"/>
+ <xsd:attribute name="angle" type="ST_Angle" use="optional"/>
+ <xsd:attribute name="dropauto" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="drop" type="ST_CalloutDrop" use="optional"/>
+ <xsd:attribute name="distance" type="xsd:string" use="optional"/>
+ <xsd:attribute name="lengthspecified" type="s:ST_TrueFalse" default="f" use="optional"/>
+ <xsd:attribute name="length" type="xsd:string" use="optional"/>
+ <xsd:attribute name="accentbar" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="textborder" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="minusx" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="minusy" type="s:ST_TrueFalse" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Lock">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="position" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="selection" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="grouping" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="ungrouping" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="rotation" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="cropping" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="verticies" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="adjusthandles" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="text" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="aspectratio" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="shapetype" type="s:ST_TrueFalse" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OLEObject">
+ <xsd:sequence>
+ <xsd:element name="LinkType" type="ST_OLELinkType" minOccurs="0"/>
+ <xsd:element name="LockedField" type="s:ST_TrueFalseBlank" minOccurs="0"/>
+ <xsd:element name="FieldCodes" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="Type" type="ST_OLEType" use="optional"/>
+ <xsd:attribute name="ProgID" type="xsd:string" use="optional"/>
+ <xsd:attribute name="ShapeID" type="xsd:string" use="optional"/>
+ <xsd:attribute name="DrawAspect" type="ST_OLEDrawAspect" use="optional"/>
+ <xsd:attribute name="ObjectID" type="xsd:string" use="optional"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ <xsd:attribute name="UpdateMode" type="ST_OLEUpdateMode" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Complex">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StrokeChild">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="on" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="weight" type="xsd:string" use="optional"/>
+ <xsd:attribute name="color" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="color2" type="s:ST_ColorType" use="optional"/>
+ <xsd:attribute name="opacity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="linestyle" type="v:ST_StrokeLineStyle" use="optional"/>
+ <xsd:attribute name="miterlimit" type="xsd:decimal" use="optional"/>
+ <xsd:attribute name="joinstyle" type="v:ST_StrokeJoinStyle" use="optional"/>
+ <xsd:attribute name="endcap" type="v:ST_StrokeEndCap" use="optional"/>
+ <xsd:attribute name="dashstyle" type="xsd:string" use="optional"/>
+ <xsd:attribute name="insetpen" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="filltype" type="v:ST_FillType" use="optional"/>
+ <xsd:attribute name="src" type="xsd:string" use="optional"/>
+ <xsd:attribute name="imageaspect" type="v:ST_ImageAspect" use="optional"/>
+ <xsd:attribute name="imagesize" type="xsd:string" use="optional"/>
+ <xsd:attribute name="imagealignshape" type="s:ST_TrueFalse" use="optional"/>
+ <xsd:attribute name="startarrow" type="v:ST_StrokeArrowType" use="optional"/>
+ <xsd:attribute name="startarrowwidth" type="v:ST_StrokeArrowWidth" use="optional"/>
+ <xsd:attribute name="startarrowlength" type="v:ST_StrokeArrowLength" use="optional"/>
+ <xsd:attribute name="endarrow" type="v:ST_StrokeArrowType" use="optional"/>
+ <xsd:attribute name="endarrowwidth" type="v:ST_StrokeArrowWidth" use="optional"/>
+ <xsd:attribute name="endarrowlength" type="v:ST_StrokeArrowLength" use="optional"/>
+ <xsd:attribute ref="href"/>
+ <xsd:attribute ref="althref"/>
+ <xsd:attribute ref="title"/>
+ <xsd:attribute ref="forcedash"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ClipPath">
+ <xsd:attribute name="v" type="xsd:string" use="required" form="qualified"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Fill">
+ <xsd:attributeGroup ref="v:AG_Ext"/>
+ <xsd:attribute name="type" type="ST_FillType"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_RType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="arc"/>
+ <xsd:enumeration value="callout"/>
+ <xsd:enumeration value="connector"/>
+ <xsd:enumeration value="align"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_How">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="top"/>
+ <xsd:enumeration value="middle"/>
+ <xsd:enumeration value="bottom"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="right"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_BWMode">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="color"/>
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="grayScale"/>
+ <xsd:enumeration value="lightGrayscale"/>
+ <xsd:enumeration value="inverseGray"/>
+ <xsd:enumeration value="grayOutline"/>
+ <xsd:enumeration value="highContrast"/>
+ <xsd:enumeration value="black"/>
+ <xsd:enumeration value="white"/>
+ <xsd:enumeration value="hide"/>
+ <xsd:enumeration value="undrawn"/>
+ <xsd:enumeration value="blackTextAndLines"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ScreenSize">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="544,376"/>
+ <xsd:enumeration value="640,480"/>
+ <xsd:enumeration value="720,512"/>
+ <xsd:enumeration value="800,600"/>
+ <xsd:enumeration value="1024,768"/>
+ <xsd:enumeration value="1152,862"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_InsetMode">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="custom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ColorMode">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="custom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ContentType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DiagramLayout">
+ <xsd:restriction base="xsd:integer">
+ <xsd:enumeration value="0"/>
+ <xsd:enumeration value="1"/>
+ <xsd:enumeration value="2"/>
+ <xsd:enumeration value="3"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ExtrusionType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="perspective"/>
+ <xsd:enumeration value="parallel"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ExtrusionRender">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="solid"/>
+ <xsd:enumeration value="wireFrame"/>
+ <xsd:enumeration value="boundingCube"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ExtrusionPlane">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="XY"/>
+ <xsd:enumeration value="ZX"/>
+ <xsd:enumeration value="YZ"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Angle">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="any"/>
+ <xsd:enumeration value="30"/>
+ <xsd:enumeration value="45"/>
+ <xsd:enumeration value="60"/>
+ <xsd:enumeration value="90"/>
+ <xsd:enumeration value="auto"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CalloutDrop">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_CalloutPlacement">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="top"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="bottom"/>
+ <xsd:enumeration value="user"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ConnectorType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="straight"/>
+ <xsd:enumeration value="elbow"/>
+ <xsd:enumeration value="curved"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HrAlign">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="center"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ConnectType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="rect"/>
+ <xsd:enumeration value="segments"/>
+ <xsd:enumeration value="custom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_OLELinkType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_OLEType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Embed"/>
+ <xsd:enumeration value="Link"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_OLEDrawAspect">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Content"/>
+ <xsd:enumeration value="Icon"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_OLEUpdateMode">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Always"/>
+ <xsd:enumeration value="OnCall"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FillType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="gradientCenter"/>
+ <xsd:enumeration value="solid"/>
+ <xsd:enumeration value="pattern"/>
+ <xsd:enumeration value="tile"/>
+ <xsd:enumeration value="frame"/>
+ <xsd:enumeration value="gradientUnscaled"/>
+ <xsd:enumeration value="gradientRadial"/>
+ <xsd:enumeration value="gradient"/>
+ <xsd:enumeration value="background"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-presentationDrawing.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-presentationDrawing.xsd
new file mode 100644
index 0000000..dd079e6
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-presentationDrawing.xsd
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="urn:schemas-microsoft-com:office:powerpoint"
+ targetNamespace="urn:schemas-microsoft-com:office:powerpoint" elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+ <xsd:element name="iscomment" type="CT_Empty"/>
+ <xsd:element name="textdata" type="CT_Rel"/>
+ <xsd:complexType name="CT_Empty"/>
+ <xsd:complexType name="CT_Rel">
+ <xsd:attribute name="id" type="xsd:string"/>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-spreadsheetDrawing.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-spreadsheetDrawing.xsd
new file mode 100644
index 0000000..3dd6cf6
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-spreadsheetDrawing.xsd
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="urn:schemas-microsoft-com:office:excel"
+ xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ targetNamespace="urn:schemas-microsoft-com:office:excel" elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
+ schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:element name="ClientData" type="CT_ClientData"/>
+ <xsd:complexType name="CT_ClientData">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="MoveWithCells" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="SizeWithCells" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="Anchor" type="xsd:string"/>
+ <xsd:element name="Locked" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="DefaultSize" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="PrintObject" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="Disabled" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="AutoFill" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="AutoLine" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="AutoPict" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="FmlaMacro" type="xsd:string"/>
+ <xsd:element name="TextHAlign" type="xsd:string"/>
+ <xsd:element name="TextVAlign" type="xsd:string"/>
+ <xsd:element name="LockText" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="JustLastX" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="SecretEdit" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="Default" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="Help" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="Cancel" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="Dismiss" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="Accel" type="xsd:integer"/>
+ <xsd:element name="Accel2" type="xsd:integer"/>
+ <xsd:element name="Row" type="xsd:integer"/>
+ <xsd:element name="Column" type="xsd:integer"/>
+ <xsd:element name="Visible" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="RowHidden" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="ColHidden" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="VTEdit" type="xsd:integer"/>
+ <xsd:element name="MultiLine" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="VScroll" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="ValidIds" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="FmlaRange" type="xsd:string"/>
+ <xsd:element name="WidthMin" type="xsd:integer"/>
+ <xsd:element name="Sel" type="xsd:integer"/>
+ <xsd:element name="NoThreeD2" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="SelType" type="xsd:string"/>
+ <xsd:element name="MultiSel" type="xsd:string"/>
+ <xsd:element name="LCT" type="xsd:string"/>
+ <xsd:element name="ListItem" type="xsd:string"/>
+ <xsd:element name="DropStyle" type="xsd:string"/>
+ <xsd:element name="Colored" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="DropLines" type="xsd:integer"/>
+ <xsd:element name="Checked" type="xsd:integer"/>
+ <xsd:element name="FmlaLink" type="xsd:string"/>
+ <xsd:element name="FmlaPict" type="xsd:string"/>
+ <xsd:element name="NoThreeD" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="FirstButton" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="FmlaGroup" type="xsd:string"/>
+ <xsd:element name="Val" type="xsd:integer"/>
+ <xsd:element name="Min" type="xsd:integer"/>
+ <xsd:element name="Max" type="xsd:integer"/>
+ <xsd:element name="Inc" type="xsd:integer"/>
+ <xsd:element name="Page" type="xsd:integer"/>
+ <xsd:element name="Horiz" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="Dx" type="xsd:integer"/>
+ <xsd:element name="MapOCX" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="CF" type="ST_CF"/>
+ <xsd:element name="Camera" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="RecalcAlways" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="AutoScale" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="DDE" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="UIObj" type="s:ST_TrueFalseBlank"/>
+ <xsd:element name="ScriptText" type="xsd:string"/>
+ <xsd:element name="ScriptExtended" type="xsd:string"/>
+ <xsd:element name="ScriptLanguage" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="ScriptLocation" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="FmlaTxbx" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:attribute name="ObjectType" type="ST_ObjectType" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_CF">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_ObjectType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Button"/>
+ <xsd:enumeration value="Checkbox"/>
+ <xsd:enumeration value="Dialog"/>
+ <xsd:enumeration value="Drop"/>
+ <xsd:enumeration value="Edit"/>
+ <xsd:enumeration value="GBox"/>
+ <xsd:enumeration value="Label"/>
+ <xsd:enumeration value="LineA"/>
+ <xsd:enumeration value="List"/>
+ <xsd:enumeration value="Movie"/>
+ <xsd:enumeration value="Note"/>
+ <xsd:enumeration value="Pict"/>
+ <xsd:enumeration value="Radio"/>
+ <xsd:enumeration value="RectA"/>
+ <xsd:enumeration value="Scroll"/>
+ <xsd:enumeration value="Spin"/>
+ <xsd:enumeration value="Shape"/>
+ <xsd:enumeration value="Group"/>
+ <xsd:enumeration value="Rect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-wordprocessingDrawing.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-wordprocessingDrawing.xsd
new file mode 100644
index 0000000..f1041e3
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/vml-wordprocessingDrawing.xsd
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="urn:schemas-microsoft-com:office:word"
+ targetNamespace="urn:schemas-microsoft-com:office:word" elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+ <xsd:element name="bordertop" type="CT_Border"/>
+ <xsd:element name="borderleft" type="CT_Border"/>
+ <xsd:element name="borderright" type="CT_Border"/>
+ <xsd:element name="borderbottom" type="CT_Border"/>
+ <xsd:complexType name="CT_Border">
+ <xsd:attribute name="type" type="ST_BorderType" use="optional"/>
+ <xsd:attribute name="width" type="xsd:positiveInteger" use="optional"/>
+ <xsd:attribute name="shadow" type="ST_BorderShadow" use="optional"/>
+ </xsd:complexType>
+ <xsd:element name="wrap" type="CT_Wrap"/>
+ <xsd:complexType name="CT_Wrap">
+ <xsd:attribute name="type" type="ST_WrapType" use="optional"/>
+ <xsd:attribute name="side" type="ST_WrapSide" use="optional"/>
+ <xsd:attribute name="anchorx" type="ST_HorizontalAnchor" use="optional"/>
+ <xsd:attribute name="anchory" type="ST_VerticalAnchor" use="optional"/>
+ </xsd:complexType>
+ <xsd:element name="anchorlock" type="CT_AnchorLock"/>
+ <xsd:complexType name="CT_AnchorLock"/>
+ <xsd:simpleType name="ST_BorderType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="single"/>
+ <xsd:enumeration value="thick"/>
+ <xsd:enumeration value="double"/>
+ <xsd:enumeration value="hairline"/>
+ <xsd:enumeration value="dot"/>
+ <xsd:enumeration value="dash"/>
+ <xsd:enumeration value="dotDash"/>
+ <xsd:enumeration value="dashDotDot"/>
+ <xsd:enumeration value="triple"/>
+ <xsd:enumeration value="thinThickSmall"/>
+ <xsd:enumeration value="thickThinSmall"/>
+ <xsd:enumeration value="thickBetweenThinSmall"/>
+ <xsd:enumeration value="thinThick"/>
+ <xsd:enumeration value="thickThin"/>
+ <xsd:enumeration value="thickBetweenThin"/>
+ <xsd:enumeration value="thinThickLarge"/>
+ <xsd:enumeration value="thickThinLarge"/>
+ <xsd:enumeration value="thickBetweenThinLarge"/>
+ <xsd:enumeration value="wave"/>
+ <xsd:enumeration value="doubleWave"/>
+ <xsd:enumeration value="dashedSmall"/>
+ <xsd:enumeration value="dashDotStroked"/>
+ <xsd:enumeration value="threeDEmboss"/>
+ <xsd:enumeration value="threeDEngrave"/>
+ <xsd:enumeration value="HTMLOutset"/>
+ <xsd:enumeration value="HTMLInset"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_BorderShadow">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="t"/>
+ <xsd:enumeration value="true"/>
+ <xsd:enumeration value="f"/>
+ <xsd:enumeration value="false"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_WrapType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="topAndBottom"/>
+ <xsd:enumeration value="square"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="tight"/>
+ <xsd:enumeration value="through"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_WrapSide">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="both"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="largest"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HorizontalAnchor">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="margin"/>
+ <xsd:enumeration value="page"/>
+ <xsd:enumeration value="text"/>
+ <xsd:enumeration value="char"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_VerticalAnchor">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="margin"/>
+ <xsd:enumeration value="page"/>
+ <xsd:enumeration value="text"/>
+ <xsd:enumeration value="line"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/wml.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/wml.xsd
new file mode 100644
index 0000000..4663ba6
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/wml.xsd
@@ -0,0 +1,3619 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<xsd:schema xmlns="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" blockDefault="#all" elementFormDefault="qualified" targetNamespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" schemaLocation="dml-wordprocessingDrawing.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/math" schemaLocation="shared-math.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" schemaLocation="shared-relationshipReference.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes" schemaLocation="shared-commonSimpleTypes.xsd"/>
+ <xsd:import namespace="http://schemas.openxmlformats.org/schemaLibrary/2006/main" schemaLocation="shared-customXmlSchemaProperties.xsd"/>
+ <xsd:complexType name="CT_Empty"/>
+ <xsd:complexType name="CT_OnOff">
+ <xsd:attribute name="val" type="s:ST_OnOff"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LongHexNumber">
+ <xsd:restriction base="xsd:hexBinary">
+ <xsd:length value="4"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LongHexNumber">
+ <xsd:attribute name="val" type="ST_LongHexNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ShortHexNumber">
+ <xsd:restriction base="xsd:hexBinary">
+ <xsd:length value="2"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_UcharHexNumber">
+ <xsd:restriction base="xsd:hexBinary">
+ <xsd:length value="1"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Charset">
+ <xsd:attribute name="val" type="ST_UcharHexNumber" use="optional"/>
+ <xsd:attribute name="characterSet" type="s:ST_String" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DecimalNumberOrPercent">
+ <xsd:union memberTypes="ST_UnqualifiedPercentage s:ST_Percentage"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_UnqualifiedPercentage">
+ <xsd:restriction base="xsd:integer"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DecimalNumber">
+ <xsd:restriction base="xsd:integer"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DecimalNumber">
+ <xsd:attribute name="val" type="ST_DecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_UnsignedDecimalNumber">
+ <xsd:attribute name="val" type="s:ST_UnsignedDecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DecimalNumberOrPrecent">
+ <xsd:attribute name="val" type="ST_DecimalNumberOrPercent" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TwipsMeasure">
+ <xsd:attribute name="val" type="s:ST_TwipsMeasure" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SignedTwipsMeasure">
+ <xsd:union memberTypes="xsd:integer s:ST_UniversalMeasure"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SignedTwipsMeasure">
+ <xsd:attribute name="val" type="ST_SignedTwipsMeasure" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PixelsMeasure">
+ <xsd:restriction base="s:ST_UnsignedDecimalNumber"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PixelsMeasure">
+ <xsd:attribute name="val" type="ST_PixelsMeasure" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_HpsMeasure">
+ <xsd:union memberTypes="s:ST_UnsignedDecimalNumber s:ST_PositiveUniversalMeasure"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_HpsMeasure">
+ <xsd:attribute name="val" type="ST_HpsMeasure" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SignedHpsMeasure">
+ <xsd:union memberTypes="xsd:integer s:ST_UniversalMeasure"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SignedHpsMeasure">
+ <xsd:attribute name="val" type="ST_SignedHpsMeasure" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DateTime">
+ <xsd:restriction base="xsd:dateTime"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_MacroName">
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="33"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MacroName">
+ <xsd:attribute name="val" type="ST_MacroName" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_EighthPointMeasure">
+ <xsd:restriction base="s:ST_UnsignedDecimalNumber"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PointMeasure">
+ <xsd:restriction base="s:ST_UnsignedDecimalNumber"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_String">
+ <xsd:attribute name="val" type="s:ST_String" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextScale">
+ <xsd:union memberTypes="ST_TextScalePercent ST_TextScaleDecimal"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextScalePercent">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="0*(600|([0-5]?[0-9]?[0-9]))%"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TextScaleDecimal">
+ <xsd:restriction base="xsd:integer">
+ <xsd:minInclusive value="0"/>
+ <xsd:maxInclusive value="600"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextScale">
+ <xsd:attribute name="val" type="ST_TextScale"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_HighlightColor">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="black"/>
+ <xsd:enumeration value="blue"/>
+ <xsd:enumeration value="cyan"/>
+ <xsd:enumeration value="green"/>
+ <xsd:enumeration value="magenta"/>
+ <xsd:enumeration value="red"/>
+ <xsd:enumeration value="yellow"/>
+ <xsd:enumeration value="white"/>
+ <xsd:enumeration value="darkBlue"/>
+ <xsd:enumeration value="darkCyan"/>
+ <xsd:enumeration value="darkGreen"/>
+ <xsd:enumeration value="darkMagenta"/>
+ <xsd:enumeration value="darkRed"/>
+ <xsd:enumeration value="darkYellow"/>
+ <xsd:enumeration value="darkGray"/>
+ <xsd:enumeration value="lightGray"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Highlight">
+ <xsd:attribute name="val" type="ST_HighlightColor" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_HexColorAuto">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="auto"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HexColor">
+ <xsd:union memberTypes="ST_HexColorAuto s:ST_HexColorRGB"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Color">
+ <xsd:attribute name="val" type="ST_HexColor" use="required"/>
+ <xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/>
+ <xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/>
+ <xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Lang">
+ <xsd:attribute name="val" type="s:ST_Lang" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Guid">
+ <xsd:attribute name="val" type="s:ST_Guid"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Underline">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="single"/>
+ <xsd:enumeration value="words"/>
+ <xsd:enumeration value="double"/>
+ <xsd:enumeration value="thick"/>
+ <xsd:enumeration value="dotted"/>
+ <xsd:enumeration value="dottedHeavy"/>
+ <xsd:enumeration value="dash"/>
+ <xsd:enumeration value="dashedHeavy"/>
+ <xsd:enumeration value="dashLong"/>
+ <xsd:enumeration value="dashLongHeavy"/>
+ <xsd:enumeration value="dotDash"/>
+ <xsd:enumeration value="dashDotHeavy"/>
+ <xsd:enumeration value="dotDotDash"/>
+ <xsd:enumeration value="dashDotDotHeavy"/>
+ <xsd:enumeration value="wave"/>
+ <xsd:enumeration value="wavyHeavy"/>
+ <xsd:enumeration value="wavyDouble"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Underline">
+ <xsd:attribute name="val" type="ST_Underline" use="optional"/>
+ <xsd:attribute name="color" type="ST_HexColor" use="optional"/>
+ <xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/>
+ <xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/>
+ <xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextEffect">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="blinkBackground"/>
+ <xsd:enumeration value="lights"/>
+ <xsd:enumeration value="antsBlack"/>
+ <xsd:enumeration value="antsRed"/>
+ <xsd:enumeration value="shimmer"/>
+ <xsd:enumeration value="sparkle"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextEffect">
+ <xsd:attribute name="val" type="ST_TextEffect" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Border">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="nil"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="single"/>
+ <xsd:enumeration value="thick"/>
+ <xsd:enumeration value="double"/>
+ <xsd:enumeration value="dotted"/>
+ <xsd:enumeration value="dashed"/>
+ <xsd:enumeration value="dotDash"/>
+ <xsd:enumeration value="dotDotDash"/>
+ <xsd:enumeration value="triple"/>
+ <xsd:enumeration value="thinThickSmallGap"/>
+ <xsd:enumeration value="thickThinSmallGap"/>
+ <xsd:enumeration value="thinThickThinSmallGap"/>
+ <xsd:enumeration value="thinThickMediumGap"/>
+ <xsd:enumeration value="thickThinMediumGap"/>
+ <xsd:enumeration value="thinThickThinMediumGap"/>
+ <xsd:enumeration value="thinThickLargeGap"/>
+ <xsd:enumeration value="thickThinLargeGap"/>
+ <xsd:enumeration value="thinThickThinLargeGap"/>
+ <xsd:enumeration value="wave"/>
+ <xsd:enumeration value="doubleWave"/>
+ <xsd:enumeration value="dashSmallGap"/>
+ <xsd:enumeration value="dashDotStroked"/>
+ <xsd:enumeration value="threeDEmboss"/>
+ <xsd:enumeration value="threeDEngrave"/>
+ <xsd:enumeration value="outset"/>
+ <xsd:enumeration value="inset"/>
+ <xsd:enumeration value="apples"/>
+ <xsd:enumeration value="archedScallops"/>
+ <xsd:enumeration value="babyPacifier"/>
+ <xsd:enumeration value="babyRattle"/>
+ <xsd:enumeration value="balloons3Colors"/>
+ <xsd:enumeration value="balloonsHotAir"/>
+ <xsd:enumeration value="basicBlackDashes"/>
+ <xsd:enumeration value="basicBlackDots"/>
+ <xsd:enumeration value="basicBlackSquares"/>
+ <xsd:enumeration value="basicThinLines"/>
+ <xsd:enumeration value="basicWhiteDashes"/>
+ <xsd:enumeration value="basicWhiteDots"/>
+ <xsd:enumeration value="basicWhiteSquares"/>
+ <xsd:enumeration value="basicWideInline"/>
+ <xsd:enumeration value="basicWideMidline"/>
+ <xsd:enumeration value="basicWideOutline"/>
+ <xsd:enumeration value="bats"/>
+ <xsd:enumeration value="birds"/>
+ <xsd:enumeration value="birdsFlight"/>
+ <xsd:enumeration value="cabins"/>
+ <xsd:enumeration value="cakeSlice"/>
+ <xsd:enumeration value="candyCorn"/>
+ <xsd:enumeration value="celticKnotwork"/>
+ <xsd:enumeration value="certificateBanner"/>
+ <xsd:enumeration value="chainLink"/>
+ <xsd:enumeration value="champagneBottle"/>
+ <xsd:enumeration value="checkedBarBlack"/>
+ <xsd:enumeration value="checkedBarColor"/>
+ <xsd:enumeration value="checkered"/>
+ <xsd:enumeration value="christmasTree"/>
+ <xsd:enumeration value="circlesLines"/>
+ <xsd:enumeration value="circlesRectangles"/>
+ <xsd:enumeration value="classicalWave"/>
+ <xsd:enumeration value="clocks"/>
+ <xsd:enumeration value="compass"/>
+ <xsd:enumeration value="confetti"/>
+ <xsd:enumeration value="confettiGrays"/>
+ <xsd:enumeration value="confettiOutline"/>
+ <xsd:enumeration value="confettiStreamers"/>
+ <xsd:enumeration value="confettiWhite"/>
+ <xsd:enumeration value="cornerTriangles"/>
+ <xsd:enumeration value="couponCutoutDashes"/>
+ <xsd:enumeration value="couponCutoutDots"/>
+ <xsd:enumeration value="crazyMaze"/>
+ <xsd:enumeration value="creaturesButterfly"/>
+ <xsd:enumeration value="creaturesFish"/>
+ <xsd:enumeration value="creaturesInsects"/>
+ <xsd:enumeration value="creaturesLadyBug"/>
+ <xsd:enumeration value="crossStitch"/>
+ <xsd:enumeration value="cup"/>
+ <xsd:enumeration value="decoArch"/>
+ <xsd:enumeration value="decoArchColor"/>
+ <xsd:enumeration value="decoBlocks"/>
+ <xsd:enumeration value="diamondsGray"/>
+ <xsd:enumeration value="doubleD"/>
+ <xsd:enumeration value="doubleDiamonds"/>
+ <xsd:enumeration value="earth1"/>
+ <xsd:enumeration value="earth2"/>
+ <xsd:enumeration value="earth3"/>
+ <xsd:enumeration value="eclipsingSquares1"/>
+ <xsd:enumeration value="eclipsingSquares2"/>
+ <xsd:enumeration value="eggsBlack"/>
+ <xsd:enumeration value="fans"/>
+ <xsd:enumeration value="film"/>
+ <xsd:enumeration value="firecrackers"/>
+ <xsd:enumeration value="flowersBlockPrint"/>
+ <xsd:enumeration value="flowersDaisies"/>
+ <xsd:enumeration value="flowersModern1"/>
+ <xsd:enumeration value="flowersModern2"/>
+ <xsd:enumeration value="flowersPansy"/>
+ <xsd:enumeration value="flowersRedRose"/>
+ <xsd:enumeration value="flowersRoses"/>
+ <xsd:enumeration value="flowersTeacup"/>
+ <xsd:enumeration value="flowersTiny"/>
+ <xsd:enumeration value="gems"/>
+ <xsd:enumeration value="gingerbreadMan"/>
+ <xsd:enumeration value="gradient"/>
+ <xsd:enumeration value="handmade1"/>
+ <xsd:enumeration value="handmade2"/>
+ <xsd:enumeration value="heartBalloon"/>
+ <xsd:enumeration value="heartGray"/>
+ <xsd:enumeration value="hearts"/>
+ <xsd:enumeration value="heebieJeebies"/>
+ <xsd:enumeration value="holly"/>
+ <xsd:enumeration value="houseFunky"/>
+ <xsd:enumeration value="hypnotic"/>
+ <xsd:enumeration value="iceCreamCones"/>
+ <xsd:enumeration value="lightBulb"/>
+ <xsd:enumeration value="lightning1"/>
+ <xsd:enumeration value="lightning2"/>
+ <xsd:enumeration value="mapPins"/>
+ <xsd:enumeration value="mapleLeaf"/>
+ <xsd:enumeration value="mapleMuffins"/>
+ <xsd:enumeration value="marquee"/>
+ <xsd:enumeration value="marqueeToothed"/>
+ <xsd:enumeration value="moons"/>
+ <xsd:enumeration value="mosaic"/>
+ <xsd:enumeration value="musicNotes"/>
+ <xsd:enumeration value="northwest"/>
+ <xsd:enumeration value="ovals"/>
+ <xsd:enumeration value="packages"/>
+ <xsd:enumeration value="palmsBlack"/>
+ <xsd:enumeration value="palmsColor"/>
+ <xsd:enumeration value="paperClips"/>
+ <xsd:enumeration value="papyrus"/>
+ <xsd:enumeration value="partyFavor"/>
+ <xsd:enumeration value="partyGlass"/>
+ <xsd:enumeration value="pencils"/>
+ <xsd:enumeration value="people"/>
+ <xsd:enumeration value="peopleWaving"/>
+ <xsd:enumeration value="peopleHats"/>
+ <xsd:enumeration value="poinsettias"/>
+ <xsd:enumeration value="postageStamp"/>
+ <xsd:enumeration value="pumpkin1"/>
+ <xsd:enumeration value="pushPinNote2"/>
+ <xsd:enumeration value="pushPinNote1"/>
+ <xsd:enumeration value="pyramids"/>
+ <xsd:enumeration value="pyramidsAbove"/>
+ <xsd:enumeration value="quadrants"/>
+ <xsd:enumeration value="rings"/>
+ <xsd:enumeration value="safari"/>
+ <xsd:enumeration value="sawtooth"/>
+ <xsd:enumeration value="sawtoothGray"/>
+ <xsd:enumeration value="scaredCat"/>
+ <xsd:enumeration value="seattle"/>
+ <xsd:enumeration value="shadowedSquares"/>
+ <xsd:enumeration value="sharksTeeth"/>
+ <xsd:enumeration value="shorebirdTracks"/>
+ <xsd:enumeration value="skyrocket"/>
+ <xsd:enumeration value="snowflakeFancy"/>
+ <xsd:enumeration value="snowflakes"/>
+ <xsd:enumeration value="sombrero"/>
+ <xsd:enumeration value="southwest"/>
+ <xsd:enumeration value="stars"/>
+ <xsd:enumeration value="starsTop"/>
+ <xsd:enumeration value="stars3d"/>
+ <xsd:enumeration value="starsBlack"/>
+ <xsd:enumeration value="starsShadowed"/>
+ <xsd:enumeration value="sun"/>
+ <xsd:enumeration value="swirligig"/>
+ <xsd:enumeration value="tornPaper"/>
+ <xsd:enumeration value="tornPaperBlack"/>
+ <xsd:enumeration value="trees"/>
+ <xsd:enumeration value="triangleParty"/>
+ <xsd:enumeration value="triangles"/>
+ <xsd:enumeration value="triangle1"/>
+ <xsd:enumeration value="triangle2"/>
+ <xsd:enumeration value="triangleCircle1"/>
+ <xsd:enumeration value="triangleCircle2"/>
+ <xsd:enumeration value="shapes1"/>
+ <xsd:enumeration value="shapes2"/>
+ <xsd:enumeration value="twistedLines1"/>
+ <xsd:enumeration value="twistedLines2"/>
+ <xsd:enumeration value="vine"/>
+ <xsd:enumeration value="waveline"/>
+ <xsd:enumeration value="weavingAngles"/>
+ <xsd:enumeration value="weavingBraid"/>
+ <xsd:enumeration value="weavingRibbon"/>
+ <xsd:enumeration value="weavingStrips"/>
+ <xsd:enumeration value="whiteFlowers"/>
+ <xsd:enumeration value="woodwork"/>
+ <xsd:enumeration value="xIllusions"/>
+ <xsd:enumeration value="zanyTriangles"/>
+ <xsd:enumeration value="zigZag"/>
+ <xsd:enumeration value="zigZagStitch"/>
+ <xsd:enumeration value="custom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Border">
+ <xsd:attribute name="val" type="ST_Border" use="required"/>
+ <xsd:attribute name="color" type="ST_HexColor" use="optional"/>
+ <xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/>
+ <xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/>
+ <xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/>
+ <xsd:attribute name="sz" type="ST_EighthPointMeasure" use="optional"/>
+ <xsd:attribute name="space" type="ST_PointMeasure" use="optional"/>
+ <xsd:attribute name="shadow" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="frame" type="s:ST_OnOff" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Shd">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="nil"/>
+ <xsd:enumeration value="clear"/>
+ <xsd:enumeration value="solid"/>
+ <xsd:enumeration value="horzStripe"/>
+ <xsd:enumeration value="vertStripe"/>
+ <xsd:enumeration value="reverseDiagStripe"/>
+ <xsd:enumeration value="diagStripe"/>
+ <xsd:enumeration value="horzCross"/>
+ <xsd:enumeration value="diagCross"/>
+ <xsd:enumeration value="thinHorzStripe"/>
+ <xsd:enumeration value="thinVertStripe"/>
+ <xsd:enumeration value="thinReverseDiagStripe"/>
+ <xsd:enumeration value="thinDiagStripe"/>
+ <xsd:enumeration value="thinHorzCross"/>
+ <xsd:enumeration value="thinDiagCross"/>
+ <xsd:enumeration value="pct5"/>
+ <xsd:enumeration value="pct10"/>
+ <xsd:enumeration value="pct12"/>
+ <xsd:enumeration value="pct15"/>
+ <xsd:enumeration value="pct20"/>
+ <xsd:enumeration value="pct25"/>
+ <xsd:enumeration value="pct30"/>
+ <xsd:enumeration value="pct35"/>
+ <xsd:enumeration value="pct37"/>
+ <xsd:enumeration value="pct40"/>
+ <xsd:enumeration value="pct45"/>
+ <xsd:enumeration value="pct50"/>
+ <xsd:enumeration value="pct55"/>
+ <xsd:enumeration value="pct60"/>
+ <xsd:enumeration value="pct62"/>
+ <xsd:enumeration value="pct65"/>
+ <xsd:enumeration value="pct70"/>
+ <xsd:enumeration value="pct75"/>
+ <xsd:enumeration value="pct80"/>
+ <xsd:enumeration value="pct85"/>
+ <xsd:enumeration value="pct87"/>
+ <xsd:enumeration value="pct90"/>
+ <xsd:enumeration value="pct95"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Shd">
+ <xsd:attribute name="val" type="ST_Shd" use="required"/>
+ <xsd:attribute name="color" type="ST_HexColor" use="optional"/>
+ <xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/>
+ <xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/>
+ <xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/>
+ <xsd:attribute name="fill" type="ST_HexColor" use="optional"/>
+ <xsd:attribute name="themeFill" type="ST_ThemeColor" use="optional"/>
+ <xsd:attribute name="themeFillTint" type="ST_UcharHexNumber" use="optional"/>
+ <xsd:attribute name="themeFillShade" type="ST_UcharHexNumber" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_VerticalAlignRun">
+ <xsd:attribute name="val" type="s:ST_VerticalAlignRun" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FitText">
+ <xsd:attribute name="val" type="s:ST_TwipsMeasure" use="required"/>
+ <xsd:attribute name="id" type="ST_DecimalNumber" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Em">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="dot"/>
+ <xsd:enumeration value="comma"/>
+ <xsd:enumeration value="circle"/>
+ <xsd:enumeration value="underDot"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Em">
+ <xsd:attribute name="val" type="ST_Em" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Language">
+ <xsd:attribute name="val" type="s:ST_Lang" use="optional"/>
+ <xsd:attribute name="eastAsia" type="s:ST_Lang" use="optional"/>
+ <xsd:attribute name="bidi" type="s:ST_Lang" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_CombineBrackets">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="round"/>
+ <xsd:enumeration value="square"/>
+ <xsd:enumeration value="angle"/>
+ <xsd:enumeration value="curly"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_EastAsianLayout">
+ <xsd:attribute name="id" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="combine" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="combineBrackets" type="ST_CombineBrackets" use="optional"/>
+ <xsd:attribute name="vert" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="vertCompress" type="s:ST_OnOff" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_HeightRule">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="exact"/>
+ <xsd:enumeration value="atLeast"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Wrap">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="notBeside"/>
+ <xsd:enumeration value="around"/>
+ <xsd:enumeration value="tight"/>
+ <xsd:enumeration value="through"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_VAnchor">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="text"/>
+ <xsd:enumeration value="margin"/>
+ <xsd:enumeration value="page"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_HAnchor">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="text"/>
+ <xsd:enumeration value="margin"/>
+ <xsd:enumeration value="page"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DropCap">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="drop"/>
+ <xsd:enumeration value="margin"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FramePr">
+ <xsd:attribute name="dropCap" type="ST_DropCap" use="optional"/>
+ <xsd:attribute name="lines" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="w" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="h" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="vSpace" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="hSpace" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="wrap" type="ST_Wrap" use="optional"/>
+ <xsd:attribute name="hAnchor" type="ST_HAnchor" use="optional"/>
+ <xsd:attribute name="vAnchor" type="ST_VAnchor" use="optional"/>
+ <xsd:attribute name="x" type="ST_SignedTwipsMeasure" use="optional"/>
+ <xsd:attribute name="xAlign" type="s:ST_XAlign" use="optional"/>
+ <xsd:attribute name="y" type="ST_SignedTwipsMeasure" use="optional"/>
+ <xsd:attribute name="yAlign" type="s:ST_YAlign" use="optional"/>
+ <xsd:attribute name="hRule" type="ST_HeightRule" use="optional"/>
+ <xsd:attribute name="anchorLock" type="s:ST_OnOff" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TabJc">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="clear"/>
+ <xsd:enumeration value="start"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="end"/>
+ <xsd:enumeration value="decimal"/>
+ <xsd:enumeration value="bar"/>
+ <xsd:enumeration value="num"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_TabTlc">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="dot"/>
+ <xsd:enumeration value="hyphen"/>
+ <xsd:enumeration value="underscore"/>
+ <xsd:enumeration value="heavy"/>
+ <xsd:enumeration value="middleDot"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TabStop">
+ <xsd:attribute name="val" type="ST_TabJc" use="required"/>
+ <xsd:attribute name="leader" type="ST_TabTlc" use="optional"/>
+ <xsd:attribute name="pos" type="ST_SignedTwipsMeasure" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LineSpacingRule">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="auto"/>
+ <xsd:enumeration value="exact"/>
+ <xsd:enumeration value="atLeast"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Spacing">
+ <xsd:attribute name="before" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="beforeLines" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="beforeAutospacing" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="after" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="afterLines" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="afterAutospacing" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="line" type="ST_SignedTwipsMeasure" use="optional"/>
+ <xsd:attribute name="lineRule" type="ST_LineSpacingRule" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Ind">
+ <xsd:attribute name="start" type="ST_SignedTwipsMeasure" use="optional"/>
+ <xsd:attribute name="startChars" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="end" type="ST_SignedTwipsMeasure" use="optional"/>
+ <xsd:attribute name="endChars" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="left" type="ST_SignedTwipsMeasure" use="optional"/>
+ <xsd:attribute name="leftChars" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="right" type="ST_SignedTwipsMeasure" use="optional"/>
+ <xsd:attribute name="rightChars" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="hanging" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="hangingChars" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="firstLine" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="firstLineChars" type="ST_DecimalNumber" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Jc">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="start"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="end"/>
+ <xsd:enumeration value="both"/>
+ <xsd:enumeration value="mediumKashida"/>
+ <xsd:enumeration value="distribute"/>
+ <xsd:enumeration value="numTab"/>
+ <xsd:enumeration value="highKashida"/>
+ <xsd:enumeration value="lowKashida"/>
+ <xsd:enumeration value="thaiDistribute"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_JcTable">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="end"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="start"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Jc">
+ <xsd:attribute name="val" type="ST_Jc" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_JcTable">
+ <xsd:attribute name="val" type="ST_JcTable" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_View">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="print"/>
+ <xsd:enumeration value="outline"/>
+ <xsd:enumeration value="masterPages"/>
+ <xsd:enumeration value="normal"/>
+ <xsd:enumeration value="web"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_View">
+ <xsd:attribute name="val" type="ST_View" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Zoom">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="fullPage"/>
+ <xsd:enumeration value="bestFit"/>
+ <xsd:enumeration value="textFit"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Zoom">
+ <xsd:attribute name="val" type="ST_Zoom" use="optional"/>
+ <xsd:attribute name="percent" type="ST_DecimalNumberOrPercent" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WritingStyle">
+ <xsd:attribute name="lang" type="s:ST_Lang" use="required"/>
+ <xsd:attribute name="vendorID" type="s:ST_String" use="required"/>
+ <xsd:attribute name="dllVersion" type="s:ST_String" use="required"/>
+ <xsd:attribute name="nlCheck" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="checkStyle" type="s:ST_OnOff" use="required"/>
+ <xsd:attribute name="appName" type="s:ST_String" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Proof">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="clean"/>
+ <xsd:enumeration value="dirty"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Proof">
+ <xsd:attribute name="spelling" type="ST_Proof" use="optional"/>
+ <xsd:attribute name="grammar" type="ST_Proof" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DocType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DocType">
+ <xsd:attribute name="val" type="ST_DocType" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DocProtect">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="readOnly"/>
+ <xsd:enumeration value="comments"/>
+ <xsd:enumeration value="trackedChanges"/>
+ <xsd:enumeration value="forms"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:attributeGroup name="AG_Password">
+ <xsd:attribute name="algorithmName" type="s:ST_String" use="optional"/>
+ <xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/>
+ <xsd:attribute name="spinCount" type="ST_DecimalNumber" use="optional"/>
+ </xsd:attributeGroup>
+ <xsd:attributeGroup name="AG_TransitionalPassword">
+ <xsd:attribute name="cryptProviderType" type="s:ST_CryptProv"/>
+ <xsd:attribute name="cryptAlgorithmClass" type="s:ST_AlgClass"/>
+ <xsd:attribute name="cryptAlgorithmType" type="s:ST_AlgType"/>
+ <xsd:attribute name="cryptAlgorithmSid" type="ST_DecimalNumber"/>
+ <xsd:attribute name="cryptSpinCount" type="ST_DecimalNumber"/>
+ <xsd:attribute name="cryptProvider" type="s:ST_String"/>
+ <xsd:attribute name="algIdExt" type="ST_LongHexNumber"/>
+ <xsd:attribute name="algIdExtSource" type="s:ST_String"/>
+ <xsd:attribute name="cryptProviderTypeExt" type="ST_LongHexNumber"/>
+ <xsd:attribute name="cryptProviderTypeExtSource" type="s:ST_String"/>
+ <xsd:attribute name="hash" type="xsd:base64Binary"/>
+ <xsd:attribute name="salt" type="xsd:base64Binary"/>
+ </xsd:attributeGroup>
+ <xsd:complexType name="CT_DocProtect">
+ <xsd:attribute name="edit" type="ST_DocProtect" use="optional"/>
+ <xsd:attribute name="formatting" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="enforcement" type="s:ST_OnOff"/>
+ <xsd:attributeGroup ref="AG_Password"/>
+ <xsd:attributeGroup ref="AG_TransitionalPassword"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MailMergeDocType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="catalog"/>
+ <xsd:enumeration value="envelopes"/>
+ <xsd:enumeration value="mailingLabels"/>
+ <xsd:enumeration value="formLetters"/>
+ <xsd:enumeration value="email"/>
+ <xsd:enumeration value="fax"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MailMergeDocType">
+ <xsd:attribute name="val" type="ST_MailMergeDocType" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MailMergeDataType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MailMergeDataType">
+ <xsd:attribute name="val" type="ST_MailMergeDataType" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MailMergeDest">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="newDocument"/>
+ <xsd:enumeration value="printer"/>
+ <xsd:enumeration value="email"/>
+ <xsd:enumeration value="fax"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MailMergeDest">
+ <xsd:attribute name="val" type="ST_MailMergeDest" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MailMergeOdsoFMDFieldType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="null"/>
+ <xsd:enumeration value="dbColumn"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MailMergeOdsoFMDFieldType">
+ <xsd:attribute name="val" type="ST_MailMergeOdsoFMDFieldType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TrackChangesView">
+ <xsd:attribute name="markup" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="comments" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="insDel" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="formatting" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="inkAnnotations" type="s:ST_OnOff" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Kinsoku">
+ <xsd:attribute name="lang" type="s:ST_Lang" use="required"/>
+ <xsd:attribute name="val" type="s:ST_String" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextDirection">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="tb"/>
+ <xsd:enumeration value="rl"/>
+ <xsd:enumeration value="lr"/>
+ <xsd:enumeration value="tbV"/>
+ <xsd:enumeration value="rlV"/>
+ <xsd:enumeration value="lrV"/>
+ <xsd:enumeration value="btLr"/>
+ <xsd:enumeration value="lrTb"/>
+ <xsd:enumeration value="lrTbV"/>
+ <xsd:enumeration value="tbLrV"/>
+ <xsd:enumeration value="tbRl"/>
+ <xsd:enumeration value="tbRlV"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextDirection">
+ <xsd:attribute name="val" type="ST_TextDirection" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextAlignment">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="top"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="baseline"/>
+ <xsd:enumeration value="bottom"/>
+ <xsd:enumeration value="auto"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextAlignment">
+ <xsd:attribute name="val" type="ST_TextAlignment" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DisplacedByCustomXml">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="next"/>
+ <xsd:enumeration value="prev"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_AnnotationVMerge">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="cont"/>
+ <xsd:enumeration value="rest"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Markup">
+ <xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TrackChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_Markup">
+ <xsd:attribute name="author" type="s:ST_String" use="required"/>
+ <xsd:attribute name="date" type="ST_DateTime" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CellMergeTrackChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:attribute name="vMerge" type="ST_AnnotationVMerge" use="optional"/>
+ <xsd:attribute name="vMergeOrig" type="ST_AnnotationVMerge" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TrackChangeRange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MarkupRange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_Markup">
+ <xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BookmarkRange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_MarkupRange">
+ <xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Bookmark">
+ <xsd:complexContent>
+ <xsd:extension base="CT_BookmarkRange">
+ <xsd:attribute name="name" type="s:ST_String" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MoveBookmark">
+ <xsd:complexContent>
+ <xsd:extension base="CT_Bookmark">
+ <xsd:attribute name="author" type="s:ST_String" use="required"/>
+ <xsd:attribute name="date" type="ST_DateTime" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Comment">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_BlockLevelElts"/>
+ </xsd:sequence>
+ <xsd:attribute name="initials" type="s:ST_String" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TrackChangeNumbering">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:attribute name="original" type="s:ST_String" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblPrExChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" name="tblPrEx" type="CT_TblPrExBase"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TcPrChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" name="tcPr" type="CT_TcPrInner"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TrPrChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" name="trPr" type="CT_TrPrBase"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblGridChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_Markup">
+ <xsd:sequence>
+ <xsd:element name="tblGrid" type="CT_TblGridBase"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblPrChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:sequence>
+ <xsd:element name="tblPr" type="CT_TblPrBase"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SectPrChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="sectPr" type="CT_SectPrBase"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PPrChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" name="pPr" type="CT_PPrBase"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RPrChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" name="rPr" type="CT_RPrOriginal"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ParaRPrChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" name="rPr" type="CT_ParaRPrOriginal"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RunTrackChange">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:choice maxOccurs="unbounded" minOccurs="0">
+ <xsd:group ref="EG_ContentRunContent"/>
+ <xsd:group ref="m:EG_OMathMathElements"/>
+ </xsd:choice>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:group name="EG_PContentMath">
+ <xsd:choice>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_PContentBase"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentRunContentBase"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_PContentBase">
+ <xsd:choice>
+ <xsd:element name="customXml" type="CT_CustomXmlRun"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="fldSimple" type="CT_SimpleField"/>
+ <xsd:element name="hyperlink" type="CT_Hyperlink"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_ContentRunContentBase">
+ <xsd:choice>
+ <xsd:element name="smartTag" type="CT_SmartTagRun"/>
+ <xsd:element name="sdt" type="CT_SdtRun"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RunLevelElts"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_CellMarkupElements">
+ <xsd:choice>
+ <xsd:element minOccurs="0" name="cellIns" type="CT_TrackChange"/>
+ <xsd:element minOccurs="0" name="cellDel" type="CT_TrackChange"/>
+ <xsd:element minOccurs="0" name="cellMerge" type="CT_CellMergeTrackChange"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_RangeMarkupElements">
+ <xsd:choice>
+ <xsd:element name="bookmarkStart" type="CT_Bookmark"/>
+ <xsd:element name="bookmarkEnd" type="CT_MarkupRange"/>
+ <xsd:element name="moveFromRangeStart" type="CT_MoveBookmark"/>
+ <xsd:element name="moveFromRangeEnd" type="CT_MarkupRange"/>
+ <xsd:element name="moveToRangeStart" type="CT_MoveBookmark"/>
+ <xsd:element name="moveToRangeEnd" type="CT_MarkupRange"/>
+ <xsd:element name="commentRangeStart" type="CT_MarkupRange"/>
+ <xsd:element name="commentRangeEnd" type="CT_MarkupRange"/>
+ <xsd:element name="customXmlInsRangeStart" type="CT_TrackChange"/>
+ <xsd:element name="customXmlInsRangeEnd" type="CT_Markup"/>
+ <xsd:element name="customXmlDelRangeStart" type="CT_TrackChange"/>
+ <xsd:element name="customXmlDelRangeEnd" type="CT_Markup"/>
+ <xsd:element name="customXmlMoveFromRangeStart" type="CT_TrackChange"/>
+ <xsd:element name="customXmlMoveFromRangeEnd" type="CT_Markup"/>
+ <xsd:element name="customXmlMoveToRangeStart" type="CT_TrackChange"/>
+ <xsd:element name="customXmlMoveToRangeEnd" type="CT_Markup"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_NumPr">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="ilvl" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="numId" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="numberingChange" type="CT_TrackChangeNumbering"/>
+ <xsd:element minOccurs="0" name="ins" type="CT_TrackChange"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PBdr">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="top" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="left" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="bottom" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="right" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="between" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="bar" type="CT_Border"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Tabs">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="1" name="tab" type="CT_TabStop"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TextboxTightWrap">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="allLines"/>
+ <xsd:enumeration value="firstAndLastLine"/>
+ <xsd:enumeration value="firstLineOnly"/>
+ <xsd:enumeration value="lastLineOnly"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TextboxTightWrap">
+ <xsd:attribute name="val" type="ST_TextboxTightWrap" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PPr">
+ <xsd:complexContent>
+ <xsd:extension base="CT_PPrBase">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="rPr" type="CT_ParaRPr"/>
+ <xsd:element minOccurs="0" name="sectPr" type="CT_SectPr"/>
+ <xsd:element minOccurs="0" name="pPrChange" type="CT_PPrChange"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PPrBase">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="pStyle" type="CT_String"/>
+ <xsd:element minOccurs="0" name="keepNext" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="keepLines" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="pageBreakBefore" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="framePr" type="CT_FramePr"/>
+ <xsd:element minOccurs="0" name="widowControl" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="numPr" type="CT_NumPr"/>
+ <xsd:element minOccurs="0" name="suppressLineNumbers" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="pBdr" type="CT_PBdr"/>
+ <xsd:element minOccurs="0" name="shd" type="CT_Shd"/>
+ <xsd:element minOccurs="0" name="tabs" type="CT_Tabs"/>
+ <xsd:element minOccurs="0" name="suppressAutoHyphens" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="kinsoku" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="wordWrap" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="overflowPunct" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="topLinePunct" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="autoSpaceDE" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="autoSpaceDN" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="bidi" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="adjustRightInd" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="snapToGrid" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="spacing" type="CT_Spacing"/>
+ <xsd:element minOccurs="0" name="ind" type="CT_Ind"/>
+ <xsd:element minOccurs="0" name="contextualSpacing" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="mirrorIndents" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="suppressOverlap" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="jc" type="CT_Jc"/>
+ <xsd:element minOccurs="0" name="textDirection" type="CT_TextDirection"/>
+ <xsd:element minOccurs="0" name="textAlignment" type="CT_TextAlignment"/>
+ <xsd:element minOccurs="0" name="textboxTightWrap" type="CT_TextboxTightWrap"/>
+ <xsd:element minOccurs="0" name="outlineLvl" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="divId" type="CT_DecimalNumber"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cnfStyle" type="CT_Cnf"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PPrGeneral">
+ <xsd:complexContent>
+ <xsd:extension base="CT_PPrBase">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="pPrChange" type="CT_PPrChange"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Control">
+ <xsd:attribute name="name" type="s:ST_String" use="optional"/>
+ <xsd:attribute name="shapeid" type="s:ST_String" use="optional"/>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Background">
+ <xsd:sequence>
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="urn:schemas-microsoft-com:vml" processContents="lax"/>
+ <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="urn:schemas-microsoft-com:office:office" processContents="lax"/>
+ </xsd:sequence>
+ <xsd:element minOccurs="0" name="drawing" type="CT_Drawing"/>
+ </xsd:sequence>
+ <xsd:attribute name="color" type="ST_HexColor" use="optional"/>
+ <xsd:attribute name="themeColor" type="ST_ThemeColor" use="optional"/>
+ <xsd:attribute name="themeTint" type="ST_UcharHexNumber" use="optional"/>
+ <xsd:attribute name="themeShade" type="ST_UcharHexNumber" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Rel">
+ <xsd:attribute ref="r:id" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Object">
+ <xsd:sequence>
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="urn:schemas-microsoft-com:vml" processContents="lax"/>
+ <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="urn:schemas-microsoft-com:office:office" processContents="lax"/>
+ </xsd:sequence>
+ <xsd:element minOccurs="0" name="drawing" type="CT_Drawing"/>
+ <xsd:choice minOccurs="0">
+ <xsd:element name="control" type="CT_Control"/>
+ <xsd:element name="objectLink" type="CT_ObjectLink"/>
+ <xsd:element name="objectEmbed" type="CT_ObjectEmbed"/>
+ <xsd:element name="movie" type="CT_Rel"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="dxaOrig" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="dyaOrig" type="s:ST_TwipsMeasure" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Picture">
+ <xsd:sequence>
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="urn:schemas-microsoft-com:vml" processContents="lax"/>
+ <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="urn:schemas-microsoft-com:office:office" processContents="lax"/>
+ </xsd:sequence>
+ <xsd:element minOccurs="0" name="movie" type="CT_Rel"/>
+ <xsd:element minOccurs="0" name="control" type="CT_Control"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ObjectEmbed">
+ <xsd:attribute name="drawAspect" type="ST_ObjectDrawAspect" use="optional"/>
+ <xsd:attribute ref="r:id" use="required"/>
+ <xsd:attribute name="progId" type="s:ST_String" use="optional"/>
+ <xsd:attribute name="shapeId" type="s:ST_String" use="optional"/>
+ <xsd:attribute name="fieldCodes" type="s:ST_String" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ObjectDrawAspect">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="content"/>
+ <xsd:enumeration value="icon"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ObjectLink">
+ <xsd:complexContent>
+ <xsd:extension base="CT_ObjectEmbed">
+ <xsd:attribute name="updateMode" type="ST_ObjectUpdateMode" use="required"/>
+ <xsd:attribute name="lockedField" type="s:ST_OnOff" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ObjectUpdateMode">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="always"/>
+ <xsd:enumeration value="onCall"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Drawing">
+ <xsd:choice maxOccurs="unbounded" minOccurs="1">
+ <xsd:element minOccurs="0" ref="wp:anchor"/>
+ <xsd:element minOccurs="0" ref="wp:inline"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SimpleField">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="fldData" type="CT_Text"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_PContent"/>
+ </xsd:sequence>
+ <xsd:attribute name="instr" type="s:ST_String" use="required"/>
+ <xsd:attribute name="fldLock" type="s:ST_OnOff"/>
+ <xsd:attribute name="dirty" type="s:ST_OnOff"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FldCharType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="begin"/>
+ <xsd:enumeration value="separate"/>
+ <xsd:enumeration value="end"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_InfoTextType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="text"/>
+ <xsd:enumeration value="autoText"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FFHelpTextVal">
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="256"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FFStatusTextVal">
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="140"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FFName">
+ <xsd:restriction base="xsd:string">
+ <xsd:maxLength value="65"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FFTextType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="regular"/>
+ <xsd:enumeration value="number"/>
+ <xsd:enumeration value="date"/>
+ <xsd:enumeration value="currentTime"/>
+ <xsd:enumeration value="currentDate"/>
+ <xsd:enumeration value="calculated"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FFTextType">
+ <xsd:attribute name="val" type="ST_FFTextType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FFName">
+ <xsd:attribute name="val" type="ST_FFName"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FldChar">
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="0" name="fldData" type="CT_Text"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ffData" type="CT_FFData"/>
+ <xsd:element minOccurs="0" name="numberingChange" type="CT_TrackChangeNumbering"/>
+ </xsd:choice>
+ <xsd:attribute name="fldCharType" type="ST_FldCharType" use="required"/>
+ <xsd:attribute name="fldLock" type="s:ST_OnOff"/>
+ <xsd:attribute name="dirty" type="s:ST_OnOff"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Hyperlink">
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_PContent"/>
+ <xsd:attribute name="tgtFrame" type="s:ST_String" use="optional"/>
+ <xsd:attribute name="tooltip" type="s:ST_String" use="optional"/>
+ <xsd:attribute name="docLocation" type="s:ST_String" use="optional"/>
+ <xsd:attribute name="history" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="anchor" type="s:ST_String" use="optional"/>
+ <xsd:attribute ref="r:id"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FFData">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="name" type="CT_FFName"/>
+ <xsd:element minOccurs="0" name="label" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="tabIndex" type="CT_UnsignedDecimalNumber"/>
+ <xsd:element name="enabled" type="CT_OnOff"/>
+ <xsd:element name="calcOnExit" type="CT_OnOff"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="entryMacro" type="CT_MacroName"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="exitMacro" type="CT_MacroName"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="helpText" type="CT_FFHelpText"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="statusText" type="CT_FFStatusText"/>
+ <xsd:choice>
+ <xsd:element name="checkBox" type="CT_FFCheckBox"/>
+ <xsd:element name="ddList" type="CT_FFDDList"/>
+ <xsd:element name="textInput" type="CT_FFTextInput"/>
+ </xsd:choice>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FFHelpText">
+ <xsd:attribute name="type" type="ST_InfoTextType"/>
+ <xsd:attribute name="val" type="ST_FFHelpTextVal"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FFStatusText">
+ <xsd:attribute name="type" type="ST_InfoTextType"/>
+ <xsd:attribute name="val" type="ST_FFStatusTextVal"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FFCheckBox">
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="size" type="CT_HpsMeasure"/>
+ <xsd:element name="sizeAuto" type="CT_OnOff"/>
+ </xsd:choice>
+ <xsd:element minOccurs="0" name="default" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="checked" type="CT_OnOff"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FFDDList">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="result" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="default" type="CT_DecimalNumber"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="listEntry" type="CT_String"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FFTextInput">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="type" type="CT_FFTextType"/>
+ <xsd:element minOccurs="0" name="default" type="CT_String"/>
+ <xsd:element minOccurs="0" name="maxLength" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="format" type="CT_String"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SectionMark">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="nextPage"/>
+ <xsd:enumeration value="nextColumn"/>
+ <xsd:enumeration value="continuous"/>
+ <xsd:enumeration value="evenPage"/>
+ <xsd:enumeration value="oddPage"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SectType">
+ <xsd:attribute name="val" type="ST_SectionMark"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PaperSource">
+ <xsd:attribute name="first" type="ST_DecimalNumber"/>
+ <xsd:attribute name="other" type="ST_DecimalNumber"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_NumberFormat">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="decimal"/>
+ <xsd:enumeration value="upperRoman"/>
+ <xsd:enumeration value="lowerRoman"/>
+ <xsd:enumeration value="upperLetter"/>
+ <xsd:enumeration value="lowerLetter"/>
+ <xsd:enumeration value="ordinal"/>
+ <xsd:enumeration value="cardinalText"/>
+ <xsd:enumeration value="ordinalText"/>
+ <xsd:enumeration value="hex"/>
+ <xsd:enumeration value="chicago"/>
+ <xsd:enumeration value="ideographDigital"/>
+ <xsd:enumeration value="japaneseCounting"/>
+ <xsd:enumeration value="aiueo"/>
+ <xsd:enumeration value="iroha"/>
+ <xsd:enumeration value="decimalFullWidth"/>
+ <xsd:enumeration value="decimalHalfWidth"/>
+ <xsd:enumeration value="japaneseLegal"/>
+ <xsd:enumeration value="japaneseDigitalTenThousand"/>
+ <xsd:enumeration value="decimalEnclosedCircle"/>
+ <xsd:enumeration value="decimalFullWidth2"/>
+ <xsd:enumeration value="aiueoFullWidth"/>
+ <xsd:enumeration value="irohaFullWidth"/>
+ <xsd:enumeration value="decimalZero"/>
+ <xsd:enumeration value="bullet"/>
+ <xsd:enumeration value="ganada"/>
+ <xsd:enumeration value="chosung"/>
+ <xsd:enumeration value="decimalEnclosedFullstop"/>
+ <xsd:enumeration value="decimalEnclosedParen"/>
+ <xsd:enumeration value="decimalEnclosedCircleChinese"/>
+ <xsd:enumeration value="ideographEnclosedCircle"/>
+ <xsd:enumeration value="ideographTraditional"/>
+ <xsd:enumeration value="ideographZodiac"/>
+ <xsd:enumeration value="ideographZodiacTraditional"/>
+ <xsd:enumeration value="taiwaneseCounting"/>
+ <xsd:enumeration value="ideographLegalTraditional"/>
+ <xsd:enumeration value="taiwaneseCountingThousand"/>
+ <xsd:enumeration value="taiwaneseDigital"/>
+ <xsd:enumeration value="chineseCounting"/>
+ <xsd:enumeration value="chineseLegalSimplified"/>
+ <xsd:enumeration value="chineseCountingThousand"/>
+ <xsd:enumeration value="koreanDigital"/>
+ <xsd:enumeration value="koreanCounting"/>
+ <xsd:enumeration value="koreanLegal"/>
+ <xsd:enumeration value="koreanDigital2"/>
+ <xsd:enumeration value="vietnameseCounting"/>
+ <xsd:enumeration value="russianLower"/>
+ <xsd:enumeration value="russianUpper"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="numberInDash"/>
+ <xsd:enumeration value="hebrew1"/>
+ <xsd:enumeration value="hebrew2"/>
+ <xsd:enumeration value="arabicAlpha"/>
+ <xsd:enumeration value="arabicAbjad"/>
+ <xsd:enumeration value="hindiVowels"/>
+ <xsd:enumeration value="hindiConsonants"/>
+ <xsd:enumeration value="hindiNumbers"/>
+ <xsd:enumeration value="hindiCounting"/>
+ <xsd:enumeration value="thaiLetters"/>
+ <xsd:enumeration value="thaiNumbers"/>
+ <xsd:enumeration value="thaiCounting"/>
+ <xsd:enumeration value="bahtText"/>
+ <xsd:enumeration value="dollarText"/>
+ <xsd:enumeration value="custom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PageOrientation">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="portrait"/>
+ <xsd:enumeration value="landscape"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PageSz">
+ <xsd:attribute name="w" type="s:ST_TwipsMeasure"/>
+ <xsd:attribute name="h" type="s:ST_TwipsMeasure"/>
+ <xsd:attribute name="orient" type="ST_PageOrientation" use="optional"/>
+ <xsd:attribute name="code" type="ST_DecimalNumber" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageMar">
+ <xsd:attribute name="top" type="ST_SignedTwipsMeasure" use="required"/>
+ <xsd:attribute name="right" type="s:ST_TwipsMeasure" use="required"/>
+ <xsd:attribute name="bottom" type="ST_SignedTwipsMeasure" use="required"/>
+ <xsd:attribute name="left" type="s:ST_TwipsMeasure" use="required"/>
+ <xsd:attribute name="header" type="s:ST_TwipsMeasure" use="required"/>
+ <xsd:attribute name="footer" type="s:ST_TwipsMeasure" use="required"/>
+ <xsd:attribute name="gutter" type="s:ST_TwipsMeasure" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PageBorderZOrder">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="front"/>
+ <xsd:enumeration value="back"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PageBorderDisplay">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="allPages"/>
+ <xsd:enumeration value="firstPage"/>
+ <xsd:enumeration value="notFirstPage"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PageBorderOffset">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="page"/>
+ <xsd:enumeration value="text"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PageBorders">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="top" type="CT_TopPageBorder"/>
+ <xsd:element minOccurs="0" name="left" type="CT_PageBorder"/>
+ <xsd:element minOccurs="0" name="bottom" type="CT_BottomPageBorder"/>
+ <xsd:element minOccurs="0" name="right" type="CT_PageBorder"/>
+ </xsd:sequence>
+ <xsd:attribute name="zOrder" type="ST_PageBorderZOrder" use="optional"/>
+ <xsd:attribute name="display" type="ST_PageBorderDisplay" use="optional"/>
+ <xsd:attribute name="offsetFrom" type="ST_PageBorderOffset" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageBorder">
+ <xsd:complexContent>
+ <xsd:extension base="CT_Border">
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BottomPageBorder">
+ <xsd:complexContent>
+ <xsd:extension base="CT_PageBorder">
+ <xsd:attribute ref="r:bottomLeft" use="optional"/>
+ <xsd:attribute ref="r:bottomRight" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TopPageBorder">
+ <xsd:complexContent>
+ <xsd:extension base="CT_PageBorder">
+ <xsd:attribute ref="r:topLeft" use="optional"/>
+ <xsd:attribute ref="r:topRight" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ChapterSep">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="hyphen"/>
+ <xsd:enumeration value="period"/>
+ <xsd:enumeration value="colon"/>
+ <xsd:enumeration value="emDash"/>
+ <xsd:enumeration value="enDash"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_LineNumberRestart">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="newPage"/>
+ <xsd:enumeration value="newSection"/>
+ <xsd:enumeration value="continuous"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LineNumber">
+ <xsd:attribute name="countBy" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="start" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="distance" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="restart" type="ST_LineNumberRestart" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PageNumber">
+ <xsd:attribute name="fmt" type="ST_NumberFormat" use="optional"/>
+ <xsd:attribute name="start" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="chapStyle" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="chapSep" type="ST_ChapterSep" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Column">
+ <xsd:attribute name="w" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="space" type="s:ST_TwipsMeasure" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Columns">
+ <xsd:sequence minOccurs="0">
+ <xsd:element maxOccurs="45" name="col" type="CT_Column"/>
+ </xsd:sequence>
+ <xsd:attribute name="equalWidth" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="space" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="num" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="sep" type="s:ST_OnOff" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_VerticalJc">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="top"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="both"/>
+ <xsd:enumeration value="bottom"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_VerticalJc">
+ <xsd:attribute name="val" type="ST_VerticalJc" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DocGrid">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="lines"/>
+ <xsd:enumeration value="linesAndChars"/>
+ <xsd:enumeration value="snapToChars"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DocGrid">
+ <xsd:attribute name="type" type="ST_DocGrid"/>
+ <xsd:attribute name="linePitch" type="ST_DecimalNumber"/>
+ <xsd:attribute name="charSpace" type="ST_DecimalNumber"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_HdrFtr">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="even"/>
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="first"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_FtnEdn">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="normal"/>
+ <xsd:enumeration value="separator"/>
+ <xsd:enumeration value="continuationSeparator"/>
+ <xsd:enumeration value="continuationNotice"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_HdrFtrRef">
+ <xsd:complexContent>
+ <xsd:extension base="CT_Rel">
+ <xsd:attribute name="type" type="ST_HdrFtr" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:group name="EG_HdrFtrReferences">
+ <xsd:choice>
+ <xsd:element minOccurs="0" name="headerReference" type="CT_HdrFtrRef"/>
+ <xsd:element minOccurs="0" name="footerReference" type="CT_HdrFtrRef"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_HdrFtr">
+ <xsd:group maxOccurs="unbounded" minOccurs="1" ref="EG_BlockLevelElts"/>
+ </xsd:complexType>
+ <xsd:group name="EG_SectPrContents">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="footnotePr" type="CT_FtnProps"/>
+ <xsd:element minOccurs="0" name="endnotePr" type="CT_EdnProps"/>
+ <xsd:element minOccurs="0" name="type" type="CT_SectType"/>
+ <xsd:element minOccurs="0" name="pgSz" type="CT_PageSz"/>
+ <xsd:element minOccurs="0" name="pgMar" type="CT_PageMar"/>
+ <xsd:element minOccurs="0" name="paperSrc" type="CT_PaperSource"/>
+ <xsd:element minOccurs="0" name="pgBorders" type="CT_PageBorders"/>
+ <xsd:element minOccurs="0" name="lnNumType" type="CT_LineNumber"/>
+ <xsd:element minOccurs="0" name="pgNumType" type="CT_PageNumber"/>
+ <xsd:element minOccurs="0" name="cols" type="CT_Columns"/>
+ <xsd:element minOccurs="0" name="formProt" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="vAlign" type="CT_VerticalJc"/>
+ <xsd:element minOccurs="0" name="noEndnote" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="titlePg" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="textDirection" type="CT_TextDirection"/>
+ <xsd:element minOccurs="0" name="bidi" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="rtlGutter" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="docGrid" type="CT_DocGrid"/>
+ <xsd:element minOccurs="0" name="printerSettings" type="CT_Rel"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:attributeGroup name="AG_SectPrAttributes">
+ <xsd:attribute name="rsidRPr" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidDel" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidR" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidSect" type="ST_LongHexNumber"/>
+ </xsd:attributeGroup>
+ <xsd:complexType name="CT_SectPrBase">
+ <xsd:sequence>
+ <xsd:group minOccurs="0" ref="EG_SectPrContents"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_SectPrAttributes"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SectPr">
+ <xsd:sequence>
+ <xsd:group maxOccurs="6" minOccurs="0" ref="EG_HdrFtrReferences"/>
+ <xsd:group minOccurs="0" ref="EG_SectPrContents"/>
+ <xsd:element minOccurs="0" name="sectPrChange" type="CT_SectPrChange"/>
+ </xsd:sequence>
+ <xsd:attributeGroup ref="AG_SectPrAttributes"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_BrType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="page"/>
+ <xsd:enumeration value="column"/>
+ <xsd:enumeration value="textWrapping"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_BrClear">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Br">
+ <xsd:attribute name="type" type="ST_BrType" use="optional"/>
+ <xsd:attribute name="clear" type="ST_BrClear" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_PTabAlignment">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="right"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PTabRelativeTo">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="margin"/>
+ <xsd:enumeration value="indent"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_PTabLeader">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="dot"/>
+ <xsd:enumeration value="hyphen"/>
+ <xsd:enumeration value="underscore"/>
+ <xsd:enumeration value="middleDot"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_PTab">
+ <xsd:attribute name="alignment" type="ST_PTabAlignment" use="required"/>
+ <xsd:attribute name="relativeTo" type="ST_PTabRelativeTo" use="required"/>
+ <xsd:attribute name="leader" type="ST_PTabLeader" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Sym">
+ <xsd:attribute name="font" type="s:ST_String"/>
+ <xsd:attribute name="char" type="ST_ShortHexNumber"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ProofErr">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="spellStart"/>
+ <xsd:enumeration value="spellEnd"/>
+ <xsd:enumeration value="gramStart"/>
+ <xsd:enumeration value="gramEnd"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ProofErr">
+ <xsd:attribute name="type" type="ST_ProofErr" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_EdGrp">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="everyone"/>
+ <xsd:enumeration value="administrators"/>
+ <xsd:enumeration value="contributors"/>
+ <xsd:enumeration value="editors"/>
+ <xsd:enumeration value="owners"/>
+ <xsd:enumeration value="current"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Perm">
+ <xsd:attribute name="id" type="s:ST_String" use="required"/>
+ <xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PermStart">
+ <xsd:complexContent>
+ <xsd:extension base="CT_Perm">
+ <xsd:attribute name="edGrp" type="ST_EdGrp" use="optional"/>
+ <xsd:attribute name="ed" type="s:ST_String" use="optional"/>
+ <xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Text">
+ <xsd:simpleContent>
+ <xsd:extension base="s:ST_String">
+ <xsd:attribute ref="xml:space" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:group name="EG_RunInnerContent">
+ <xsd:choice>
+ <xsd:element name="br" type="CT_Br"/>
+ <xsd:element name="t" type="CT_Text"/>
+ <xsd:element name="contentPart" type="CT_Rel"/>
+ <xsd:element name="delText" type="CT_Text"/>
+ <xsd:element name="instrText" type="CT_Text"/>
+ <xsd:element name="delInstrText" type="CT_Text"/>
+ <xsd:element name="noBreakHyphen" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="softHyphen" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="dayShort" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="monthShort" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="yearShort" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="dayLong" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="monthLong" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="yearLong" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="annotationRef" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="footnoteRef" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="endnoteRef" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="separator" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="continuationSeparator" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="sym" type="CT_Sym"/>
+ <xsd:element minOccurs="0" name="pgNum" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="cr" type="CT_Empty"/>
+ <xsd:element minOccurs="0" name="tab" type="CT_Empty"/>
+ <xsd:element name="object" type="CT_Object"/>
+ <xsd:element name="pict" type="CT_Picture"/>
+ <xsd:element name="fldChar" type="CT_FldChar"/>
+ <xsd:element name="ruby" type="CT_Ruby"/>
+ <xsd:element name="footnoteReference" type="CT_FtnEdnRef"/>
+ <xsd:element name="endnoteReference" type="CT_FtnEdnRef"/>
+ <xsd:element name="commentReference" type="CT_Markup"/>
+ <xsd:element name="drawing" type="CT_Drawing"/>
+ <xsd:element minOccurs="0" name="ptab" type="CT_PTab"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lastRenderedPageBreak" type="CT_Empty"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_R">
+ <xsd:sequence>
+ <xsd:group minOccurs="0" ref="EG_RPr"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RunInnerContent"/>
+ </xsd:sequence>
+ <xsd:attribute name="rsidRPr" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidDel" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidR" type="ST_LongHexNumber"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Hint">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="eastAsia"/>
+ <xsd:enumeration value="cs"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_Theme">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="majorEastAsia"/>
+ <xsd:enumeration value="majorBidi"/>
+ <xsd:enumeration value="majorAscii"/>
+ <xsd:enumeration value="majorHAnsi"/>
+ <xsd:enumeration value="minorEastAsia"/>
+ <xsd:enumeration value="minorBidi"/>
+ <xsd:enumeration value="minorAscii"/>
+ <xsd:enumeration value="minorHAnsi"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Fonts">
+ <xsd:attribute name="hint" type="ST_Hint"/>
+ <xsd:attribute name="ascii" type="s:ST_String"/>
+ <xsd:attribute name="hAnsi" type="s:ST_String"/>
+ <xsd:attribute name="eastAsia" type="s:ST_String"/>
+ <xsd:attribute name="cs" type="s:ST_String"/>
+ <xsd:attribute name="asciiTheme" type="ST_Theme"/>
+ <xsd:attribute name="hAnsiTheme" type="ST_Theme"/>
+ <xsd:attribute name="eastAsiaTheme" type="ST_Theme"/>
+ <xsd:attribute name="cstheme" type="ST_Theme"/>
+ </xsd:complexType>
+ <xsd:group name="EG_RPrBase">
+ <xsd:choice>
+ <xsd:element name="rStyle" type="CT_String"/>
+ <xsd:element name="rFonts" type="CT_Fonts"/>
+ <xsd:element name="b" type="CT_OnOff"/>
+ <xsd:element name="bCs" type="CT_OnOff"/>
+ <xsd:element name="i" type="CT_OnOff"/>
+ <xsd:element name="iCs" type="CT_OnOff"/>
+ <xsd:element name="caps" type="CT_OnOff"/>
+ <xsd:element name="smallCaps" type="CT_OnOff"/>
+ <xsd:element name="strike" type="CT_OnOff"/>
+ <xsd:element name="dstrike" type="CT_OnOff"/>
+ <xsd:element name="outline" type="CT_OnOff"/>
+ <xsd:element name="shadow" type="CT_OnOff"/>
+ <xsd:element name="emboss" type="CT_OnOff"/>
+ <xsd:element name="imprint" type="CT_OnOff"/>
+ <xsd:element name="noProof" type="CT_OnOff"/>
+ <xsd:element name="snapToGrid" type="CT_OnOff"/>
+ <xsd:element name="vanish" type="CT_OnOff"/>
+ <xsd:element name="webHidden" type="CT_OnOff"/>
+ <xsd:element name="color" type="CT_Color"/>
+ <xsd:element name="spacing" type="CT_SignedTwipsMeasure"/>
+ <xsd:element name="w" type="CT_TextScale"/>
+ <xsd:element name="kern" type="CT_HpsMeasure"/>
+ <xsd:element name="position" type="CT_SignedHpsMeasure"/>
+ <xsd:element name="sz" type="CT_HpsMeasure"/>
+ <xsd:element name="szCs" type="CT_HpsMeasure"/>
+ <xsd:element name="highlight" type="CT_Highlight"/>
+ <xsd:element name="u" type="CT_Underline"/>
+ <xsd:element name="effect" type="CT_TextEffect"/>
+ <xsd:element name="bdr" type="CT_Border"/>
+ <xsd:element name="shd" type="CT_Shd"/>
+ <xsd:element name="fitText" type="CT_FitText"/>
+ <xsd:element name="vertAlign" type="CT_VerticalAlignRun"/>
+ <xsd:element name="rtl" type="CT_OnOff"/>
+ <xsd:element name="cs" type="CT_OnOff"/>
+ <xsd:element name="em" type="CT_Em"/>
+ <xsd:element name="lang" type="CT_Language"/>
+ <xsd:element name="eastAsianLayout" type="CT_EastAsianLayout"/>
+ <xsd:element name="specVanish" type="CT_OnOff"/>
+ <xsd:element name="oMath" type="CT_OnOff"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_RPrContent">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RPrBase"/>
+ <xsd:element minOccurs="0" name="rPrChange" type="CT_RPrChange"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_RPr">
+ <xsd:sequence>
+ <xsd:group minOccurs="0" ref="EG_RPrContent"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_RPr">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="rPr" type="CT_RPr"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:group name="EG_RPrMath">
+ <xsd:choice>
+ <xsd:group ref="EG_RPr"/>
+ <xsd:element name="ins" type="CT_MathCtrlIns"/>
+ <xsd:element name="del" type="CT_MathCtrlDel"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_MathCtrlIns">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:choice minOccurs="0">
+ <xsd:element minOccurs="1" name="del" type="CT_RPrChange"/>
+ <xsd:element minOccurs="1" name="rPr" type="CT_RPr"/>
+ </xsd:choice>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MathCtrlDel">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrackChange">
+ <xsd:choice minOccurs="0">
+ <xsd:element minOccurs="1" name="rPr" type="CT_RPr"/>
+ </xsd:choice>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RPrOriginal">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RPrBase"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ParaRPrOriginal">
+ <xsd:sequence>
+ <xsd:group minOccurs="0" ref="EG_ParaRPrTrackChanges"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RPrBase"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ParaRPr">
+ <xsd:sequence>
+ <xsd:group minOccurs="0" ref="EG_ParaRPrTrackChanges"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RPrBase"/>
+ <xsd:element minOccurs="0" name="rPrChange" type="CT_ParaRPrChange"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_ParaRPrTrackChanges">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="ins" type="CT_TrackChange"/>
+ <xsd:element minOccurs="0" name="del" type="CT_TrackChange"/>
+ <xsd:element minOccurs="0" name="moveFrom" type="CT_TrackChange"/>
+ <xsd:element minOccurs="0" name="moveTo" type="CT_TrackChange"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_AltChunk">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="altChunkPr" type="CT_AltChunkPr"/>
+ </xsd:sequence>
+ <xsd:attribute ref="r:id" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AltChunkPr">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="matchSrc" type="CT_OnOff"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_RubyAlign">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="center"/>
+ <xsd:enumeration value="distributeLetter"/>
+ <xsd:enumeration value="distributeSpace"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ <xsd:enumeration value="rightVertical"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_RubyAlign">
+ <xsd:attribute name="val" type="ST_RubyAlign" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RubyPr">
+ <xsd:sequence>
+ <xsd:element name="rubyAlign" type="CT_RubyAlign"/>
+ <xsd:element name="hps" type="CT_HpsMeasure"/>
+ <xsd:element name="hpsRaise" type="CT_HpsMeasure"/>
+ <xsd:element name="hpsBaseText" type="CT_HpsMeasure"/>
+ <xsd:element name="lid" type="CT_Lang"/>
+ <xsd:element minOccurs="0" name="dirty" type="CT_OnOff"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_RubyContent">
+ <xsd:choice>
+ <xsd:element name="r" type="CT_R"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RunLevelElts"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_RubyContent">
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RubyContent"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Ruby">
+ <xsd:sequence>
+ <xsd:element name="rubyPr" type="CT_RubyPr"/>
+ <xsd:element name="rt" type="CT_RubyContent"/>
+ <xsd:element name="rubyBase" type="CT_RubyContent"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Lock">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="sdtLocked"/>
+ <xsd:enumeration value="contentLocked"/>
+ <xsd:enumeration value="unlocked"/>
+ <xsd:enumeration value="sdtContentLocked"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Lock">
+ <xsd:attribute name="val" type="ST_Lock"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtListItem">
+ <xsd:attribute name="displayText" type="s:ST_String"/>
+ <xsd:attribute name="value" type="s:ST_String"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_SdtDateMappingType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="text"/>
+ <xsd:enumeration value="date"/>
+ <xsd:enumeration value="dateTime"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SdtDateMappingType">
+ <xsd:attribute name="val" type="ST_SdtDateMappingType"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CalendarType">
+ <xsd:attribute name="val" type="s:ST_CalendarType"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtDate">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="dateFormat" type="CT_String"/>
+ <xsd:element minOccurs="0" name="lid" type="CT_Lang"/>
+ <xsd:element minOccurs="0" name="storeMappedDataAs" type="CT_SdtDateMappingType"/>
+ <xsd:element minOccurs="0" name="calendar" type="CT_CalendarType"/>
+ </xsd:sequence>
+ <xsd:attribute name="fullDate" type="ST_DateTime" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtComboBox">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="listItem" type="CT_SdtListItem"/>
+ </xsd:sequence>
+ <xsd:attribute name="lastValue" type="s:ST_String" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtDocPart">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="docPartGallery" type="CT_String"/>
+ <xsd:element minOccurs="0" name="docPartCategory" type="CT_String"/>
+ <xsd:element minOccurs="0" name="docPartUnique" type="CT_OnOff"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtDropDownList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="listItem" type="CT_SdtListItem"/>
+ </xsd:sequence>
+ <xsd:attribute name="lastValue" type="s:ST_String" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Placeholder">
+ <xsd:sequence>
+ <xsd:element name="docPart" type="CT_String"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtText">
+ <xsd:attribute name="multiLine" type="s:ST_OnOff"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DataBinding">
+ <xsd:attribute name="prefixMappings" type="s:ST_String"/>
+ <xsd:attribute name="xpath" type="s:ST_String" use="required"/>
+ <xsd:attribute name="storeItemID" type="s:ST_String" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtPr">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="rPr" type="CT_RPr"/>
+ <xsd:element minOccurs="0" name="alias" type="CT_String"/>
+ <xsd:element minOccurs="0" name="tag" type="CT_String"/>
+ <xsd:element minOccurs="0" name="id" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="lock" type="CT_Lock"/>
+ <xsd:element minOccurs="0" name="placeholder" type="CT_Placeholder"/>
+ <xsd:element minOccurs="0" name="temporary" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="showingPlcHdr" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="dataBinding" type="CT_DataBinding"/>
+ <xsd:element minOccurs="0" name="label" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="tabIndex" type="CT_UnsignedDecimalNumber"/>
+ <xsd:choice maxOccurs="1" minOccurs="0">
+ <xsd:element name="equation" type="CT_Empty"/>
+ <xsd:element name="comboBox" type="CT_SdtComboBox"/>
+ <xsd:element name="date" type="CT_SdtDate"/>
+ <xsd:element name="docPartObj" type="CT_SdtDocPart"/>
+ <xsd:element name="docPartList" type="CT_SdtDocPart"/>
+ <xsd:element name="dropDownList" type="CT_SdtDropDownList"/>
+ <xsd:element name="picture" type="CT_Empty"/>
+ <xsd:element name="richText" type="CT_Empty"/>
+ <xsd:element name="text" type="CT_SdtText"/>
+ <xsd:element name="citation" type="CT_Empty"/>
+ <xsd:element name="group" type="CT_Empty"/>
+ <xsd:element name="bibliography" type="CT_Empty"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtEndPr">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element minOccurs="0" name="rPr" type="CT_RPr"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:group name="EG_ContentRunContent">
+ <xsd:choice>
+ <xsd:element name="customXml" type="CT_CustomXmlRun"/>
+ <xsd:element name="smartTag" type="CT_SmartTagRun"/>
+ <xsd:element name="sdt" type="CT_SdtRun"/>
+ <xsd:element name="dir" type="CT_DirContentRun"/>
+ <xsd:element name="bdo" type="CT_BdoContentRun"/>
+ <xsd:element name="r" type="CT_R"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RunLevelElts"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_DirContentRun">
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_PContent"/>
+ <xsd:attribute name="val" type="ST_Direction" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_BdoContentRun">
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_PContent"/>
+ <xsd:attribute name="val" type="ST_Direction" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Direction">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ltr"/>
+ <xsd:enumeration value="rtl"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_SdtContentRun">
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_PContent"/>
+ </xsd:complexType>
+ <xsd:group name="EG_ContentBlockContent">
+ <xsd:choice>
+ <xsd:element name="customXml" type="CT_CustomXmlBlock"/>
+ <xsd:element name="sdt" type="CT_SdtBlock"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="p" type="CT_P"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="tbl" type="CT_Tbl"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RunLevelElts"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_SdtContentBlock">
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentBlockContent"/>
+ </xsd:complexType>
+ <xsd:group name="EG_ContentRowContent">
+ <xsd:choice>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="tr" type="CT_Row"/>
+ <xsd:element name="customXml" type="CT_CustomXmlRow"/>
+ <xsd:element name="sdt" type="CT_SdtRow"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RunLevelElts"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_SdtContentRow">
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentRowContent"/>
+ </xsd:complexType>
+ <xsd:group name="EG_ContentCellContent">
+ <xsd:choice>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="tc" type="CT_Tc"/>
+ <xsd:element name="customXml" type="CT_CustomXmlCell"/>
+ <xsd:element name="sdt" type="CT_SdtCell"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RunLevelElts"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_SdtContentCell">
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentCellContent"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtBlock">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtPr" type="CT_SdtPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtEndPr" type="CT_SdtEndPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtContent" type="CT_SdtContentBlock"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtRun">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtPr" type="CT_SdtPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtEndPr" type="CT_SdtEndPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtContent" type="CT_SdtContentRun"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtCell">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtPr" type="CT_SdtPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtEndPr" type="CT_SdtEndPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtContent" type="CT_SdtContentCell"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SdtRow">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtPr" type="CT_SdtPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtEndPr" type="CT_SdtEndPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sdtContent" type="CT_SdtContentRow"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Attr">
+ <xsd:attribute name="uri" type="s:ST_String"/>
+ <xsd:attribute name="name" type="s:ST_String" use="required"/>
+ <xsd:attribute name="val" type="s:ST_String" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomXmlRun">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="customXmlPr" type="CT_CustomXmlPr"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_PContent"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="s:ST_String"/>
+ <xsd:attribute name="element" type="s:ST_XmlName" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SmartTagRun">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="smartTagPr" type="CT_SmartTagPr"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_PContent"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="s:ST_String"/>
+ <xsd:attribute name="element" type="s:ST_XmlName" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomXmlBlock">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="customXmlPr" type="CT_CustomXmlPr"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentBlockContent"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="s:ST_String"/>
+ <xsd:attribute name="element" type="s:ST_XmlName" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomXmlPr">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="placeholder" type="CT_String"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="attr" type="CT_Attr"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomXmlRow">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="customXmlPr" type="CT_CustomXmlPr"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentRowContent"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="s:ST_String"/>
+ <xsd:attribute name="element" type="s:ST_XmlName" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CustomXmlCell">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="customXmlPr" type="CT_CustomXmlPr"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentCellContent"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="s:ST_String"/>
+ <xsd:attribute name="element" type="s:ST_XmlName" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SmartTagPr">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="attr" type="CT_Attr"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:group name="EG_PContent">
+ <xsd:choice>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentRunContent"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="fldSimple" type="CT_SimpleField"/>
+ <xsd:element name="hyperlink" type="CT_Hyperlink"/>
+ <xsd:element name="subDoc" type="CT_Rel"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_P">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="pPr" type="CT_PPr"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_PContent"/>
+ </xsd:sequence>
+ <xsd:attribute name="rsidRPr" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidR" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidDel" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidP" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidRDefault" type="ST_LongHexNumber"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TblWidth">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="nil"/>
+ <xsd:enumeration value="pct"/>
+ <xsd:enumeration value="dxa"/>
+ <xsd:enumeration value="auto"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Height">
+ <xsd:attribute name="val" type="s:ST_TwipsMeasure"/>
+ <xsd:attribute name="hRule" type="ST_HeightRule"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MeasurementOrPercent">
+ <xsd:union memberTypes="ST_DecimalNumberOrPercent s:ST_UniversalMeasure"/>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TblWidth">
+ <xsd:attribute name="w" type="ST_MeasurementOrPercent"/>
+ <xsd:attribute name="type" type="ST_TblWidth"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblGridCol">
+ <xsd:attribute name="w" type="s:ST_TwipsMeasure"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblGridBase">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="gridCol" type="CT_TblGridCol"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblGrid">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TblGridBase">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="tblGridChange" type="CT_TblGridChange"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TcBorders">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="top" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="start" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="left" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="bottom" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="end" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="right" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="insideH" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="insideV" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="tl2br" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="tr2bl" type="CT_Border"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TcMar">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="top" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="start" type="CT_TblWidth"/>
+ <xsd:element minOccurs="0" name="left" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="bottom" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="end" type="CT_TblWidth"/>
+ <xsd:element minOccurs="0" name="right" type="CT_TblWidth"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Merge">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="continue"/>
+ <xsd:enumeration value="restart"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_VMerge">
+ <xsd:attribute name="val" type="ST_Merge"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_HMerge">
+ <xsd:attribute name="val" type="ST_Merge"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TcPrBase">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cnfStyle" type="CT_Cnf"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcW" type="CT_TblWidth"/>
+ <xsd:element minOccurs="0" name="gridSpan" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="hMerge" type="CT_HMerge"/>
+ <xsd:element minOccurs="0" name="vMerge" type="CT_VMerge"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcBorders" type="CT_TcBorders"/>
+ <xsd:element minOccurs="0" name="shd" type="CT_Shd"/>
+ <xsd:element minOccurs="0" name="noWrap" type="CT_OnOff"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcMar" type="CT_TcMar"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="textDirection" type="CT_TextDirection"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcFitText" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="vAlign" type="CT_VerticalJc"/>
+ <xsd:element minOccurs="0" name="hideMark" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="headers" type="CT_Headers"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TcPr">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TcPrInner">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="tcPrChange" type="CT_TcPrChange"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TcPrInner">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TcPrBase">
+ <xsd:sequence>
+ <xsd:group maxOccurs="1" minOccurs="0" ref="EG_CellMarkupElements"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Tc">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcPr" type="CT_TcPr"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="1" ref="EG_BlockLevelElts"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="s:ST_String" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Cnf">
+ <xsd:restriction base="xsd:string">
+ <xsd:length value="12"/>
+ <xsd:pattern value="[01]*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Cnf">
+ <xsd:attribute name="val" type="ST_Cnf"/>
+ <xsd:attribute name="firstRow" type="s:ST_OnOff"/>
+ <xsd:attribute name="lastRow" type="s:ST_OnOff"/>
+ <xsd:attribute name="firstColumn" type="s:ST_OnOff"/>
+ <xsd:attribute name="lastColumn" type="s:ST_OnOff"/>
+ <xsd:attribute name="oddVBand" type="s:ST_OnOff"/>
+ <xsd:attribute name="evenVBand" type="s:ST_OnOff"/>
+ <xsd:attribute name="oddHBand" type="s:ST_OnOff"/>
+ <xsd:attribute name="evenHBand" type="s:ST_OnOff"/>
+ <xsd:attribute name="firstRowFirstColumn" type="s:ST_OnOff"/>
+ <xsd:attribute name="firstRowLastColumn" type="s:ST_OnOff"/>
+ <xsd:attribute name="lastRowFirstColumn" type="s:ST_OnOff"/>
+ <xsd:attribute name="lastRowLastColumn" type="s:ST_OnOff"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Headers">
+ <xsd:sequence maxOccurs="unbounded" minOccurs="0">
+ <xsd:element name="header" type="CT_String"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TrPrBase">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element maxOccurs="1" minOccurs="0" name="cnfStyle" type="CT_Cnf"/>
+ <xsd:element minOccurs="0" name="divId" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="gridBefore" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="gridAfter" type="CT_DecimalNumber"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="wBefore" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="wAfter" type="CT_TblWidth"/>
+ <xsd:element minOccurs="0" name="cantSplit" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="trHeight" type="CT_Height"/>
+ <xsd:element minOccurs="0" name="tblHeader" type="CT_OnOff"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblCellSpacing" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="jc" type="CT_JcTable"/>
+ <xsd:element minOccurs="0" name="hidden" type="CT_OnOff"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TrPr">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TrPrBase">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="ins" type="CT_TrackChange"/>
+ <xsd:element minOccurs="0" name="del" type="CT_TrackChange"/>
+ <xsd:element minOccurs="0" name="trPrChange" type="CT_TrPrChange"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Row">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblPrEx" type="CT_TblPrEx"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="trPr" type="CT_TrPr"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentCellContent"/>
+ </xsd:sequence>
+ <xsd:attribute name="rsidRPr" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidR" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidDel" type="ST_LongHexNumber"/>
+ <xsd:attribute name="rsidTr" type="ST_LongHexNumber"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TblLayoutType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="fixed"/>
+ <xsd:enumeration value="autofit"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TblLayoutType">
+ <xsd:attribute name="type" type="ST_TblLayoutType"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TblOverlap">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="never"/>
+ <xsd:enumeration value="overlap"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TblOverlap">
+ <xsd:attribute name="val" type="ST_TblOverlap" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblPPr">
+ <xsd:attribute name="leftFromText" type="s:ST_TwipsMeasure"/>
+ <xsd:attribute name="rightFromText" type="s:ST_TwipsMeasure"/>
+ <xsd:attribute name="topFromText" type="s:ST_TwipsMeasure"/>
+ <xsd:attribute name="bottomFromText" type="s:ST_TwipsMeasure"/>
+ <xsd:attribute name="vertAnchor" type="ST_VAnchor"/>
+ <xsd:attribute name="horzAnchor" type="ST_HAnchor"/>
+ <xsd:attribute name="tblpXSpec" type="s:ST_XAlign"/>
+ <xsd:attribute name="tblpX" type="ST_SignedTwipsMeasure"/>
+ <xsd:attribute name="tblpYSpec" type="s:ST_YAlign"/>
+ <xsd:attribute name="tblpY" type="ST_SignedTwipsMeasure"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblCellMar">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="top" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="start" type="CT_TblWidth"/>
+ <xsd:element minOccurs="0" name="left" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="bottom" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="end" type="CT_TblWidth"/>
+ <xsd:element minOccurs="0" name="right" type="CT_TblWidth"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblBorders">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="top" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="start" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="left" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="bottom" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="end" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="right" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="insideH" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="insideV" type="CT_Border"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblPrBase">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="tblStyle" type="CT_String"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblpPr" type="CT_TblPPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblOverlap" type="CT_TblOverlap"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="bidiVisual" type="CT_OnOff"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblStyleRowBandSize" type="CT_DecimalNumber"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblStyleColBandSize" type="CT_DecimalNumber"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblW" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="jc" type="CT_JcTable"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblCellSpacing" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblInd" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblBorders" type="CT_TblBorders"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="shd" type="CT_Shd"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblLayout" type="CT_TblLayoutType"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblCellMar" type="CT_TblCellMar"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblLook" type="CT_TblLook"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblCaption" type="CT_String"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblDescription" type="CT_String"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblPr">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TblPrBase">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="tblPrChange" type="CT_TblPrChange"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblPrExBase">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblW" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="jc" type="CT_JcTable"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblCellSpacing" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblInd" type="CT_TblWidth"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblBorders" type="CT_TblBorders"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="shd" type="CT_Shd"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblLayout" type="CT_TblLayoutType"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblCellMar" type="CT_TblCellMar"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblLook" type="CT_TblLook"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblPrEx">
+ <xsd:complexContent>
+ <xsd:extension base="CT_TblPrExBase">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="tblPrExChange" type="CT_TblPrExChange"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Tbl">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RangeMarkupElements"/>
+ <xsd:element name="tblPr" type="CT_TblPr"/>
+ <xsd:element name="tblGrid" type="CT_TblGrid"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentRowContent"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TblLook">
+ <xsd:attribute name="firstRow" type="s:ST_OnOff"/>
+ <xsd:attribute name="lastRow" type="s:ST_OnOff"/>
+ <xsd:attribute name="firstColumn" type="s:ST_OnOff"/>
+ <xsd:attribute name="lastColumn" type="s:ST_OnOff"/>
+ <xsd:attribute name="noHBand" type="s:ST_OnOff"/>
+ <xsd:attribute name="noVBand" type="s:ST_OnOff"/>
+ <xsd:attribute name="val" type="ST_ShortHexNumber"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FtnPos">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="pageBottom"/>
+ <xsd:enumeration value="beneathText"/>
+ <xsd:enumeration value="sectEnd"/>
+ <xsd:enumeration value="docEnd"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FtnPos">
+ <xsd:attribute name="val" type="ST_FtnPos" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_EdnPos">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="sectEnd"/>
+ <xsd:enumeration value="docEnd"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_EdnPos">
+ <xsd:attribute name="val" type="ST_EdnPos" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NumFmt">
+ <xsd:attribute name="val" type="ST_NumberFormat" use="required"/>
+ <xsd:attribute name="format" type="s:ST_String" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_RestartNumber">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="continuous"/>
+ <xsd:enumeration value="eachSect"/>
+ <xsd:enumeration value="eachPage"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_NumRestart">
+ <xsd:attribute name="val" type="ST_RestartNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FtnEdnRef">
+ <xsd:attribute name="customMarkFollows" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FtnEdnSepRef">
+ <xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FtnEdn">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="1" ref="EG_BlockLevelElts"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="ST_FtnEdn" use="optional"/>
+ <xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:group name="EG_FtnEdnNumProps">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="numStart" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="numRestart" type="CT_NumRestart"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="CT_FtnProps">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="pos" type="CT_FtnPos"/>
+ <xsd:element minOccurs="0" name="numFmt" type="CT_NumFmt"/>
+ <xsd:group minOccurs="0" ref="EG_FtnEdnNumProps"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EdnProps">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="pos" type="CT_EdnPos"/>
+ <xsd:element minOccurs="0" name="numFmt" type="CT_NumFmt"/>
+ <xsd:group minOccurs="0" ref="EG_FtnEdnNumProps"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FtnDocProps">
+ <xsd:complexContent>
+ <xsd:extension base="CT_FtnProps">
+ <xsd:sequence>
+ <xsd:element maxOccurs="3" minOccurs="0" name="footnote" type="CT_FtnEdnSepRef"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_EdnDocProps">
+ <xsd:complexContent>
+ <xsd:extension base="CT_EdnProps">
+ <xsd:sequence>
+ <xsd:element maxOccurs="3" minOccurs="0" name="endnote" type="CT_FtnEdnSepRef"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RecipientData">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="active" type="CT_OnOff"/>
+ <xsd:element minOccurs="1" name="column" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="1" name="uniqueTag" type="CT_Base64Binary"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Base64Binary">
+ <xsd:attribute name="val" type="xsd:base64Binary" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Recipients">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="1" name="recipientData" type="CT_RecipientData"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="recipients" type="CT_Recipients"/>
+ <xsd:complexType name="CT_OdsoFieldMapData">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="type" type="CT_MailMergeOdsoFMDFieldType"/>
+ <xsd:element minOccurs="0" name="name" type="CT_String"/>
+ <xsd:element minOccurs="0" name="mappedName" type="CT_String"/>
+ <xsd:element minOccurs="0" name="column" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="lid" type="CT_Lang"/>
+ <xsd:element minOccurs="0" name="dynamicAddress" type="CT_OnOff"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MailMergeSourceType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="database"/>
+ <xsd:enumeration value="addressBook"/>
+ <xsd:enumeration value="document1"/>
+ <xsd:enumeration value="document2"/>
+ <xsd:enumeration value="text"/>
+ <xsd:enumeration value="email"/>
+ <xsd:enumeration value="native"/>
+ <xsd:enumeration value="legacy"/>
+ <xsd:enumeration value="master"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MailMergeSourceType">
+ <xsd:attribute name="val" type="ST_MailMergeSourceType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Odso">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="udl" type="CT_String"/>
+ <xsd:element minOccurs="0" name="table" type="CT_String"/>
+ <xsd:element minOccurs="0" name="src" type="CT_Rel"/>
+ <xsd:element minOccurs="0" name="colDelim" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="type" type="CT_MailMergeSourceType"/>
+ <xsd:element minOccurs="0" name="fHdr" type="CT_OnOff"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="fieldMapData" type="CT_OdsoFieldMapData"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="recipientData" type="CT_Rel"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_MailMerge">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" name="mainDocumentType" type="CT_MailMergeDocType"/>
+ <xsd:element minOccurs="0" name="linkToQuery" type="CT_OnOff"/>
+ <xsd:element minOccurs="1" name="dataType" type="CT_MailMergeDataType"/>
+ <xsd:element minOccurs="0" name="connectString" type="CT_String"/>
+ <xsd:element minOccurs="0" name="query" type="CT_String"/>
+ <xsd:element minOccurs="0" name="dataSource" type="CT_Rel"/>
+ <xsd:element minOccurs="0" name="headerSource" type="CT_Rel"/>
+ <xsd:element minOccurs="0" name="doNotSuppressBlankLines" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="destination" type="CT_MailMergeDest"/>
+ <xsd:element minOccurs="0" name="addressFieldName" type="CT_String"/>
+ <xsd:element minOccurs="0" name="mailSubject" type="CT_String"/>
+ <xsd:element minOccurs="0" name="mailAsAttachment" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="viewMergedData" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="activeRecord" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="checkErrors" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="odso" type="CT_Odso"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TargetScreenSz">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="544x376"/>
+ <xsd:enumeration value="640x480"/>
+ <xsd:enumeration value="720x512"/>
+ <xsd:enumeration value="800x600"/>
+ <xsd:enumeration value="1024x768"/>
+ <xsd:enumeration value="1152x882"/>
+ <xsd:enumeration value="1152x900"/>
+ <xsd:enumeration value="1280x1024"/>
+ <xsd:enumeration value="1600x1200"/>
+ <xsd:enumeration value="1800x1440"/>
+ <xsd:enumeration value="1920x1200"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TargetScreenSz">
+ <xsd:attribute name="val" type="ST_TargetScreenSz" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Compat">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="useSingleBorderforContiguousCells" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="wpJustification" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="noTabHangInd" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="noLeading" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="spaceForUL" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="noColumnBalance" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="balanceSingleByteDoubleByteWidth" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="noExtraLineSpacing" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotLeaveBackslashAlone" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="ulTrailSpace" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotExpandShiftReturn" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="spacingInWholePoints" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="lineWrapLikeWord6" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="printBodyTextBeforeHeader" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="printColBlack" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="wpSpaceWidth" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="showBreaksInFrames" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="subFontBySize" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="suppressBottomSpacing" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="suppressTopSpacing" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="suppressSpacingAtTopOfPage" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="suppressTopSpacingWP" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="suppressSpBfAfterPgBrk" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="swapBordersFacingPages" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="convMailMergeEsc" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="truncateFontHeightsLikeWP6" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="mwSmallCaps" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="usePrinterMetrics" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotSuppressParagraphBorders" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="wrapTrailSpaces" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="footnoteLayoutLikeWW8" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="shapeLayoutLikeWW8" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="alignTablesRowByRow" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="forgetLastTabAlignment" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="adjustLineHeightInTable" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="autoSpaceLikeWord95" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="noSpaceRaiseLower" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotUseHTMLParagraphAutoSpacing" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="layoutRawTableWidth" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="layoutTableRowsApart" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="useWord97LineBreakRules" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotBreakWrappedTables" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotSnapToGridInCell" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="selectFldWithFirstOrLastChar" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="applyBreakingRules" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotWrapTextWithPunct" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotUseEastAsianBreakRules" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="useWord2002TableStyleRules" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="growAutofit" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="useFELayout" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="useNormalStyleForList" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotUseIndentAsNumberingTabStop" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="useAltKinsokuLineBreakRules" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="allowSpaceOfSameStyleInTable" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotSuppressIndentation" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotAutofitConstrainedTables" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="autofitToFirstFixedWidthCell" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="underlineTabInNumList" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="displayHangulFixedWidth" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="splitPgBreakAndParaMark" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotVertAlignCellWithSp" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotBreakConstrainedForcedTable" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotVertAlignInTxbx" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="useAnsiKerningPairs" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="cachedColBalance" type="CT_OnOff"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="compatSetting" type="CT_CompatSetting"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_CompatSetting">
+ <xsd:attribute name="name" type="s:ST_String"/>
+ <xsd:attribute name="uri" type="s:ST_String"/>
+ <xsd:attribute name="val" type="s:ST_String"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocVar">
+ <xsd:attribute name="name" type="s:ST_String" use="required"/>
+ <xsd:attribute name="val" type="s:ST_String" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocVars">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="docVar" type="CT_DocVar"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocRsids">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="rsidRoot" type="CT_LongHexNumber"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="rsid" type="CT_LongHexNumber"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_CharacterSpacing">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="doNotCompress"/>
+ <xsd:enumeration value="compressPunctuation"/>
+ <xsd:enumeration value="compressPunctuationAndJapaneseKana"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_CharacterSpacing">
+ <xsd:attribute name="val" type="ST_CharacterSpacing" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_SaveThroughXslt">
+ <xsd:attribute ref="r:id" use="optional"/>
+ <xsd:attribute name="solutionID" type="s:ST_String" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_RPrDefault">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="rPr" type="CT_RPr"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_PPrDefault">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="pPr" type="CT_PPrGeneral"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocDefaults">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="rPrDefault" type="CT_RPrDefault"/>
+ <xsd:element minOccurs="0" name="pPrDefault" type="CT_PPrDefault"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_WmlColorSchemeIndex">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="dark1"/>
+ <xsd:enumeration value="light1"/>
+ <xsd:enumeration value="dark2"/>
+ <xsd:enumeration value="light2"/>
+ <xsd:enumeration value="accent1"/>
+ <xsd:enumeration value="accent2"/>
+ <xsd:enumeration value="accent3"/>
+ <xsd:enumeration value="accent4"/>
+ <xsd:enumeration value="accent5"/>
+ <xsd:enumeration value="accent6"/>
+ <xsd:enumeration value="hyperlink"/>
+ <xsd:enumeration value="followedHyperlink"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_ColorSchemeMapping">
+ <xsd:attribute name="bg1" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="t1" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="bg2" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="t2" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="accent1" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="accent2" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="accent3" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="accent4" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="accent5" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="accent6" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="hyperlink" type="ST_WmlColorSchemeIndex"/>
+ <xsd:attribute name="followedHyperlink" type="ST_WmlColorSchemeIndex"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ReadingModeInkLockDown">
+ <xsd:attribute name="actualPg" type="s:ST_OnOff" use="required"/>
+ <xsd:attribute name="w" type="ST_PixelsMeasure" use="required"/>
+ <xsd:attribute name="h" type="ST_PixelsMeasure" use="required"/>
+ <xsd:attribute name="fontSz" type="ST_DecimalNumberOrPercent" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_WriteProtection">
+ <xsd:attribute name="recommended" type="s:ST_OnOff" use="optional"/>
+ <xsd:attributeGroup ref="AG_Password"/>
+ <xsd:attributeGroup ref="AG_TransitionalPassword"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Settings">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="writeProtection" type="CT_WriteProtection"/>
+ <xsd:element minOccurs="0" name="view" type="CT_View"/>
+ <xsd:element minOccurs="0" name="zoom" type="CT_Zoom"/>
+ <xsd:element minOccurs="0" name="removePersonalInformation" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="removeDateAndTime" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotDisplayPageBoundaries" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="displayBackgroundShape" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="printPostScriptOverText" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="printFractionalCharacterWidth" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="printFormsData" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="embedTrueTypeFonts" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="embedSystemFonts" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="saveSubsetFonts" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="saveFormsData" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="mirrorMargins" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="alignBordersAndEdges" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="bordersDoNotSurroundHeader" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="bordersDoNotSurroundFooter" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="gutterAtTop" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="hideSpellingErrors" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="hideGrammaticalErrors" type="CT_OnOff"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="activeWritingStyle" type="CT_WritingStyle"/>
+ <xsd:element minOccurs="0" name="proofState" type="CT_Proof"/>
+ <xsd:element minOccurs="0" name="formsDesign" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="attachedTemplate" type="CT_Rel"/>
+ <xsd:element minOccurs="0" name="linkStyles" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="stylePaneFormatFilter" type="CT_StylePaneFilter"/>
+ <xsd:element minOccurs="0" name="stylePaneSortMethod" type="CT_StyleSort"/>
+ <xsd:element minOccurs="0" name="documentType" type="CT_DocType"/>
+ <xsd:element minOccurs="0" name="mailMerge" type="CT_MailMerge"/>
+ <xsd:element minOccurs="0" name="revisionView" type="CT_TrackChangesView"/>
+ <xsd:element minOccurs="0" name="trackRevisions" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotTrackMoves" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotTrackFormatting" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="documentProtection" type="CT_DocProtect"/>
+ <xsd:element minOccurs="0" name="autoFormatOverride" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="styleLockTheme" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="styleLockQFSet" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="defaultTabStop" type="CT_TwipsMeasure"/>
+ <xsd:element minOccurs="0" name="autoHyphenation" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="consecutiveHyphenLimit" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="hyphenationZone" type="CT_TwipsMeasure"/>
+ <xsd:element minOccurs="0" name="doNotHyphenateCaps" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="showEnvelope" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="summaryLength" type="CT_DecimalNumberOrPrecent"/>
+ <xsd:element minOccurs="0" name="clickAndTypeStyle" type="CT_String"/>
+ <xsd:element minOccurs="0" name="defaultTableStyle" type="CT_String"/>
+ <xsd:element minOccurs="0" name="evenAndOddHeaders" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="bookFoldRevPrinting" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="bookFoldPrinting" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="bookFoldPrintingSheets" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="drawingGridHorizontalSpacing" type="CT_TwipsMeasure"/>
+ <xsd:element minOccurs="0" name="drawingGridVerticalSpacing" type="CT_TwipsMeasure"/>
+ <xsd:element minOccurs="0" name="displayHorizontalDrawingGridEvery" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="displayVerticalDrawingGridEvery" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="doNotUseMarginsForDrawingGridOrigin" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="drawingGridHorizontalOrigin" type="CT_TwipsMeasure"/>
+ <xsd:element minOccurs="0" name="drawingGridVerticalOrigin" type="CT_TwipsMeasure"/>
+ <xsd:element minOccurs="0" name="doNotShadeFormData" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="noPunctuationKerning" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="characterSpacingControl" type="CT_CharacterSpacing"/>
+ <xsd:element minOccurs="0" name="printTwoOnOne" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="strictFirstAndLastChars" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="noLineBreaksAfter" type="CT_Kinsoku"/>
+ <xsd:element minOccurs="0" name="noLineBreaksBefore" type="CT_Kinsoku"/>
+ <xsd:element minOccurs="0" name="savePreviewPicture" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotValidateAgainstSchema" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="saveInvalidXml" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="ignoreMixedContent" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="alwaysShowPlaceholderText" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotDemarcateInvalidXml" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="saveXmlDataOnly" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="useXSLTWhenSaving" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="saveThroughXslt" type="CT_SaveThroughXslt"/>
+ <xsd:element minOccurs="0" name="showXMLTags" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="alwaysMergeEmptyNamespace" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="updateFields" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="hdrShapeDefaults" type="CT_ShapeDefaults"/>
+ <xsd:element minOccurs="0" name="footnotePr" type="CT_FtnDocProps"/>
+ <xsd:element minOccurs="0" name="endnotePr" type="CT_EdnDocProps"/>
+ <xsd:element minOccurs="0" name="compat" type="CT_Compat"/>
+ <xsd:element minOccurs="0" name="docVars" type="CT_DocVars"/>
+ <xsd:element minOccurs="0" name="rsids" type="CT_DocRsids"/>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="m:mathPr"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="attachedSchema" type="CT_String"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="themeFontLang" type="CT_Language"/>
+ <xsd:element minOccurs="0" name="clrSchemeMapping" type="CT_ColorSchemeMapping"/>
+ <xsd:element minOccurs="0" name="doNotIncludeSubdocsInStats" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotAutoCompressPictures" type="CT_OnOff"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="forceUpgrade" type="CT_Empty"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="captions" type="CT_Captions"/>
+ <xsd:element minOccurs="0" name="readModeInkLockDown" type="CT_ReadingModeInkLockDown"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="smartTagType" type="CT_SmartTagType"/>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="sl:schemaLibrary"/>
+ <xsd:element minOccurs="0" name="shapeDefaults" type="CT_ShapeDefaults"/>
+ <xsd:element minOccurs="0" name="doNotEmbedSmartTags" type="CT_OnOff"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="decimalSymbol" type="CT_String"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="listSeparator" type="CT_String"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StyleSort">
+ <xsd:attribute name="val" type="ST_StyleSort" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_StylePaneFilter">
+ <xsd:attribute name="allStyles" type="s:ST_OnOff"/>
+ <xsd:attribute name="customStyles" type="s:ST_OnOff"/>
+ <xsd:attribute name="latentStyles" type="s:ST_OnOff"/>
+ <xsd:attribute name="stylesInUse" type="s:ST_OnOff"/>
+ <xsd:attribute name="headingStyles" type="s:ST_OnOff"/>
+ <xsd:attribute name="numberingStyles" type="s:ST_OnOff"/>
+ <xsd:attribute name="tableStyles" type="s:ST_OnOff"/>
+ <xsd:attribute name="directFormattingOnRuns" type="s:ST_OnOff"/>
+ <xsd:attribute name="directFormattingOnParagraphs" type="s:ST_OnOff"/>
+ <xsd:attribute name="directFormattingOnNumbering" type="s:ST_OnOff"/>
+ <xsd:attribute name="directFormattingOnTables" type="s:ST_OnOff"/>
+ <xsd:attribute name="clearFormatting" type="s:ST_OnOff"/>
+ <xsd:attribute name="top3HeadingStyles" type="s:ST_OnOff"/>
+ <xsd:attribute name="visibleStyles" type="s:ST_OnOff"/>
+ <xsd:attribute name="alternateStyleNames" type="s:ST_OnOff"/>
+ <xsd:attribute name="val" type="ST_ShortHexNumber"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_StyleSort">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="name"/>
+ <xsd:enumeration value="priority"/>
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="font"/>
+ <xsd:enumeration value="basedOn"/>
+ <xsd:enumeration value="type"/>
+ <xsd:enumeration value="0000"/>
+ <xsd:enumeration value="0001"/>
+ <xsd:enumeration value="0002"/>
+ <xsd:enumeration value="0003"/>
+ <xsd:enumeration value="0004"/>
+ <xsd:enumeration value="0005"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_WebSettings">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="frameset" type="CT_Frameset"/>
+ <xsd:element minOccurs="0" name="divs" type="CT_Divs"/>
+ <xsd:element minOccurs="0" name="encoding" type="CT_String"/>
+ <xsd:element minOccurs="0" name="optimizeForBrowser" type="CT_OptimizeForBrowser"/>
+ <xsd:element minOccurs="0" name="relyOnVML" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="allowPNG" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotRelyOnCSS" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotSaveAsSingleFile" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotOrganizeInFolder" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="doNotUseLongFileNames" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="pixelsPerInch" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="targetScreenSz" type="CT_TargetScreenSz"/>
+ <xsd:element minOccurs="0" name="saveSmartTagsAsXml" type="CT_OnOff"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FrameScrollbar">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="on"/>
+ <xsd:enumeration value="off"/>
+ <xsd:enumeration value="auto"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FrameScrollbar">
+ <xsd:attribute name="val" type="ST_FrameScrollbar" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_OptimizeForBrowser">
+ <xsd:complexContent>
+ <xsd:extension base="CT_OnOff">
+ <xsd:attribute name="target" type="s:ST_String" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Frame">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="sz" type="CT_String"/>
+ <xsd:element minOccurs="0" name="name" type="CT_String"/>
+ <xsd:element minOccurs="0" name="title" type="CT_String"/>
+ <xsd:element minOccurs="0" name="longDesc" type="CT_Rel"/>
+ <xsd:element minOccurs="0" name="sourceFileName" type="CT_Rel"/>
+ <xsd:element minOccurs="0" name="marW" type="CT_PixelsMeasure"/>
+ <xsd:element minOccurs="0" name="marH" type="CT_PixelsMeasure"/>
+ <xsd:element minOccurs="0" name="scrollbar" type="CT_FrameScrollbar"/>
+ <xsd:element minOccurs="0" name="noResizeAllowed" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="linkedToFile" type="CT_OnOff"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FrameLayout">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="rows"/>
+ <xsd:enumeration value="cols"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FrameLayout">
+ <xsd:attribute name="val" type="ST_FrameLayout" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FramesetSplitbar">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="w" type="CT_TwipsMeasure"/>
+ <xsd:element minOccurs="0" name="color" type="CT_Color"/>
+ <xsd:element minOccurs="0" name="noBorder" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="flatBorders" type="CT_OnOff"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Frameset">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="sz" type="CT_String"/>
+ <xsd:element minOccurs="0" name="framesetSplitbar" type="CT_FramesetSplitbar"/>
+ <xsd:element minOccurs="0" name="frameLayout" type="CT_FrameLayout"/>
+ <xsd:element minOccurs="0" name="title" type="CT_String"/>
+ <xsd:choice maxOccurs="unbounded" minOccurs="0">
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="frameset" type="CT_Frameset"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="frame" type="CT_Frame"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NumPicBullet">
+ <xsd:choice>
+ <xsd:element name="pict" type="CT_Picture"/>
+ <xsd:element name="drawing" type="CT_Drawing"/>
+ </xsd:choice>
+ <xsd:attribute name="numPicBulletId" type="ST_DecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_LevelSuffix">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="tab"/>
+ <xsd:enumeration value="space"/>
+ <xsd:enumeration value="nothing"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_LevelSuffix">
+ <xsd:attribute name="val" type="ST_LevelSuffix" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LevelText">
+ <xsd:attribute name="val" type="s:ST_String" use="optional"/>
+ <xsd:attribute name="null" type="s:ST_OnOff" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LvlLegacy">
+ <xsd:attribute name="legacy" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="legacySpace" type="s:ST_TwipsMeasure" use="optional"/>
+ <xsd:attribute name="legacyIndent" type="ST_SignedTwipsMeasure" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Lvl">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="start" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="numFmt" type="CT_NumFmt"/>
+ <xsd:element minOccurs="0" name="lvlRestart" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="pStyle" type="CT_String"/>
+ <xsd:element minOccurs="0" name="isLgl" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="suff" type="CT_LevelSuffix"/>
+ <xsd:element minOccurs="0" name="lvlText" type="CT_LevelText"/>
+ <xsd:element minOccurs="0" name="lvlPicBulletId" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="legacy" type="CT_LvlLegacy"/>
+ <xsd:element minOccurs="0" name="lvlJc" type="CT_Jc"/>
+ <xsd:element minOccurs="0" name="pPr" type="CT_PPrGeneral"/>
+ <xsd:element minOccurs="0" name="rPr" type="CT_RPr"/>
+ </xsd:sequence>
+ <xsd:attribute name="ilvl" type="ST_DecimalNumber" use="required"/>
+ <xsd:attribute name="tplc" type="ST_LongHexNumber" use="optional"/>
+ <xsd:attribute name="tentative" type="s:ST_OnOff" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_MultiLevelType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="singleLevel"/>
+ <xsd:enumeration value="multilevel"/>
+ <xsd:enumeration value="hybridMultilevel"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_MultiLevelType">
+ <xsd:attribute name="val" type="ST_MultiLevelType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AbstractNum">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="nsid" type="CT_LongHexNumber"/>
+ <xsd:element minOccurs="0" name="multiLevelType" type="CT_MultiLevelType"/>
+ <xsd:element minOccurs="0" name="tmpl" type="CT_LongHexNumber"/>
+ <xsd:element minOccurs="0" name="name" type="CT_String"/>
+ <xsd:element minOccurs="0" name="styleLink" type="CT_String"/>
+ <xsd:element minOccurs="0" name="numStyleLink" type="CT_String"/>
+ <xsd:element maxOccurs="9" minOccurs="0" name="lvl" type="CT_Lvl"/>
+ </xsd:sequence>
+ <xsd:attribute name="abstractNumId" type="ST_DecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_NumLvl">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="startOverride" type="CT_DecimalNumber"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="lvl" type="CT_Lvl"/>
+ </xsd:sequence>
+ <xsd:attribute name="ilvl" type="ST_DecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Num">
+ <xsd:sequence>
+ <xsd:element minOccurs="1" name="abstractNumId" type="CT_DecimalNumber"/>
+ <xsd:element maxOccurs="9" minOccurs="0" name="lvlOverride" type="CT_NumLvl"/>
+ </xsd:sequence>
+ <xsd:attribute name="numId" type="ST_DecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Numbering">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="numPicBullet" type="CT_NumPicBullet"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="abstractNum" type="CT_AbstractNum"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="num" type="CT_Num"/>
+ <xsd:element minOccurs="0" name="numIdMacAtCleanup" type="CT_DecimalNumber"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_TblStyleOverrideType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="wholeTable"/>
+ <xsd:enumeration value="firstRow"/>
+ <xsd:enumeration value="lastRow"/>
+ <xsd:enumeration value="firstCol"/>
+ <xsd:enumeration value="lastCol"/>
+ <xsd:enumeration value="band1Vert"/>
+ <xsd:enumeration value="band2Vert"/>
+ <xsd:enumeration value="band1Horz"/>
+ <xsd:enumeration value="band2Horz"/>
+ <xsd:enumeration value="neCell"/>
+ <xsd:enumeration value="nwCell"/>
+ <xsd:enumeration value="seCell"/>
+ <xsd:enumeration value="swCell"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_TblStylePr">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="pPr" type="CT_PPrGeneral"/>
+ <xsd:element minOccurs="0" name="rPr" type="CT_RPr"/>
+ <xsd:element minOccurs="0" name="tblPr" type="CT_TblPrBase"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="trPr" type="CT_TrPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcPr" type="CT_TcPr"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="ST_TblStyleOverrideType" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_StyleType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="paragraph"/>
+ <xsd:enumeration value="character"/>
+ <xsd:enumeration value="table"/>
+ <xsd:enumeration value="numbering"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Style">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="name" type="CT_String"/>
+ <xsd:element minOccurs="0" name="aliases" type="CT_String"/>
+ <xsd:element minOccurs="0" name="basedOn" type="CT_String"/>
+ <xsd:element minOccurs="0" name="next" type="CT_String"/>
+ <xsd:element minOccurs="0" name="link" type="CT_String"/>
+ <xsd:element minOccurs="0" name="autoRedefine" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="hidden" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="uiPriority" type="CT_DecimalNumber"/>
+ <xsd:element minOccurs="0" name="semiHidden" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="unhideWhenUsed" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="qFormat" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="locked" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="personal" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="personalCompose" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="personalReply" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="rsid" type="CT_LongHexNumber"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="pPr" type="CT_PPrGeneral"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="rPr" type="CT_RPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tblPr" type="CT_TblPrBase"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="trPr" type="CT_TrPr"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="tcPr" type="CT_TcPr"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="tblStylePr" type="CT_TblStylePr"/>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="ST_StyleType" use="optional"/>
+ <xsd:attribute name="styleId" type="s:ST_String" use="optional"/>
+ <xsd:attribute name="default" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="customStyle" type="s:ST_OnOff" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LsdException">
+ <xsd:attribute name="name" type="s:ST_String" use="required"/>
+ <xsd:attribute name="locked" type="s:ST_OnOff"/>
+ <xsd:attribute name="uiPriority" type="ST_DecimalNumber"/>
+ <xsd:attribute name="semiHidden" type="s:ST_OnOff"/>
+ <xsd:attribute name="unhideWhenUsed" type="s:ST_OnOff"/>
+ <xsd:attribute name="qFormat" type="s:ST_OnOff"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_LatentStyles">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="lsdException" type="CT_LsdException"/>
+ </xsd:sequence>
+ <xsd:attribute name="defLockedState" type="s:ST_OnOff"/>
+ <xsd:attribute name="defUIPriority" type="ST_DecimalNumber"/>
+ <xsd:attribute name="defSemiHidden" type="s:ST_OnOff"/>
+ <xsd:attribute name="defUnhideWhenUsed" type="s:ST_OnOff"/>
+ <xsd:attribute name="defQFormat" type="s:ST_OnOff"/>
+ <xsd:attribute name="count" type="ST_DecimalNumber"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Styles">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="docDefaults" type="CT_DocDefaults"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="latentStyles" type="CT_LatentStyles"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="style" type="CT_Style"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Panose">
+ <xsd:attribute name="val" type="s:ST_Panose" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_FontFamily">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="decorative"/>
+ <xsd:enumeration value="modern"/>
+ <xsd:enumeration value="roman"/>
+ <xsd:enumeration value="script"/>
+ <xsd:enumeration value="swiss"/>
+ <xsd:enumeration value="auto"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_FontFamily">
+ <xsd:attribute name="val" type="ST_FontFamily" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_Pitch">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="fixed"/>
+ <xsd:enumeration value="variable"/>
+ <xsd:enumeration value="default"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Pitch">
+ <xsd:attribute name="val" type="ST_Pitch" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FontSig">
+ <xsd:attribute name="usb0" type="ST_LongHexNumber" use="required"/>
+ <xsd:attribute name="usb1" type="ST_LongHexNumber" use="required"/>
+ <xsd:attribute name="usb2" type="ST_LongHexNumber" use="required"/>
+ <xsd:attribute name="usb3" type="ST_LongHexNumber" use="required"/>
+ <xsd:attribute name="csb0" type="ST_LongHexNumber" use="required"/>
+ <xsd:attribute name="csb1" type="ST_LongHexNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FontRel">
+ <xsd:complexContent>
+ <xsd:extension base="CT_Rel">
+ <xsd:attribute name="fontKey" type="s:ST_Guid"/>
+ <xsd:attribute name="subsetted" type="s:ST_OnOff"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Font">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="altName" type="CT_String"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="panose1" type="CT_Panose"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="charset" type="CT_Charset"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="family" type="CT_FontFamily"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="notTrueType" type="CT_OnOff"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="pitch" type="CT_Pitch"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sig" type="CT_FontSig"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="embedRegular" type="CT_FontRel"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="embedBold" type="CT_FontRel"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="embedItalic" type="CT_FontRel"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="embedBoldItalic" type="CT_FontRel"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="s:ST_String" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_FontsList">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="font" type="CT_Font"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DivBdr">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="top" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="left" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="bottom" type="CT_Border"/>
+ <xsd:element minOccurs="0" name="right" type="CT_Border"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Div">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="blockQuote" type="CT_OnOff"/>
+ <xsd:element minOccurs="0" name="bodyDiv" type="CT_OnOff"/>
+ <xsd:element name="marLeft" type="CT_SignedTwipsMeasure"/>
+ <xsd:element name="marRight" type="CT_SignedTwipsMeasure"/>
+ <xsd:element name="marTop" type="CT_SignedTwipsMeasure"/>
+ <xsd:element name="marBottom" type="CT_SignedTwipsMeasure"/>
+ <xsd:element minOccurs="0" name="divBdr" type="CT_DivBdr"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="divsChild" type="CT_Divs"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Divs">
+ <xsd:sequence maxOccurs="unbounded" minOccurs="1">
+ <xsd:element name="div" type="CT_Div"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_TxbxContent">
+ <xsd:group maxOccurs="unbounded" minOccurs="1" ref="EG_BlockLevelElts"/>
+ </xsd:complexType>
+ <xsd:element name="txbxContent" type="CT_TxbxContent"/>
+ <xsd:group name="EG_MathContent">
+ <xsd:choice>
+ <xsd:element ref="m:oMathPara"/>
+ <xsd:element ref="m:oMath"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_BlockLevelChunkElts">
+ <xsd:choice>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_ContentBlockContent"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_BlockLevelElts">
+ <xsd:choice>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_BlockLevelChunkElts"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="altChunk" type="CT_AltChunk"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="EG_RunLevelElts">
+ <xsd:choice>
+ <xsd:element minOccurs="0" name="proofErr" type="CT_ProofErr"/>
+ <xsd:element minOccurs="0" name="permStart" type="CT_PermStart"/>
+ <xsd:element minOccurs="0" name="permEnd" type="CT_Perm"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_RangeMarkupElements"/>
+ <xsd:element minOccurs="0" name="ins" type="CT_RunTrackChange"/>
+ <xsd:element minOccurs="0" name="del" type="CT_RunTrackChange"/>
+ <xsd:element name="moveFrom" type="CT_RunTrackChange"/>
+ <xsd:element name="moveTo" type="CT_RunTrackChange"/>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_MathContent"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:complexType name="CT_Body">
+ <xsd:sequence>
+ <xsd:group maxOccurs="unbounded" minOccurs="0" ref="EG_BlockLevelElts"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="sectPr" type="CT_SectPr"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_ShapeDefaults">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="urn:schemas-microsoft-com:office:office" processContents="lax"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Comments">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="comment" type="CT_Comment"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="comments" type="CT_Comments"/>
+ <xsd:complexType name="CT_Footnotes">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element minOccurs="0" name="footnote" type="CT_FtnEdn"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="footnotes" type="CT_Footnotes"/>
+ <xsd:complexType name="CT_Endnotes">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element minOccurs="0" name="endnote" type="CT_FtnEdn"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="endnotes" type="CT_Endnotes"/>
+ <xsd:element name="hdr" type="CT_HdrFtr"/>
+ <xsd:element name="ftr" type="CT_HdrFtr"/>
+ <xsd:complexType name="CT_SmartTagType">
+ <xsd:attribute name="namespaceuri" type="s:ST_String"/>
+ <xsd:attribute name="name" type="s:ST_String"/>
+ <xsd:attribute name="url" type="s:ST_String"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_ThemeColor">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="dark1"/>
+ <xsd:enumeration value="light1"/>
+ <xsd:enumeration value="dark2"/>
+ <xsd:enumeration value="light2"/>
+ <xsd:enumeration value="accent1"/>
+ <xsd:enumeration value="accent2"/>
+ <xsd:enumeration value="accent3"/>
+ <xsd:enumeration value="accent4"/>
+ <xsd:enumeration value="accent5"/>
+ <xsd:enumeration value="accent6"/>
+ <xsd:enumeration value="hyperlink"/>
+ <xsd:enumeration value="followedHyperlink"/>
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="background1"/>
+ <xsd:enumeration value="text1"/>
+ <xsd:enumeration value="background2"/>
+ <xsd:enumeration value="text2"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="ST_DocPartBehavior">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="content"/>
+ <xsd:enumeration value="p"/>
+ <xsd:enumeration value="pg"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DocPartBehavior">
+ <xsd:attribute name="val" type="ST_DocPartBehavior" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocPartBehaviors">
+ <xsd:choice>
+ <xsd:element maxOccurs="unbounded" name="behavior" type="CT_DocPartBehavior"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DocPartType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="normal"/>
+ <xsd:enumeration value="autoExp"/>
+ <xsd:enumeration value="toolbar"/>
+ <xsd:enumeration value="speller"/>
+ <xsd:enumeration value="formFld"/>
+ <xsd:enumeration value="bbPlcHdr"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DocPartType">
+ <xsd:attribute name="val" type="ST_DocPartType" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocPartTypes">
+ <xsd:choice>
+ <xsd:element maxOccurs="unbounded" name="type" type="CT_DocPartType"/>
+ </xsd:choice>
+ <xsd:attribute name="all" type="s:ST_OnOff" use="optional"/>
+ </xsd:complexType>
+ <xsd:simpleType name="ST_DocPartGallery">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="placeholder"/>
+ <xsd:enumeration value="any"/>
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="docParts"/>
+ <xsd:enumeration value="coverPg"/>
+ <xsd:enumeration value="eq"/>
+ <xsd:enumeration value="ftrs"/>
+ <xsd:enumeration value="hdrs"/>
+ <xsd:enumeration value="pgNum"/>
+ <xsd:enumeration value="tbls"/>
+ <xsd:enumeration value="watermarks"/>
+ <xsd:enumeration value="autoTxt"/>
+ <xsd:enumeration value="txtBox"/>
+ <xsd:enumeration value="pgNumT"/>
+ <xsd:enumeration value="pgNumB"/>
+ <xsd:enumeration value="pgNumMargins"/>
+ <xsd:enumeration value="tblOfContents"/>
+ <xsd:enumeration value="bib"/>
+ <xsd:enumeration value="custQuickParts"/>
+ <xsd:enumeration value="custCoverPg"/>
+ <xsd:enumeration value="custEq"/>
+ <xsd:enumeration value="custFtrs"/>
+ <xsd:enumeration value="custHdrs"/>
+ <xsd:enumeration value="custPgNum"/>
+ <xsd:enumeration value="custTbls"/>
+ <xsd:enumeration value="custWatermarks"/>
+ <xsd:enumeration value="custAutoTxt"/>
+ <xsd:enumeration value="custTxtBox"/>
+ <xsd:enumeration value="custPgNumT"/>
+ <xsd:enumeration value="custPgNumB"/>
+ <xsd:enumeration value="custPgNumMargins"/>
+ <xsd:enumeration value="custTblOfContents"/>
+ <xsd:enumeration value="custBib"/>
+ <xsd:enumeration value="custom1"/>
+ <xsd:enumeration value="custom2"/>
+ <xsd:enumeration value="custom3"/>
+ <xsd:enumeration value="custom4"/>
+ <xsd:enumeration value="custom5"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_DocPartGallery">
+ <xsd:attribute name="val" type="ST_DocPartGallery" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocPartCategory">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="name" type="CT_String"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="gallery" type="CT_DocPartGallery"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocPartName">
+ <xsd:attribute name="val" type="s:ST_String" use="required"/>
+ <xsd:attribute name="decorated" type="s:ST_OnOff" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocPartPr">
+ <xsd:all>
+ <xsd:element minOccurs="1" name="name" type="CT_DocPartName"/>
+ <xsd:element minOccurs="0" name="style" type="CT_String"/>
+ <xsd:element minOccurs="0" name="category" type="CT_DocPartCategory"/>
+ <xsd:element minOccurs="0" name="types" type="CT_DocPartTypes"/>
+ <xsd:element minOccurs="0" name="behaviors" type="CT_DocPartBehaviors"/>
+ <xsd:element minOccurs="0" name="description" type="CT_String"/>
+ <xsd:element minOccurs="0" name="guid" type="CT_Guid"/>
+ </xsd:all>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocPart">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="docPartPr" type="CT_DocPartPr"/>
+ <xsd:element minOccurs="0" name="docPartBody" type="CT_Body"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocParts">
+ <xsd:choice>
+ <xsd:element maxOccurs="unbounded" minOccurs="1" name="docPart" type="CT_DocPart"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:element name="settings" type="CT_Settings"/>
+ <xsd:element name="webSettings" type="CT_WebSettings"/>
+ <xsd:element name="fonts" type="CT_FontsList"/>
+ <xsd:element name="numbering" type="CT_Numbering"/>
+ <xsd:element name="styles" type="CT_Styles"/>
+ <xsd:simpleType name="ST_CaptionPos">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="above"/>
+ <xsd:enumeration value="below"/>
+ <xsd:enumeration value="left"/>
+ <xsd:enumeration value="right"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CT_Caption">
+ <xsd:attribute name="name" type="s:ST_String" use="required"/>
+ <xsd:attribute name="pos" type="ST_CaptionPos" use="optional"/>
+ <xsd:attribute name="chapNum" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="heading" type="ST_DecimalNumber" use="optional"/>
+ <xsd:attribute name="noLabel" type="s:ST_OnOff" use="optional"/>
+ <xsd:attribute name="numFmt" type="ST_NumberFormat" use="optional"/>
+ <xsd:attribute name="sep" type="ST_ChapterSep" use="optional"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AutoCaption">
+ <xsd:attribute name="name" type="s:ST_String" use="required"/>
+ <xsd:attribute name="caption" type="s:ST_String" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="CT_AutoCaptions">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="1" name="autoCaption" type="CT_AutoCaption"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Captions">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="1" name="caption" type="CT_Caption"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="autoCaptions" type="CT_AutoCaptions"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_DocumentBase">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="background" type="CT_Background"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Document">
+ <xsd:complexContent>
+ <xsd:extension base="CT_DocumentBase">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="body" type="CT_Body"/>
+ </xsd:sequence>
+ <xsd:attribute name="conformance" type="s:ST_ConformanceClass"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CT_GlossaryDocument">
+ <xsd:complexContent>
+ <xsd:extension base="CT_DocumentBase">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="docParts" type="CT_DocParts"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:element name="document" type="CT_Document"/>
+ <xsd:element name="glossaryDocument" type="CT_GlossaryDocument"/>
+</xsd:schema>
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/xml.xsd b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/xml.xsd
new file mode 100644
index 0000000..968d4bb
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/resources/schemas/xml.xsd
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns ="http://www.w3.org/1999/xhtml"
+ xml:lang="en">
+
+ <xs:annotation>
+ <xs:documentation>
+ <div>
+ <h1>About the XML namespace</h1>
+
+ <div class="bodytext">
+ <p>
+ This schema document describes the XML namespace, in a form
+ suitable for import by other schema documents.
+ </p>
+ <p>
+ See <a href="http://www.w3.org/XML/1998/namespace.html">
+ http://www.w3.org/XML/1998/namespace.html</a> and
+ <a href="http://www.w3.org/TR/REC-xml">
+ http://www.w3.org/TR/REC-xml</a> for information
+ about this namespace.
+ </p>
+ <p>
+ Note that local names in this namespace are intended to be
+ defined only by the World Wide Web Consortium or its subgroups.
+ The names currently defined in this namespace are listed below.
+ They should not be used with conflicting semantics by any Working
+ Group, specification, or document instance.
+ </p>
+ <p>
+ See further below in this document for more information about <a
+ href="#usage">how to refer to this schema document from your own
+ XSD schema documents</a> and about <a href="#nsversioning">the
+ namespace-versioning policy governing this schema document</a>.
+ </p>
+ </div>
+ </div>
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="lang">
+ <xs:annotation>
+ <xs:documentation>
+ <div>
+
+ <h3>lang (as an attribute name)</h3>
+ <p>
+ denotes an attribute whose value
+ is a language code for the natural language of the content of
+ any element; its value is inherited. This name is reserved
+ by virtue of its definition in the XML specification.</p>
+
+ </div>
+ <div>
+ <h4>Notes</h4>
+ <p>
+ Attempting to install the relevant ISO 2- and 3-letter
+ codes as the enumerated possible values is probably never
+ going to be a realistic possibility.
+ </p>
+ <p>
+ See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
+ http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
+ and the IANA language subtag registry at
+ <a href="http://www.iana.org/assignments/language-subtag-registry">
+ http://www.iana.org/assignments/language-subtag-registry</a>
+ for further information.
+ </p>
+ <p>
+ The union allows for the 'un-declaration' of xml:lang with
+ the empty string.
+ </p>
+ </div>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:union memberTypes="xs:language">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value=""/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="space">
+ <xs:annotation>
+ <xs:documentation>
+ <div>
+
+ <h3>space (as an attribute name)</h3>
+ <p>
+ denotes an attribute whose
+ value is a keyword indicating what whitespace processing
+ discipline is intended for the content of the element; its
+ value is inherited. This name is reserved by virtue of its
+ definition in the XML specification.</p>
+
+ </div>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:NCName">
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="preserve"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
+ <xs:documentation>
+ <div>
+
+ <h3>base (as an attribute name)</h3>
+ <p>
+ denotes an attribute whose value
+ provides a URI to be used as the base for interpreting any
+ relative URIs in the scope of the element on which it
+ appears; its value is inherited. This name is reserved
+ by virtue of its definition in the XML Base specification.</p>
+
+ <p>
+ See <a
+ href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
+ for information about this attribute.
+ </p>
+ </div>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+
+ <xs:attribute name="id" type="xs:ID">
+ <xs:annotation>
+ <xs:documentation>
+ <div>
+
+ <h3>id (as an attribute name)</h3>
+ <p>
+ denotes an attribute whose value
+ should be interpreted as if declared to be of type ID.
+ This name is reserved by virtue of its definition in the
+ xml:id specification.</p>
+
+ <p>
+ See <a
+ href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
+ for information about this attribute.
+ </p>
+ </div>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+
+ <xs:attributeGroup name="specialAttrs">
+ <xs:attribute ref="xml:base"/>
+ <xs:attribute ref="xml:lang"/>
+ <xs:attribute ref="xml:space"/>
+ <xs:attribute ref="xml:id"/>
+ </xs:attributeGroup>
+
+ <xs:annotation>
+ <xs:documentation>
+ <div>
+
+ <h3>Father (in any context at all)</h3>
+
+ <div class="bodytext">
+ <p>
+ denotes Jon Bosak, the chair of
+ the original XML Working Group. This name is reserved by
+ the following decision of the W3C XML Plenary and
+ XML Coordination groups:
+ </p>
+ <blockquote>
+ <p>
+ In appreciation for his vision, leadership and
+ dedication the W3C XML Plenary on this 10th day of
+ February, 2000, reserves for Jon Bosak in perpetuity
+ the XML name "xml:Father".
+ </p>
+ </blockquote>
+ </div>
+ </div>
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation>
+ <div xml:id="usage" id="usage">
+ <h2><a name="usage">About this schema document</a></h2>
+
+ <div class="bodytext">
+ <p>
+ This schema defines attributes and an attribute group suitable
+ for use by schemas wishing to allow <code>xml:base</code>,
+ <code>xml:lang</code>, <code>xml:space</code> or
+ <code>xml:id</code> attributes on elements they define.
+ </p>
+ <p>
+ To enable this, such a schema must import this schema for
+ the XML namespace, e.g. as follows:
+ </p>
+ <pre>
+ <schema . . .>
+ . . .
+ <import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+ </pre>
+ <p>
+ or
+ </p>
+ <pre>
+ <import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+ </pre>
+ <p>
+ Subsequently, qualified reference to any of the attributes or the
+ group defined below will have the desired effect, e.g.
+ </p>
+ <pre>
+ <type . . .>
+ . . .
+ <attributeGroup ref="xml:specialAttrs"/>
+ </pre>
+ <p>
+ will define a type which will schema-validate an instance element
+ with any of those attributes.
+ </p>
+ </div>
+ </div>
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+ <xs:documentation>
+ <div id="nsversioning" xml:id="nsversioning">
+ <h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
+ <div class="bodytext">
+ <p>
+ In keeping with the XML Schema WG's standard versioning
+ policy, this schema document will persist at
+ <a href="http://www.w3.org/2009/01/xml.xsd">
+ http://www.w3.org/2009/01/xml.xsd</a>.
+ </p>
+ <p>
+ At the date of issue it can also be found at
+ <a href="http://www.w3.org/2001/xml.xsd">
+ http://www.w3.org/2001/xml.xsd</a>.
+ </p>
+ <p>
+ The schema document at that URI may however change in the future,
+ in order to remain compatible with the latest version of XML
+ Schema itself, or with the XML namespace itself. In other words,
+ if the XML Schema or XML namespaces change, the version of this
+ document at <a href="http://www.w3.org/2001/xml.xsd">
+ http://www.w3.org/2001/xml.xsd
+ </a>
+ will change accordingly; the version at
+ <a href="http://www.w3.org/2009/01/xml.xsd">
+ http://www.w3.org/2009/01/xml.xsd
+ </a>
+ will not change.
+ </p>
+ <p>
+ Previous dated (and unchanging) versions of this schema
+ document are at:
+ </p>
+ <ul>
+ <li><a href="http://www.w3.org/2009/01/xml.xsd">
+ http://www.w3.org/2009/01/xml.xsd</a></li>
+ <li><a href="http://www.w3.org/2007/08/xml.xsd">
+ http://www.w3.org/2007/08/xml.xsd</a></li>
+ <li><a href="http://www.w3.org/2004/10/xml.xsd">
+ http://www.w3.org/2004/10/xml.xsd</a></li>
+ <li><a href="http://www.w3.org/2001/03/xml.xsd">
+ http://www.w3.org/2001/03/xml.xsd</a></li>
+ </ul>
+ </div>
+ </div>
+ </xs:documentation>
+ </xs:annotation>
+</xs:schema>
+
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeTestInputTemplate.java b/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeTestInputTemplate.java
new file mode 100644
index 0000000..46c916c
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeTestInputTemplate.java
@@ -0,0 +1,263 @@
+package org.eclipse.gendoc.services.openoffice.test;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.HashMap;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.xpath.XPathExpressionException;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.URIUtil;
+import org.eclipse.gendoc.document.parser.documents.Unzipper;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+import org.eclipse.gendoc.document.parser.documents.Zipper;
+import org.eclipse.gendoc.document.parser.documents.openoffice.OpenOfficeXPathUtils;
+import org.w3c.dom.Attr;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+import org.xml.sax.SAXException;
+
+public class OpenOfficeTestInputTemplate {
+ public OpenOfficeTestInputTemplate(String pluginId, URL baseTemplate, OpenOfficeXPathUtils xpathUtils) throws IOException, URISyntaxException {
+ this.xpathUtils = xpathUtils;
+ this.baseTemplate = baseTemplate;
+ tmpLocation = URIUtil.toFile(URIUtil.toURI(FileLocator.resolve(
+ new URL("platform:/meta/"+pluginId+"/"+
+ "test/unzipped/"+baseTemplate.getFile()))));
+ tmpLocation.mkdirs();
+ unzipper = new Unzipper(baseTemplate,tmpLocation.getAbsolutePath());
+ unzipper.unzip();
+ parsers = new HashMap<String, XMLParser>();
+ }
+
+ public OpenOfficeXPathUtils getXpathUtils() {
+ return xpathUtils;
+ }
+
+ public URL getBaseTemplate() {
+ return baseTemplate;
+ }
+
+ public String generate(File output) throws TransformerException, IOException {
+ transformer = TransformerFactory.newInstance().newTransformer();
+ transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT,"no");
+ transformer.setOutputProperty(javax.xml.transform.OutputKeys.OMIT_XML_DECLARATION,"no");
+
+ for (XMLParser p : parsers.values()) {
+ writeFile(p);
+ }
+ Zipper zipper = new Zipper(tmpLocation);
+ zipper.zip(output.getAbsolutePath());
+ deleteFolder(tmpLocation);
+ return output.getAbsolutePath();
+ }
+
+ public void replaceFile(String ofFile, File inputFile) throws IOException {
+ replaceFile(ofFile, new FileInputStream(inputFile));
+ }
+
+ public void replaceFile(String ofFile, URL inputUrl) throws IOException {
+ replaceFile(ofFile, inputUrl.openStream());
+ }
+
+ public void replaceFile(String ofFile, InputStream inputStream) throws IOException {
+ writeFile(ofFile, inputStream);
+ }
+
+ public void replaceFile(String ofFile, StringBuffer buf) throws IOException {
+ XMLParser parser = getParser(ofFile);
+ if (parser != null) {
+ parsers.remove(ofFile);
+ }
+ writeFile(ofFile, new ByteArrayInputStream(buf.toString().getBytes()));
+ }
+
+ public void appendXmlNode(String ofFile, String xpath, CharSequence seq) throws
+ IOException, ParserConfigurationException, SAXException, XPathExpressionException {
+
+ XMLParser parser = getParser(ofFile);
+ if (parser == null) {
+ throw new IllegalArgumentException("File '"+ofFile+"' not found");
+ }
+
+ Node parentNode = xpathUtils.evaluateNode(parser.getDocument(), xpath);
+ appendNodeBeforeNode(parser, parentNode, null, xpathUtils.parserXmlFragment(seq.toString()));
+ }
+
+
+ public void appendXmlNodeBefore(String ofFile, String xpath, CharSequence seq) throws
+ IOException, ParserConfigurationException, SAXException, XPathExpressionException {
+
+ XMLParser parser = getParser(ofFile);
+ if (parser == null) {
+ throw new IllegalArgumentException("File '"+ofFile+"' not found");
+ }
+
+ Node refNode = xpathUtils.evaluateNode(parser.getDocument(), xpath);
+ appendNodeBeforeNode(parser, refNode.getParentNode(), refNode, xpathUtils.parserXmlFragment(seq.toString()));
+ }
+
+ public void replaceXmlNode(String ofFile, String xpath, CharSequence seq) throws
+ IOException, ParserConfigurationException, SAXException, XPathExpressionException {
+ XMLParser parser = getParser(ofFile);
+ if (parser == null) {
+ throw new IllegalArgumentException("File '"+ofFile+"' not found");
+ }
+
+ Node currentNode = xpathUtils.evaluateNode(parser.getDocument(), xpath);
+ if (currentNode instanceof Attr) {
+ Attr newAttr = (Attr)currentNode.getOwnerDocument().createAttribute(currentNode.getNodeName());
+ newAttr.setValue(seq.toString());
+ replaceNode(parser, currentNode, newAttr);
+ } else if (currentNode instanceof Text) {
+ replaceNode(parser, currentNode, currentNode.getOwnerDocument().createTextNode(seq.toString()));
+ } else {
+ replaceNode(parser, currentNode, xpathUtils.parserXmlFragment(seq.toString()));
+ }
+ }
+
+ public void setXmlAttribute(String ofFile, String xpath, String attr, CharSequence val) throws
+ IOException, ParserConfigurationException, SAXException, XPathExpressionException {
+ XMLParser parser = getParser(ofFile);
+ if (parser == null) {
+ throw new IllegalArgumentException("File '"+ofFile+"' not found");
+ }
+
+ Element currentNode = (Element)xpathUtils.evaluateNode(parser.getDocument(), xpath);
+ if (attr.contains(":")) {
+ String[] parts = attr.split("\\:");
+ String uri = xpathUtils.getNamespaceContext().getNamespaceURI(parts[0]);
+ currentNode.setAttributeNS(uri, parts[1], val.toString());
+ } else {
+ currentNode.setAttribute(attr, val.toString());
+ }
+ }
+
+ private void replaceNode(XMLParser parser, Node nodeToReplace, Node n) throws IOException {
+ if (nodeToReplace instanceof Attr) {
+ Attr curAttr = (Attr)nodeToReplace;
+ Element owner = curAttr.getOwnerElement();
+ owner.removeAttributeNode(curAttr);
+ owner.setAttributeNode((Attr)n);
+ } else {
+ Node pn = nodeToReplace.getParentNode();
+ if (pn == null) {
+ if (nodeToReplace.getOwnerDocument().getDocumentElement() == nodeToReplace) {
+ nodeToReplace.getOwnerDocument().removeChild(nodeToReplace);
+ nodeToReplace.getOwnerDocument().appendChild(n);
+ return;
+ } else {
+ throw new IllegalArgumentException("The node to replace has no parent.");
+ }
+ }
+
+ Node nextSibling = nodeToReplace.getNextSibling();
+ pn.removeChild(nodeToReplace);
+ appendNodeBeforeNode(parser, nextSibling.getParentNode(), nextSibling, n);
+ }
+ }
+
+ private void appendNodeBeforeNode(XMLParser parser, Node pn, Node refNode, Node n) throws IOException {
+ if (pn == null)
+ throw new IllegalArgumentException("No parent node.");
+
+ if (n instanceof DocumentFragment) {
+ NodeList nl = n.getChildNodes();
+ for (int i=0; i<nl.getLength(); i++) {
+ Node newNode = nl.item(i);
+ if (newNode.getOwnerDocument() != refNode.getOwnerDocument())
+ newNode = refNode.getOwnerDocument().importNode(newNode, true);
+ pn.insertBefore(newNode, refNode);
+ }
+ } else {
+ if (n.getOwnerDocument() != pn.getOwnerDocument())
+ n = pn.getOwnerDocument().importNode(n, true);
+ pn.insertBefore(n, refNode);
+ }
+ }
+
+ private XMLParser getParser(String ofFile) {
+ if (!ofFile.startsWith("/"))
+ ofFile = "/"+ofFile;
+
+ XMLParser parser = parsers.get(ofFile);
+ if (parser != null)
+ return parser;
+
+ File f = new File(tmpLocation,ofFile.replace('/', File.separatorChar));
+ if (!f.exists())
+ return null;
+ parser = new XMLParser(f);
+ parsers.put(ofFile, parser);
+ return parser;
+ }
+
+/* private StringBuffer readContent(InputStream in) throws IOException {
+ StringBuffer buf = new StringBuffer();
+ Reader r = new InputStreamReader(in);
+ char cs[] = new char[1024];
+ int len = r.read(cs);
+ buf.append(cs,0,len);
+ while (len == 1024) {
+ len = r.read(cs);
+ buf.append(cs,0,len);
+ }
+ return buf;
+ }*/
+
+ private void writeFile(XMLParser parser) throws IOException, TransformerException {
+ FileOutputStream out = new FileOutputStream(parser.getXmlFile());
+ transformer.transform(new DOMSource(parser.getDocument()),new StreamResult(out));
+ out.flush();
+ out.close();
+ }
+
+ private void writeFile(String ofFile, InputStream inputStream) throws IOException {
+ File f = new File(tmpLocation,ofFile.replace('/', File.separatorChar));
+ f.getParentFile().mkdir();
+ FileOutputStream out = new FileOutputStream(f);
+ byte[] bytes = new byte[1024];
+ int len = 0;
+ do {
+ len = inputStream.read(bytes);
+ out.write(bytes, 0, len);
+ } while (len == 1024);
+ out.flush();
+ out.close();
+ }
+
+ private void deleteFolder(File dir) {
+ File[] files = dir.listFiles();
+ if (files != null) {
+ for (File f : dir.listFiles()) {
+ if (f.isDirectory())
+ deleteFolder(f);
+ else
+ f.delete();
+ }
+ }
+ dir.delete();
+ }
+
+ private OpenOfficeXPathUtils xpathUtils;
+ private Transformer transformer;
+ private URL baseTemplate;
+ private File tmpLocation;
+ private Unzipper unzipper;
+ private HashMap<String, XMLParser> parsers;
+}
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeTestSupport.java b/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeTestSupport.java
new file mode 100644
index 0000000..9c4fdb5
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeTestSupport.java
@@ -0,0 +1,87 @@
+package org.eclipse.gendoc.services.openoffice.test;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.TransformerException;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.URIUtil;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.gendoc.GendocProcess;
+import org.eclipse.gendoc.document.parser.documents.openoffice.OpenOfficeNamespaceContext;
+import org.eclipse.gendoc.services.GendocServices;
+import org.eclipse.gendoc.services.IGendocDiagnostician;
+import org.eclipse.gendoc.services.IProgressMonitorService;
+import org.eclipse.gendoc.services.exception.GenDocException;
+import org.eclipse.gendoc.tags.handlers.IConfigurationService;
+import org.junit.Assert;
+
+public class OpenOfficeTestSupport {
+ public static OpenOfficeVerifyHelper execute(String pluginId, String test, OpenOfficeTestInputTemplate input,
+ OpenOfficeNamespaceContext namespaceContext, URL model, URL output)
+ throws IOException, URISyntaxException, GenDocException, TransformerException, ParserConfigurationException {
+ String fileExtension = input.getBaseTemplate().getFile();
+ fileExtension = fileExtension.substring(fileExtension.lastIndexOf('.')+1);
+
+ URL newInput = new URL("platform:/meta/"+pluginId+"/test/"+
+ test+".input."+fileExtension);
+ File f = URIUtil.toFile(URIUtil.toURI(FileLocator.resolve(newInput)));
+ f.getParentFile().mkdirs();
+ input.generate(f);
+ return execute(test, newInput, namespaceContext, model, output);
+ }
+
+ public static OpenOfficeVerifyHelper execute(String test, URL input, OpenOfficeNamespaceContext namespaceContext,
+ URL model, URL output)
+ throws IOException, URISyntaxException, GenDocException, ParserConfigurationException {
+ IGendocDiagnostician diagnostician = GendocServices.getDefault().getService(IGendocDiagnostician.class);
+ diagnostician.init();
+ IProgressMonitorService monitorService = (IProgressMonitorService) GendocServices.getDefault().getService(IProgressMonitorService.class);
+ monitorService.setMonitor(new NullProgressMonitor());
+
+ File f = URIUtil.toFile(URIUtil.toURI(FileLocator.resolve(output)));
+ f.getParentFile().mkdirs();
+
+ IConfigurationService parameter = GendocServices.getDefault().getService(IConfigurationService.class);
+ parameter.addParameter("output", f.getAbsolutePath());
+
+ URL resolvedUrl = FileLocator.resolve(model);
+ if (resolvedUrl.getProtocol().equals("file")) {
+ String eclipseTarget = System.getenv("eclipse.target");
+ if (eclipseTarget != null) {
+ String fileStr = resolvedUrl.getFile();
+ String ext = fileStr.substring(fileStr.lastIndexOf('.'));
+ fileStr = fileStr.substring(0, fileStr.lastIndexOf('.'));
+ fileStr += "."+eclipseTarget+ext;
+ f = new File(fileStr);
+ if (f.exists())
+ resolvedUrl = f.toURL();
+ }
+ }
+
+ parameter.addParameter("model", resolvedUrl.toExternalForm());
+
+ GendocProcess gendocProcess = new GendocProcess();
+ String resultFile = gendocProcess.runProcess(
+ URIUtil.toURI(FileLocator.resolve(input)).toURL());
+
+ StringBuffer buf = new StringBuffer();
+ int severity = diagnostician.getResultDiagnostic().getSeverity();
+ if (severity != Diagnostic.OK) {
+ for (Diagnostic d : diagnostician.getResultDiagnostic().getChildren()) {
+ buf.append(d.getMessage()).append("\n");
+ }
+ }
+
+ Assert.assertEquals(test+":" + buf.toString(),
+ Diagnostic.OK,
+ diagnostician.getResultDiagnostic().getSeverity());
+
+ return new OpenOfficeVerifyHelper(resultFile,namespaceContext);
+ }
+}
diff --git a/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeVerifyHelper.java b/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeVerifyHelper.java
new file mode 100644
index 0000000..69c9dba
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.openoffice.test/src/org/eclipse/gendoc/services/openoffice/test/OpenOfficeVerifyHelper.java
@@ -0,0 +1,248 @@
+package org.eclipse.gendoc.services.openoffice.test;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.io.FileInputStream;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.URIUtil;
+import org.eclipse.gendoc.document.parser.documents.Unzipper;
+import org.eclipse.gendoc.document.parser.documents.XMLParser;
+import org.eclipse.gendoc.document.parser.documents.openoffice.OpenOfficeNamespaceContext;
+import org.junit.Assert;
+import org.w3c.dom.Document;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+import junit.framework.TestCase;
+
+public class OpenOfficeVerifyHelper {
+ public OpenOfficeVerifyHelper(String filePath, OpenOfficeNamespaceContext namespaceContext) throws IOException, ParserConfigurationException {
+ this.filePath = filePath;
+ this.namespaceContext = namespaceContext;
+ unzipper = new Unzipper(new File(filePath));
+ unzipper.unzip();
+
+ xpath = XPathFactory.newInstance().newXPath();
+ xpath.setNamespaceContext(namespaceContext);
+
+ parsers = new HashMap<String, XMLParser>();
+ try {
+ verifyXmls(URIUtil.toFile(URIUtil.toURI(FileLocator.resolve(new URL(
+ "platform:/plugin/org.eclipse.gendoc.services.openoffice.test/resources/schemas")))));
+ } catch (URISyntaxException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ public void dispose() {
+ if (unzipper != null) {
+ unzipper.clean();
+ unzipper = null;
+ }
+ }
+
+ public void verifyXmls(final File schemasLoc) throws ParserConfigurationException {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setValidating(true);
+ factory.setNamespaceAware(true);
+ factory.setXIncludeAware(true);
+ factory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage",
+ "http://www.w3.org/2001/XMLSchema");
+ factory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaSource",
+ schemasLoc.list(new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.endsWith(".xsd");
+ }
+ }));
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ builder.setEntityResolver(new EntityResolver() {
+ @Override
+ public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
+ File f = null;
+ if (systemId != null) {
+ int index = systemId.lastIndexOf('/');
+ if (index >= 0)
+ f = new File(schemasLoc,systemId.substring(index+1));
+ else
+ f = new File(schemasLoc,systemId);
+ } else {
+ return null;
+ }
+
+ return new InputSource(new FileInputStream(f));
+ }
+ });
+
+ builder.setErrorHandler(new ErrorHandler() {
+ @Override
+ public void warning(SAXParseException exception) throws SAXException {
+ warnings.add(exception);
+ }
+
+ @Override
+ public void fatalError(SAXParseException exception) throws SAXException {
+ errors.add(exception);
+ }
+
+ @Override
+ public void error(SAXParseException exception) throws SAXException {
+ errors.add(exception);
+ }
+ });
+ verifyXmlsImpl(unzipper.getUnzipDocumentFile(), builder);
+ }
+
+ private void verifyXmlsImpl(File dir, DocumentBuilder builder) {
+ File[] files = dir.listFiles(new FileFilter() {
+ @Override
+ public boolean accept(File pathname) {
+ return pathname.isDirectory() ||
+ pathname.getName().endsWith(".xml") ||
+ pathname.getName().equals(".xml.rels");
+ }
+ });
+
+ if (files == null)
+ return;
+
+ for (File f : files) {
+ String relPath = f.getPath().replace(
+ unzipper.getUnzipDocumentFile().getPath(), "").
+ replace(File.separator, "/");
+ if (f.isDirectory()) {
+ verifyXmlsImpl(f, builder);
+ } else {
+ if (relPath.endsWith("revisionInfo.xml"))
+ continue;
+ try {
+ InputStream in = new FileInputStream(f);
+ warnings = new ArrayList<SAXException>();
+ errors = new ArrayList<SAXException>();
+ Document doc = builder.parse(new InputSource(in));
+ filterErrorsFromIgnorablesNS(doc,errors);
+ TestCase.assertEquals("XML parsing errors '"+relPath+"': " + Arrays.toString(errors.toArray()), 0, errors.size());
+ TestCase.assertEquals("XML parsing warnings: '"+relPath+"'" + Arrays.toString(warnings.toArray()), 0, warnings.size());
+ } catch (Exception e) {
+ TestCase.fail(String.format("Fail verifying Open Office content '%s': %s",relPath, e.getMessage()));
+ }
+ }
+ }
+ }
+
+ private void filterErrorsFromIgnorablesNS(Document doc, List<SAXException> errors) {
+ if (errors.isEmpty())
+ return;
+ String text = doc.getDocumentElement().getAttributeNS("http://schemas.openxmlformats.org/markup-compatibility/2006","Ignorable");
+ if (text.isEmpty())
+ text = "";
+ String[] ignorables = ("xml mc "+text).split(" ");
+ for (int i=0; i<ignorables.length; i++) {
+ Iterator<SAXException> it = errors.iterator();
+ while (it.hasNext()) {
+ SAXException e = it.next();
+ String str = e.getMessage();
+ Pattern p = Pattern.compile("\\'"+ignorables[i]+"[a-zA-Z0-9]*\\:");
+ Matcher m = p.matcher(str);
+ if (m.find()) {
+ it.remove();
+ }
+ }
+ }
+ }
+
+ public void verifyEqual(String message, String file, String reg, String expected) {
+ try {
+ verify(message, 0, file, reg, expected);
+ } catch (XPathExpressionException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ public void verifyNotEqual(String message, String file, String reg, String expected) {
+ try {
+ verify(message, 1, file, reg, expected);
+ } catch (XPathExpressionException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ public void verifyNull(String message, String file, String reg) {
+ try {
+ verify(message, 2, file, reg, null);
+ } catch (XPathExpressionException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ public void verifyNotNull(String message, String file, String reg) {
+ try {
+ verify(message, 3, file, reg, null);
+ } catch (XPathExpressionException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ private void verify(String message, int op, String file, String reg, Object expected) throws XPathExpressionException {
+ XMLParser parser = parsers.get(file);
+ if (parser == null) {
+ parser = new XMLParser(new File(unzipper.getUnzipDocumentFile(),file));
+ parsers.put(file,parser);
+ }
+
+ Object value = (expected instanceof String) ?
+ xpath.evaluate(reg, parser.getDocument()).trim() :
+ xpath.evaluate(reg, parser.getDocument(), XPathConstants.NODE);
+
+ switch (op) {
+ case 0:
+ Assert.assertEquals(message,expected,value);
+ break;
+ case 1:
+ Assert.assertNotEquals(message,expected,value);
+ break;
+ case 2:
+ Assert.assertNull(message,value);
+ break;
+ case 3:
+ Assert.assertNotNull(message,value);
+ break;
+ default:
+ }
+
+ }
+
+ private String filePath;
+ private OpenOfficeNamespaceContext namespaceContext;
+ private Unzipper unzipper;
+ private XPath xpath;
+ private Map<String,XMLParser> parsers;
+
+ private List<SAXException> warnings;
+ private List<SAXException> errors;
+}
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/.classpath b/tests/org.eclipse.gendoc.services.pptx.tests/.classpath
new file mode 100644
index 0000000..4f83b23
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/.project b/tests/org.eclipse.gendoc.services.pptx.tests/.project
new file mode 100644
index 0000000..863d9fe
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.gendoc.services.pptx.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.gendoc.services.pptx.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.gendoc.services.pptx.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..78f9e84
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,29 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: OpenOffice PPTX Tests
+Bundle-SymbolicName: org.eclipse.gendoc.services.pptx.tests
+Fragment-Host: org.eclipse.gendoc.services.pptx
+Bundle-Version: 0.7.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit,
+ org.eclipse.gendoc,
+ org.eclipse.core.resources,
+ org.eclipse.gendoc.document.parser.pptx,
+ org.eclipse.gendoc.bundle.acceleo.commons,
+ org.eclipse.gendoc.bundle.acceleo.gmf,
+ org.eclipse.gendoc.bundle.acceleo.papyrus,
+ org.eclipse.gendoc.document.parser,
+ org.eclipse.gendoc.documents,
+ org.eclipse.gendoc.documents.image.svg,
+ org.eclipse.gendoc.documents.metadata,
+ org.eclipse.gendoc.m2t,
+ org.eclipse.gendoc.process,
+ org.eclipse.gendoc.script.acceleo,
+ org.eclipse.gendoc.tags,
+ org.eclipse.gendoc.tags.handlers,
+ org.eclipse.gendoc.tags.html,
+ org.eclipse.gendoc.tags.hyperlink,
+ org.eclipse.gendoc.tags.parsers,
+ org.eclipse.gendoc.services.openoffice.test,
+ org.eclipse.gendoc.services
+Export-Package: org.eclipse.gendoc.services.pptx.tests
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/build.properties b/tests/org.eclipse.gendoc.services.pptx.tests/build.properties
new file mode 100644
index 0000000..342f3ff
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ resources/
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/pom.xml b/tests/org.eclipse.gendoc.services.pptx.tests/pom.xml
new file mode 100644
index 0000000..619ee07
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/pom.xml
@@ -0,0 +1,33 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.gendoc</groupId>
+ <artifactId>parent</artifactId>
+ <relativePath>../../pom.xml</relativePath>
+ <version>0.7.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.gendoc.services.pptx.tests</artifactId>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>0.19.0</version>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.papyrus.sdk.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.di b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.juno.di b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.juno.di
new file mode 100644
index 0000000..5a6eef7
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.juno.di
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="XlsxSimpleTest.notation#_bCSakPEtEee4do3LUN47WQ"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="XlsxSimpleTest.notation#_AFTOsPE4Eeed_O8yLthJ4A"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="XlsxSimpleTest.juno.notation#_DQ9QIPReEeeDL74Sl86f0Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="XlsxSimpleTest.juno.notation#_VS8KsPRlEeeEttWVBd0_aA"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="XlsxSimpleTest.juno.notation#_DQ9QIPReEeeDL74Sl86f0Q"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="XlsxSimpleTest.juno.notation#_VS8KsPRlEeeEttWVBd0_aA"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.juno.notation b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.juno.notation
new file mode 100644
index 0000000..ad8baf7
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.juno.notation
@@ -0,0 +1,640 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
+ <notation:Diagram xmi:id="_bCSakPEtEee4do3LUN47WQ" type="UseCase" name="Main Use Cases" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_cFI-sPEtEee4do3LUN47WQ" type="2015" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cFPFUPEtEee4do3LUN47WQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cFPFUfEtEee4do3LUN47WQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cFPFUvEtEee4do3LUN47WQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cFPFU_EtEee4do3LUN47WQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cFPFVPEtEee4do3LUN47WQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cFPFVfEtEee4do3LUN47WQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cFPsYPEtEee4do3LUN47WQ" type="5019"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cFPsYfEtEee4do3LUN47WQ" type="7011">
+ <children xmi:type="notation:Shape" xmi:id="_ieiJsPEtEee4do3LUN47WQ" type="3009" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ieiJsvEtEee4do3LUN47WQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ieiJs_EtEee4do3LUN47WQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ieiJtPEtEee4do3LUN47WQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ieiwwPEtEee4do3LUN47WQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ieiwwfEtEee4do3LUN47WQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ieiwwvEtEee4do3LUN47WQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ieiww_EtEee4do3LUN47WQ" type="5018"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ieiwxPEtEee4do3LUN47WQ" type="7012">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ieiwxfEtEee4do3LUN47WQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ieiwxvEtEee4do3LUN47WQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ieiwx_EtEee4do3LUN47WQ"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="XlsxSimpleTest.uml#_eweEoNGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ieiJsfEtEee4do3LUN47WQ" x="104" y="26"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ie3g4PEtEee4do3LUN47WQ" type="3009" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ie3g4vEtEee4do3LUN47WQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ie3g4_EtEee4do3LUN47WQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ie3g5PEtEee4do3LUN47WQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ie3g5fEtEee4do3LUN47WQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ie3g5vEtEee4do3LUN47WQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ie3g5_EtEee4do3LUN47WQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ie3g6PEtEee4do3LUN47WQ" type="5018"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ie3g6fEtEee4do3LUN47WQ" type="7012">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ie3g6vEtEee4do3LUN47WQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ie3g6_EtEee4do3LUN47WQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ie3g7PEtEee4do3LUN47WQ"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="XlsxSimpleTest.uml#_gWz64NGpEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ie3g4fEtEee4do3LUN47WQ" x="80" y="134"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ifBR4PEtEee4do3LUN47WQ" type="3009" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ifB48PEtEee4do3LUN47WQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ifB48fEtEee4do3LUN47WQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ifB48vEtEee4do3LUN47WQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ifB48_EtEee4do3LUN47WQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ifB49PEtEee4do3LUN47WQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ifB49fEtEee4do3LUN47WQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ifB49vEtEee4do3LUN47WQ" type="5018"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ifB49_EtEee4do3LUN47WQ" type="7012">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ifB4-PEtEee4do3LUN47WQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ifB4-fEtEee4do3LUN47WQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ifB4-vEtEee4do3LUN47WQ"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="XlsxSimpleTest.uml#_1rXdoNGpEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ifBR4fEtEee4do3LUN47WQ" x="92" y="218"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cFPsYvEtEee4do3LUN47WQ"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.uml#_NE6B0NGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cFI-sfEtEee4do3LUN47WQ" x="491" y="283" width="530"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_2eep8PEtEee4do3LUN47WQ" type="2011" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2eep8vEtEee4do3LUN47WQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2efRAPEtEee4do3LUN47WQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2efRAfEtEee4do3LUN47WQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2efRAvEtEee4do3LUN47WQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2efRA_EtEee4do3LUN47WQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2efRBPEtEee4do3LUN47WQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_2efRBfEtEee4do3LUN47WQ" type="5014">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2efRBvEtEee4do3LUN47WQ" x="20" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_2efRB_EtEee4do3LUN47WQ" type="6029">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2efRCPEtEee4do3LUN47WQ" x="20" y="100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_2ef4EPEtEee4do3LUN47WQ" type="6037">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2ef4EfEtEee4do3LUN47WQ" x="20" y="80"/>
+ </children>
+ <element xmi:type="uml:Actor" href="XlsxSimpleTest.uml#_pQnpoNGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2eep8fEtEee4do3LUN47WQ" x="134" y="408"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3dRNcPEtEee4do3LUN47WQ" type="2011" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3dRNcvEtEee4do3LUN47WQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3dRNc_EtEee4do3LUN47WQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3dRNdPEtEee4do3LUN47WQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3dRNdfEtEee4do3LUN47WQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3dRNdvEtEee4do3LUN47WQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3dRNd_EtEee4do3LUN47WQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3dRNePEtEee4do3LUN47WQ" type="5014">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3dRNefEtEee4do3LUN47WQ" x="20" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3dR0gPEtEee4do3LUN47WQ" type="6029">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3dR0gfEtEee4do3LUN47WQ" x="20" y="100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3dR0gvEtEee4do3LUN47WQ" type="6037">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3dR0g_EtEee4do3LUN47WQ" x="20" y="80"/>
+ </children>
+ <element xmi:type="uml:Actor" href="XlsxSimpleTest.uml#_ArnfANGqEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3dRNcfEtEee4do3LUN47WQ" x="161" y="271"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_bCSakfEtEee4do3LUN47WQ"/>
+ <element xmi:type="uml:Model" href="XlsxSimpleTest.uml#_IlKAYNGlEea0PPaj-cnm0w"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38WWIPEtEee4do3LUN47WQ" type="4011" source="_ie3g4PEtEee4do3LUN47WQ" target="_2eep8PEtEee4do3LUN47WQ" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38XkQPEtEee4do3LUN47WQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38XkQfEtEee4do3LUN47WQ" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38XkQvEtEee4do3LUN47WQ" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38XkQ_EtEee4do3LUN47WQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38WWIfEtEee4do3LUN47WQ" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="XlsxSimpleTest.uml#_Jq1cwNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38WWIvEtEee4do3LUN47WQ" points="[-118, -9, 406, 27]$[-484, -34, 40, 2]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_39LckPEtEee4do3LUN47WQ" type="4011" source="_ifBR4PEtEee4do3LUN47WQ" target="_2eep8PEtEee4do3LUN47WQ" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_39Lck_EtEee4do3LUN47WQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_39LclPEtEee4do3LUN47WQ" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_39LclfEtEee4do3LUN47WQ" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_39LclvEtEee4do3LUN47WQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_39LckfEtEee4do3LUN47WQ" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="XlsxSimpleTest.uml#_KkBukNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_39LckvEtEee4do3LUN47WQ" points="[-82, -19, 437, 101]$[-479, -111, 40, 9]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_39Xp0PEtEee4do3LUN47WQ" type="4011" source="_ifBR4PEtEee4do3LUN47WQ" target="_3dRNcPEtEee4do3LUN47WQ" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_39Xp0_EtEee4do3LUN47WQ" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_39Xp1PEtEee4do3LUN47WQ" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_39Xp1fEtEee4do3LUN47WQ" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_39Xp1vEtEee4do3LUN47WQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_39Xp0fEtEee4do3LUN47WQ" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="XlsxSimpleTest.uml#_LSPfcNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_39Xp0vEtEee4do3LUN47WQ" points="[-51, -27, 441, 230]$[-452, -237, 40, 20]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_AFTOsPE4Eeed_O8yLthJ4A" type="PapyrusUMLComponentDiagram" name="Gendoc System" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_FWuFAPE4Eeed_O8yLthJ4A" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FWuFBPE4Eeed_O8yLthJ4A" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FWuFBfE4Eeed_O8yLthJ4A" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_FWuFBvE4Eeed_O8yLthJ4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FWuFB_E4Eeed_O8yLthJ4A"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_FWuFAfE4Eeed_O8yLthJ4A"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FWuFAvE4Eeed_O8yLthJ4A"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.uml#_iZbPsNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FWuFA_E4Eeed_O8yLthJ4A" x="24" y="24"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FW0ysPE4Eeed_O8yLthJ4A" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FW0ytPE4Eeed_O8yLthJ4A" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FW0ytfE4Eeed_O8yLthJ4A" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_FW0ytvE4Eeed_O8yLthJ4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FW0yt_E4Eeed_O8yLthJ4A"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_FW0ysfE4Eeed_O8yLthJ4A"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FW0ysvE4Eeed_O8yLthJ4A"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.uml#_jiODwNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FW0ys_E4Eeed_O8yLthJ4A" x="240" y="24"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FW_KwPE4Eeed_O8yLthJ4A" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FW_x0PE4Eeed_O8yLthJ4A" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FW_x0fE4Eeed_O8yLthJ4A" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_FW_x0vE4Eeed_O8yLthJ4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FW_x0_E4Eeed_O8yLthJ4A"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_FW_KwfE4Eeed_O8yLthJ4A"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FW_KwvE4Eeed_O8yLthJ4A"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.uml#_loGLINGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FW_Kw_E4Eeed_O8yLthJ4A" x="456" y="24"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FXLYAPE4Eeed_O8yLthJ4A" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FXL_EPE4Eeed_O8yLthJ4A" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FXL_EfE4Eeed_O8yLthJ4A" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_FXL_EvE4Eeed_O8yLthJ4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FXL_E_E4Eeed_O8yLthJ4A"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_FXLYAfE4Eeed_O8yLthJ4A"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FXLYAvE4Eeed_O8yLthJ4A"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.uml#_ra_94NGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FXLYA_E4Eeed_O8yLthJ4A" x="660" y="24"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FXdE0PE4Eeed_O8yLthJ4A" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FXdr4PE4Eeed_O8yLthJ4A" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FXdr4fE4Eeed_O8yLthJ4A" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_FXdr4vE4Eeed_O8yLthJ4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FXdr4_E4Eeed_O8yLthJ4A"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_FXdE0fE4Eeed_O8yLthJ4A"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FXdE0vE4Eeed_O8yLthJ4A"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.uml#_tWn9ENGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FXdE0_E4Eeed_O8yLthJ4A" x="24" y="144"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FXpSEPE4Eeed_O8yLthJ4A" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FXp5IPE4Eeed_O8yLthJ4A" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FXp5IfE4Eeed_O8yLthJ4A" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_FXp5IvE4Eeed_O8yLthJ4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FXp5I_E4Eeed_O8yLthJ4A"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_FXpSEfE4Eeed_O8yLthJ4A"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FXpSEvE4Eeed_O8yLthJ4A"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.uml#_v9t7INGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FXpSE_E4Eeed_O8yLthJ4A" x="240" y="144"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FX-pQPE4Eeed_O8yLthJ4A" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FX-pRPE4Eeed_O8yLthJ4A" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FX-pRfE4Eeed_O8yLthJ4A" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_FX-pRvE4Eeed_O8yLthJ4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FX-pR_E4Eeed_O8yLthJ4A"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_FX-pQfE4Eeed_O8yLthJ4A"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FX-pQvE4Eeed_O8yLthJ4A"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.uml#_-lgq8NGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FX-pQ_E4Eeed_O8yLthJ4A" x="456" y="144"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FYEv4PE4Eeed_O8yLthJ4A" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FYEv5PE4Eeed_O8yLthJ4A" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FYEv5fE4Eeed_O8yLthJ4A" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_FYEv5vE4Eeed_O8yLthJ4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYEv5_E4Eeed_O8yLthJ4A"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_FYEv4fE4Eeed_O8yLthJ4A"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FYEv4vE4Eeed_O8yLthJ4A"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.uml#_AcfasNGmEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FYEv4_E4Eeed_O8yLthJ4A" x="660" y="144"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_AFTOsfE4Eeed_O8yLthJ4A"/>
+ <element xmi:type="uml:Model" href="XlsxSimpleTest.uml#_PUtBkNGlEea0PPaj-cnm0w"/>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_DQ9QIPReEeeDL74Sl86f0Q" type="UseCase" name="Main Use Cases" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_EWMZ4PReEeeDL74Sl86f0Q" type="2015" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EWR5cPReEeeDL74Sl86f0Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWSggPReEeeDL74Sl86f0Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EWSggfReEeeDL74Sl86f0Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWSggvReEeeDL74Sl86f0Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EWSgg_ReEeeDL74Sl86f0Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EWVj0PReEeeDL74Sl86f0Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EWWK4PReEeeDL74Sl86f0Q" type="5019"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EWWK4fReEeeDL74Sl86f0Q" type="7011">
+ <children xmi:type="notation:Shape" xmi:id="_IpolAPReEeeDL74Sl86f0Q" type="3009" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IpolAvReEeeDL74Sl86f0Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IpolA_ReEeeDL74Sl86f0Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IpolBPReEeeDL74Sl86f0Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IpolBfReEeeDL74Sl86f0Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IpolBvReEeeDL74Sl86f0Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IpolB_ReEeeDL74Sl86f0Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_IpolCPReEeeDL74Sl86f0Q" type="5018"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_IpolCfReEeeDL74Sl86f0Q" type="7012">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IpolCvReEeeDL74Sl86f0Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IpolC_ReEeeDL74Sl86f0Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IpolDPReEeeDL74Sl86f0Q"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="XlsxSimpleTest.juno.uml#_eweEoNGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IpolAfReEeeDL74Sl86f0Q" x="91" y="9"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_IqA_gPReEeeDL74Sl86f0Q" type="3009" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IqA_gvReEeeDL74Sl86f0Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IqA_g_ReEeeDL74Sl86f0Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IqA_hPReEeeDL74Sl86f0Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IqA_hfReEeeDL74Sl86f0Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IqA_hvReEeeDL74Sl86f0Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IqA_h_ReEeeDL74Sl86f0Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_IqA_iPReEeeDL74Sl86f0Q" type="5018"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_IqA_ifReEeeDL74Sl86f0Q" type="7012">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IqA_ivReEeeDL74Sl86f0Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IqA_i_ReEeeDL74Sl86f0Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IqA_jPReEeeDL74Sl86f0Q"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="XlsxSimpleTest.juno.uml#_gWz64NGpEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IqA_gfReEeeDL74Sl86f0Q" x="91" y="225"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_IqNMwPReEeeDL74Sl86f0Q" type="3009" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IqNMwvReEeeDL74Sl86f0Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IqNMw_ReEeeDL74Sl86f0Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IqNMxPReEeeDL74Sl86f0Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IqNMxfReEeeDL74Sl86f0Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IqNMxvReEeeDL74Sl86f0Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IqNMx_ReEeeDL74Sl86f0Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_IqNMyPReEeeDL74Sl86f0Q" type="5018"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_IqNMyfReEeeDL74Sl86f0Q" type="7012">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IqNMyvReEeeDL74Sl86f0Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IqNMy_ReEeeDL74Sl86f0Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IqNMzPReEeeDL74Sl86f0Q"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="XlsxSimpleTest.juno.uml#_1rXdoNGpEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IqNMwfReEeeDL74Sl86f0Q" x="79" y="117"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EWWK4vReEeeDL74Sl86f0Q"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.juno.uml#_NE6B0NGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EWMZ4fReEeeDL74Sl86f0Q" x="324" y="48" width="373"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LN_YIPReEeeDL74Sl86f0Q" type="2011" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LN_YIvReEeeDL74Sl86f0Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LN_YI_ReEeeDL74Sl86f0Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LN_YJPReEeeDL74Sl86f0Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LN_YJfReEeeDL74Sl86f0Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LN_YJvReEeeDL74Sl86f0Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LN_YJ_ReEeeDL74Sl86f0Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LN_YKPReEeeDL74Sl86f0Q" type="5014">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LN_YKfReEeeDL74Sl86f0Q" x="20" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LN_YKvReEeeDL74Sl86f0Q" type="6029">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LN_YK_ReEeeDL74Sl86f0Q" x="20" y="100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LN_YLPReEeeDL74Sl86f0Q" type="6037">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LN_YLfReEeeDL74Sl86f0Q" x="20" y="80"/>
+ </children>
+ <element xmi:type="uml:Actor" href="XlsxSimpleTest.juno.uml#_pQnpoNGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LN_YIfReEeeDL74Sl86f0Q" x="84" y="120"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LOLlYPReEeeDL74Sl86f0Q" type="2011" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LOLlYvReEeeDL74Sl86f0Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LOLlY_ReEeeDL74Sl86f0Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LOLlZPReEeeDL74Sl86f0Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LOLlZfReEeeDL74Sl86f0Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LOLlZvReEeeDL74Sl86f0Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LOLlZ_ReEeeDL74Sl86f0Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LOLlaPReEeeDL74Sl86f0Q" type="5014">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LOLlafReEeeDL74Sl86f0Q" x="20" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LOLlavReEeeDL74Sl86f0Q" type="6029">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LOLla_ReEeeDL74Sl86f0Q" x="20" y="100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LOLlbPReEeeDL74Sl86f0Q" type="6037">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LOLlbfReEeeDL74Sl86f0Q" x="20" y="80"/>
+ </children>
+ <element xmi:type="uml:Actor" href="XlsxSimpleTest.juno.uml#_ArnfANGqEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LOLlYfReEeeDL74Sl86f0Q" x="84" y="276"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_DQ9QIfReEeeDL74Sl86f0Q"/>
+ <element xmi:type="uml:Model" href="XlsxSimpleTest.juno.uml#_IlKAYNGlEea0PPaj-cnm0w"/>
+ <edges xmi:type="notation:Connector" xmi:id="_MyG2QPReEeeDL74Sl86f0Q" type="4011" source="_IqA_gPReEeeDL74Sl86f0Q" target="_LN_YIPReEeeDL74Sl86f0Q" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_MyG2Q_ReEeeDL74Sl86f0Q" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MyG2RPReEeeDL74Sl86f0Q" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_MyG2RfReEeeDL74Sl86f0Q" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MyG2RvReEeeDL74Sl86f0Q" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_MyG2QfReEeeDL74Sl86f0Q" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="XlsxSimpleTest.juno.uml#_Jq1cwNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MyG2QvReEeeDL74Sl86f0Q" points="[-61, -27, 357, 153]$[-378, -163, 40, 17]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_MyM84PReEeeDL74Sl86f0Q" type="4011" source="_IqNMwPReEeeDL74Sl86f0Q" target="_LN_YIPReEeeDL74Sl86f0Q" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_MyM84_ReEeeDL74Sl86f0Q" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MyM85PReEeeDL74Sl86f0Q" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_MyM85fReEeeDL74Sl86f0Q" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MyM85vReEeeDL74Sl86f0Q" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_MyM84fReEeeDL74Sl86f0Q" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="XlsxSimpleTest.juno.uml#_KkBukNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MyM84vReEeeDL74Sl86f0Q" points="[-89, -17, 300, 55]$[-349, -65, 40, 7]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_MyTDgPReEeeDL74Sl86f0Q" type="4011" source="_IqNMwPReEeeDL74Sl86f0Q" target="_LOLlYPReEeeDL74Sl86f0Q" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_MyTDg_ReEeeDL74Sl86f0Q" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MyTDhPReEeeDL74Sl86f0Q" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_MyTDhfReEeeDL74Sl86f0Q" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MyTDhvReEeeDL74Sl86f0Q" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_MyTDgfReEeeDL74Sl86f0Q" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="XlsxSimpleTest.juno.uml#_LSPfcNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MyTDgvReEeeDL74Sl86f0Q" points="[-84, 18, 305, -66]$[-349, 75, 40, -9]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_VS8KsPRlEeeEttWVBd0_aA" type="PapyrusUMLComponentDiagram" name="Gendoc System" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_V_1s8PRlEeeEttWVBd0_aA" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_V_1s9PRlEeeEttWVBd0_aA" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_V_1s9fRlEeeEttWVBd0_aA" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_V_1s9vRlEeeEttWVBd0_aA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V_1s9_RlEeeEttWVBd0_aA"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_V_1s8fRlEeeEttWVBd0_aA"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_V_1s8vRlEeeEttWVBd0_aA"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.juno.uml#_iZbPsNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V_1s8_RlEeeEttWVBd0_aA" x="192" y="420"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WAoXIPRlEeeEttWVBd0_aA" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WAoXJPRlEeeEttWVBd0_aA" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_WAoXJfRlEeeEttWVBd0_aA" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_WAoXJvRlEeeEttWVBd0_aA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WAoXJ_RlEeeEttWVBd0_aA"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_WAoXIfRlEeeEttWVBd0_aA"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_WAoXIvRlEeeEttWVBd0_aA"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.juno.uml#_jiODwNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WAoXI_RlEeeEttWVBd0_aA" x="396" y="288"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WAyIIPRlEeeEttWVBd0_aA" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WAyIJPRlEeeEttWVBd0_aA" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_WAyIJfRlEeeEttWVBd0_aA" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_WAyIJvRlEeeEttWVBd0_aA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WAyIJ_RlEeeEttWVBd0_aA"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_WAyIIfRlEeeEttWVBd0_aA"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_WAyIIvRlEeeEttWVBd0_aA"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.juno.uml#_loGLINGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WAyII_RlEeeEttWVBd0_aA" x="24" y="156"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WA7SEPRlEeeEttWVBd0_aA" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WA7SFPRlEeeEttWVBd0_aA" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_WA7SFfRlEeeEttWVBd0_aA" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_WA7SFvRlEeeEttWVBd0_aA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WA7SF_RlEeeEttWVBd0_aA"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_WA7SEfRlEeeEttWVBd0_aA"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_WA7SEvRlEeeEttWVBd0_aA"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.juno.uml#_ra_94NGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WA7SE_RlEeeEttWVBd0_aA" x="276" y="156"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WBFDEPRlEeeEttWVBd0_aA" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WBFDFPRlEeeEttWVBd0_aA" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_WBFDFfRlEeeEttWVBd0_aA" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_WBFDFvRlEeeEttWVBd0_aA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WBFDF_RlEeeEttWVBd0_aA"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_WBFDEfRlEeeEttWVBd0_aA"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_WBFDEvRlEeeEttWVBd0_aA"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.juno.uml#_tWn9ENGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WBFDE_RlEeeEttWVBd0_aA" x="216" y="24"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WBO0EPRlEeeEttWVBd0_aA" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WBO0FPRlEeeEttWVBd0_aA" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_WBO0FfRlEeeEttWVBd0_aA" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_WBO0FvRlEeeEttWVBd0_aA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WBO0F_RlEeeEttWVBd0_aA"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_WBO0EfRlEeeEttWVBd0_aA"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_WBO0EvRlEeeEttWVBd0_aA"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.juno.uml#_v9t7INGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WBO0E_RlEeeEttWVBd0_aA" x="540" y="156"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WBPbIPRlEeeEttWVBd0_aA" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WBPbJPRlEeeEttWVBd0_aA" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_WBPbJfRlEeeEttWVBd0_aA" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_WBPbJvRlEeeEttWVBd0_aA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WBPbJ_RlEeeEttWVBd0_aA"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_WBPbIfRlEeeEttWVBd0_aA"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_WBPbIvRlEeeEttWVBd0_aA"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.juno.uml#_-lgq8NGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WBPbI_RlEeeEttWVBd0_aA" x="420" y="24"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WBZzMPRlEeeEttWVBd0_aA" type="2002" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WBaaQPRlEeeEttWVBd0_aA" type="5004"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_WBaaQfRlEeeEttWVBd0_aA" visible="false" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_WBaaQvRlEeeEttWVBd0_aA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WBaaQ_RlEeeEttWVBd0_aA"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_WBZzMfRlEeeEttWVBd0_aA"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_WBZzMvRlEeeEttWVBd0_aA"/>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.juno.uml#_AcfasNGmEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WBZzM_RlEeeEttWVBd0_aA" x="156" y="288"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_VS8KsfRlEeeEttWVBd0_aA"/>
+ <element xmi:type="uml:Model" href="XlsxSimpleTest.juno.uml#_PUtBkNGlEea0PPaj-cnm0w"/>
+ <edges xmi:type="notation:Connector" xmi:id="_X6GaMPRlEeeEttWVBd0_aA" type="4010" source="_V_1s8PRlEeeEttWVBd0_aA" target="_WAoXIPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_X6Mg0PRlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X6Mg0fRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_X6Mg0vRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X6Mg0_RlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_X6HBQPRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_qcFekNGlEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6HBQfRlEeeEttWVBd0_aA" points="[0, 0, -152, 60]$[152, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lKvRlEeeEttWVBd0_aA" id="(0.8333333333333334,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lK_RlEeeEttWVBd0_aA" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_X6teMPRlEeeEttWVBd0_aA" type="4010" source="_V_1s8PRlEeeEttWVBd0_aA" target="_WAyIIPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_X6teM_RlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X6teNPRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_X6teNfRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X6teNvRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_X6teMfRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_25KDQNGlEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6teMvRlEeeEttWVBd0_aA" points="[0, 0, 120, 190]$[-120, -61, 0, 129]$[-120, -190, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lLvRlEeeEttWVBd0_aA" id="(0.24666666666666667,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lL_RlEeeEttWVBd0_aA" id="(0.5133333333333333,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_X63PMPRlEeeEttWVBd0_aA" type="4010" source="_V_1s8PRlEeeEttWVBd0_aA" target="_WA7SEPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_X63PM_RlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X63PNPRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_X63PNfRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X63PNvRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_X63PMfRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_DQgacNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X63PMvRlEeeEttWVBd0_aA" points="[0, 0, -55, 190]$[55, -61, 0, 129]$[55, -190, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lMPRlEeeEttWVBd0_aA" id="(0.6666666666666666,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lMfRlEeeEttWVBd0_aA" id="(0.49333333333333335,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_X7KKIPRlEeeEttWVBd0_aA" type="4010" source="_V_1s8PRlEeeEttWVBd0_aA" target="_WBZzMPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_X7KKI_RlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X7KKJPRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_X7KKJfRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X7KKJvRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_X7KKIfRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_UucQ8NGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X7KKIvRlEeeEttWVBd0_aA" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lLPRlEeeEttWVBd0_aA" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lLfRlEeeEttWVBd0_aA" id="(0.76,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ZAkTAPRlEeeEttWVBd0_aA" type="4010" source="_WAoXIPRlEeeEttWVBd0_aA" target="_WA7SEPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZAkTA_RlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZAkTBPRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZAkTBfRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZAkTBvRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZAkTAfRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_LbZYQNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZAkTAvRlEeeEttWVBd0_aA" points="[0, 0, 45, 60]$[-45, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lIvRlEeeEttWVBd0_aA" id="(0.24,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lI_RlEeeEttWVBd0_aA" id="(0.7466666666666667,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ZAtc8PRlEeeEttWVBd0_aA" type="4010" source="_WAoXIPRlEeeEttWVBd0_aA" target="_WBFDEPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZAtc8_RlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZAtc9PRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZAtc9fRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZAtc9vRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZAtc8fRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_MLvQENGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZAtc8vRlEeeEttWVBd0_aA" points="[0, 0, 111, 190]$[0, -130, 111, 60]$[-111, -190, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lMvRlEeeEttWVBd0_aA" id="(0.4866666666666667,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lM_RlEeeEttWVBd0_aA" id="(0.9466666666666667,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ZA5DIPRlEeeEttWVBd0_aA" type="4010" source="_WAoXIPRlEeeEttWVBd0_aA" target="_WBO0EPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZA5qMPRlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZA5qMfRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZA5qMvRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZA8tgPRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZA5DIfRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_M_4p0NGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZA5DIvRlEeeEttWVBd0_aA" points="[0, 0, -99, 60]$[99, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lIPRlEeeEttWVBd0_aA" id="(0.8466666666666667,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lIfRlEeeEttWVBd0_aA" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ZBlmsPRlEeeEttWVBd0_aA" type="4010" source="_WAoXIPRlEeeEttWVBd0_aA" target="_WBPbIPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZBmNwPRlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZBmNwfRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZBmNwvRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZBmNw_RlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZBlmsfRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_NxJusNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZBlmsvRlEeeEttWVBd0_aA" points="[0, 0, 0, 190]$[0, -190, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lNPRlEeeEttWVBd0_aA" id="(0.7,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lNfRlEeeEttWVBd0_aA" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ZtLhYPRlEeeEttWVBd0_aA" type="4010" source="_WAyIIPRlEeeEttWVBd0_aA" target="_WBFDEPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZtLhY_RlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZtLhZPRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZtLhZfRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZtLhZvRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZtLhYfRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_G79YgNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZtLhYvRlEeeEttWVBd0_aA" points="[0, 0, -174, 60]$[174, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lKPRlEeeEttWVBd0_aA" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lKfRlEeeEttWVBd0_aA" id="(0.44666666666666666,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_aS9H8PRlEeeEttWVBd0_aA" type="4010" source="_WA7SEPRlEeeEttWVBd0_aA" target="_WBFDEPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_aS9H8_RlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aS9H9PRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_aS9H9fRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aS9H9vRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_aS9H8fRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_O3Ol8NGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aS9H8vRlEeeEttWVBd0_aA" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lJvRlEeeEttWVBd0_aA" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lJ_RlEeeEttWVBd0_aA" id="(0.8933333333333333,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_aTBZYPRlEeeEttWVBd0_aA" type="4010" source="_WA7SEPRlEeeEttWVBd0_aA" target="_WBPbIPRlEeeEttWVBd0_aA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_aTLKYPRlEeeEttWVBd0_aA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aTLKYfRlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_aTLKYvRlEeeEttWVBd0_aA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aTLKY_RlEeeEttWVBd0_aA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_aTBZYfRlEeeEttWVBd0_aA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.juno.uml#_PqrcINGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aTBZYvRlEeeEttWVBd0_aA" points="[0, 0, -76, 60]$[76, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lJPRlEeeEttWVBd0_aA" id="(0.7466666666666667,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bJ6lJfRlEeeEttWVBd0_aA" id="(0.24666666666666667,1.0)"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.juno.uml b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.juno.uml
new file mode 100644
index 0000000..bd3fad1
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.juno.uml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_6jElsNGkEea0PPaj-cnm0w" name="Gendoc">
+ <packagedElement xmi:type="uml:Model" xmi:id="_IlKAYNGlEea0PPaj-cnm0w" name="Use Case View">
+ <packagedElement xmi:type="uml:Component" xmi:id="_NE6B0NGoEea0PPaj-cnm0w" name="Gendoc" useCase="_eweEoNGoEea0PPaj-cnm0w _gWz64NGpEea0PPaj-cnm0w _1rXdoNGpEea0PPaj-cnm0w">
+ <generalization xmi:id="_Yu48sNGoEea0PPaj-cnm0w" general="_iZbPsNGlEea0PPaj-cnm0w"/>
+ <ownedUseCase xmi:id="_eweEoNGoEea0PPaj-cnm0w" name="Generate Document" subject="_NE6B0NGoEea0PPaj-cnm0w">
+ <ownedComment xmi:id="_Z-dzkNG7Eea0PPaj-cnm0w">
+ <body>An <b>automated</b> system that will use the batch generation process to generate 
+the documentation of the system contained in the model.</body>
+ </ownedComment>
+ </ownedUseCase>
+ <ownedUseCase xmi:id="_gWz64NGpEea0PPaj-cnm0w" name="Generate Document from Eclipse" subject="_NE6B0NGoEea0PPaj-cnm0w">
+ <include xmi:id="_-Kwr0NGpEea0PPaj-cnm0w" addition="_eweEoNGoEea0PPaj-cnm0w"/>
+ </ownedUseCase>
+ <ownedUseCase xmi:id="_1rXdoNGpEea0PPaj-cnm0w" name="Batch Document Generation" subject="_NE6B0NGoEea0PPaj-cnm0w">
+ <include xmi:id="__j2lsNGpEea0PPaj-cnm0w" addition="_eweEoNGoEea0PPaj-cnm0w"/>
+ </ownedUseCase>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Actor" xmi:id="_pQnpoNGoEea0PPaj-cnm0w" name="User">
+ <ownedComment xmi:id="_PtvKoNG7Eea0PPaj-cnm0w">
+ <body>A modeling user that document his model and it use <b>Gendoc</b> to generate 
+the documentation of the system contained in the model.</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Actor" xmi:id="_ArnfANGqEea0PPaj-cnm0w" name="Automated User"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Jq1cwNGqEea0PPaj-cnm0w" memberEnd="_JrJl0NGqEea0PPaj-cnm0w _JrKM4NGqEea0PPaj-cnm0w">
+ <eAnnotations xmi:id="_JrFUYNGqEea0PPaj-cnm0w" source="org.eclipse.papyrus">
+ <details xmi:id="_JrF7cNGqEea0PPaj-cnm0w" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:id="_JrJl0NGqEea0PPaj-cnm0w" name="generate document from eclipse" type="_gWz64NGpEea0PPaj-cnm0w" association="_Jq1cwNGqEea0PPaj-cnm0w"/>
+ <ownedEnd xmi:id="_JrKM4NGqEea0PPaj-cnm0w" name="user" type="_pQnpoNGoEea0PPaj-cnm0w" association="_Jq1cwNGqEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_KkBukNGqEea0PPaj-cnm0w" memberEnd="_KkCVotGqEea0PPaj-cnm0w _KkC8sNGqEea0PPaj-cnm0w">
+ <eAnnotations xmi:id="_KkCVoNGqEea0PPaj-cnm0w" source="org.eclipse.papyrus">
+ <details xmi:id="_KkCVodGqEea0PPaj-cnm0w" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:id="_KkCVotGqEea0PPaj-cnm0w" name="batch document generation" type="_1rXdoNGpEea0PPaj-cnm0w" association="_KkBukNGqEea0PPaj-cnm0w"/>
+ <ownedEnd xmi:id="_KkC8sNGqEea0PPaj-cnm0w" name="user" type="_pQnpoNGoEea0PPaj-cnm0w" association="_KkBukNGqEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_LSPfcNGqEea0PPaj-cnm0w" memberEnd="_LSQGgtGqEea0PPaj-cnm0w _LSQGg9GqEea0PPaj-cnm0w">
+ <eAnnotations xmi:id="_LSQGgNGqEea0PPaj-cnm0w" source="org.eclipse.papyrus">
+ <details xmi:id="_LSQGgdGqEea0PPaj-cnm0w" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:id="_LSQGgtGqEea0PPaj-cnm0w" name="batch document generation" type="_1rXdoNGpEea0PPaj-cnm0w" association="_LSPfcNGqEea0PPaj-cnm0w"/>
+ <ownedEnd xmi:id="_LSQGg9GqEea0PPaj-cnm0w" name="automated user" type="_ArnfANGqEea0PPaj-cnm0w" association="_LSPfcNGqEea0PPaj-cnm0w"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Model" xmi:id="_FiF4ANGlEea0PPaj-cnm0w" name="Logical View"/>
+ <packagedElement xmi:type="uml:Model" xmi:id="_PUtBkNGlEea0PPaj-cnm0w" name="Implementation View">
+ <packagedElement xmi:type="uml:Component" xmi:id="_iZbPsNGlEea0PPaj-cnm0w" clientDependency="_qcFekNGlEea0PPaj-cnm0w _25KDQNGlEea0PPaj-cnm0w _DQgacNGmEea0PPaj-cnm0w _UucQ8NGmEea0PPaj-cnm0w" name="Gendoc">
+ <ownedComment xmi:id="_6zSxANG6Eea0PPaj-cnm0w">
+ <body>Gendoc generates documentation from EMF models using document templates 
+in formats such as <i>OpenOffice Writer</i> (.odt) or <i>Microsoft Word</i> (.docx).</body>
+ </ownedComment>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_qcFekNGlEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_jiODwNGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_25KDQNGlEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_loGLINGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_DQgacNGmEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_ra_94NGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_UucQ8NGmEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_AcfasNGmEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_jiODwNGlEea0PPaj-cnm0w" clientDependency="_LbZYQNGmEea0PPaj-cnm0w _MLvQENGmEea0PPaj-cnm0w _M_4p0NGmEea0PPaj-cnm0w _NxJusNGmEea0PPaj-cnm0w" name="Papyrus">
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_LbZYQNGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_ra_94NGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_MLvQENGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_tWn9ENGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_M_4p0NGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_v9t7INGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_NxJusNGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_-lgq8NGlEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_loGLINGlEea0PPaj-cnm0w" clientDependency="_G79YgNGmEea0PPaj-cnm0w" name="Acceleo">
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_G79YgNGmEea0PPaj-cnm0w" client="_loGLINGlEea0PPaj-cnm0w" supplier="_tWn9ENGlEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_ra_94NGlEea0PPaj-cnm0w" clientDependency="_O3Ol8NGmEea0PPaj-cnm0w _PqrcINGmEea0PPaj-cnm0w" name="GMF">
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_O3Ol8NGmEea0PPaj-cnm0w" client="_ra_94NGlEea0PPaj-cnm0w" supplier="_tWn9ENGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_PqrcINGmEea0PPaj-cnm0w" client="_ra_94NGlEea0PPaj-cnm0w" supplier="_-lgq8NGlEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_tWn9ENGlEea0PPaj-cnm0w" name="EMF"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_v9t7INGlEea0PPaj-cnm0w" name="UML2"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_-lgq8NGlEea0PPaj-cnm0w" name="GEF"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_AcfasNGmEea0PPaj-cnm0w" name="Sirius"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Model" xmi:id="_SP7ckNGlEea0PPaj-cnm0w" name="Deployment View"/>
+</uml:Model>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.mars.di b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.mars.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.mars.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.mars.notation b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.mars.notation
new file mode 100644
index 0000000..3242162
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.mars.notation
@@ -0,0 +1,379 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_e_axsPRSEeemBYz1FATcvA" type="UseCase" name="Main Use Cases" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_fndCEPRSEeemBYz1FATcvA" type="2015">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fnuH0PRSEeemBYz1FATcvA" type="5019"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fnuu4PRSEeemBYz1FATcvA" type="6047">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fnuu4fRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fnuu4vRSEeemBYz1FATcvA" type="7011">
+ <children xmi:type="notation:Shape" xmi:id="_mTFMkPRSEeemBYz1FATcvA" type="3009">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mTFzoPRSEeemBYz1FATcvA" type="5018"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mTFzofRSEeemBYz1FATcvA" type="6045">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mTFzovRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mTFzo_RSEeemBYz1FATcvA" type="7012">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mTFzpPRSEeemBYz1FATcvA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mTFzpfRSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mTFzpvRSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="XlsxSimpleTest.mars.uml#_eweEoNGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mTFMkfRSEeemBYz1FATcvA" x="93" y="49"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mUL_0PRSEeemBYz1FATcvA" type="3009">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mUMm4PRSEeemBYz1FATcvA" type="5018"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mUMm4fRSEeemBYz1FATcvA" type="6045">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mUMm4vRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mUNN8PRSEeemBYz1FATcvA" type="7012">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mUNN8fRSEeemBYz1FATcvA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mUNN8vRSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mUNN8_RSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="XlsxSimpleTest.mars.uml#_gWz64NGpEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mUL_0fRSEeemBYz1FATcvA" x="77" y="149"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mUx1sPRSEeemBYz1FATcvA" type="3009">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mUx1svRSEeemBYz1FATcvA" type="5018"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mUycwPRSEeemBYz1FATcvA" type="6045">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mUycwfRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mUycwvRSEeemBYz1FATcvA" type="7012">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mUycw_RSEeemBYz1FATcvA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mUycxPRSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mUycxfRSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="XlsxSimpleTest.mars.uml#_1rXdoNGpEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mUx1sfRSEeemBYz1FATcvA" x="103" y="256"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fnuu4_RSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.mars.uml#_NE6B0NGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fndCEfRSEeemBYz1FATcvA" x="407" y="11" width="415"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fppacPRSEeemBYz1FATcvA" type="2011">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fptE0PRSEeemBYz1FATcvA" type="5014">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fptE0fRSEeemBYz1FATcvA" x="20" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fptr4PRSEeemBYz1FATcvA" type="6029">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fptr4fRSEeemBYz1FATcvA" x="20" y="100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fptr4vRSEeemBYz1FATcvA" type="6037">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fptr4_RSEeemBYz1FATcvA" x="20" y="80"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fptr5PRSEeemBYz1FATcvA" type="6048">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fptr5fRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <element xmi:type="uml:Actor" href="XlsxSimpleTest.mars.uml#_pQnpoNGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fppacfRSEeemBYz1FATcvA" x="235" y="33"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fst8kPRSEeemBYz1FATcvA" type="2011">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fst8kvRSEeemBYz1FATcvA" type="5014">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fst8k_RSEeemBYz1FATcvA" x="20" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fst8lPRSEeemBYz1FATcvA" type="6029">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fst8lfRSEeemBYz1FATcvA" x="20" y="100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fst8lvRSEeemBYz1FATcvA" type="6037">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fst8l_RSEeemBYz1FATcvA" x="20" y="80"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fst8mPRSEeemBYz1FATcvA" type="6048">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fst8mfRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <element xmi:type="uml:Actor" href="XlsxSimpleTest.mars.uml#_ArnfANGqEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fst8kfRSEeemBYz1FATcvA" x="232" y="238"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_e_axsfRSEeemBYz1FATcvA" name="diagram_compatibility_version" stringValue="1.1.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_e_axsvRSEeemBYz1FATcvA"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_e_axs_RSEeemBYz1FATcvA">
+ <owner xmi:type="uml:Model" href="XlsxSimpleTest.mars.uml#_IlKAYNGlEea0PPaj-cnm0w"/>
+ </styles>
+ <element xmi:type="uml:Model" href="XlsxSimpleTest.mars.uml#_IlKAYNGlEea0PPaj-cnm0w"/>
+ <edges xmi:type="notation:Connector" xmi:id="_oG898PRSEeemBYz1FATcvA" type="4011" source="_fppacPRSEeemBYz1FATcvA" target="_mUL_0PRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_oG898_RSEeemBYz1FATcvA" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oG899PRSEeemBYz1FATcvA" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oG899fRSEeemBYz1FATcvA" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oG899vRSEeemBYz1FATcvA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_oG898fRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Association" href="XlsxSimpleTest.mars.uml#_Jq1cwNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oG898vRSEeemBYz1FATcvA" points="[30, 18, -224, -135]$[273, 164, 19, 11]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oG9lAPRSEeemBYz1FATcvA" id="(0.0,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oG9lAfRSEeemBYz1FATcvA" id="(0.0,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_oHdUQPRSEeemBYz1FATcvA" type="4011" source="_fppacPRSEeemBYz1FATcvA" target="_mUx1sPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_oHd7UPRSEeemBYz1FATcvA" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oHd7UfRSEeemBYz1FATcvA" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oHd7UvRSEeemBYz1FATcvA" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oHd7U_RSEeemBYz1FATcvA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_oHdUQfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Association" href="XlsxSimpleTest.mars.uml#_KkBukNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oHdUQvRSEeemBYz1FATcvA" points="[30, 27, -250, -233]$[294, 273, 14, 13]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oHeiYPRSEeemBYz1FATcvA" id="(0.0,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oHeiYfRSEeemBYz1FATcvA" id="(0.0,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_oH6AMPRSEeemBYz1FATcvA" type="4011" source="_fst8kPRSEeemBYz1FATcvA" target="_mUx1sPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_oH6AM_RSEeemBYz1FATcvA" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oH6ANPRSEeemBYz1FATcvA" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oH6ANfRSEeemBYz1FATcvA" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oH6ANvRSEeemBYz1FATcvA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_oH6AMfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Association" href="XlsxSimpleTest.mars.uml#_LSPfcNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oH6AMvRSEeemBYz1FATcvA" points="[30, 5, -253, -50]$[315, 61, 32, 6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oH6nQPRSEeemBYz1FATcvA" id="(0.0,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oH6nQfRSEeemBYz1FATcvA" id="(0.0,0.0)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_sZhmYPRSEeemBYz1FATcvA" type="PapyrusUMLComponentDiagram" name="Gendoc System" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_tLfO0PRSEeemBYz1FATcvA" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tLf14PRSEeemBYz1FATcvA" type="5004"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tLgc8PRSEeemBYz1FATcvA" type="6030">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tLgc8fRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tLgc8vRSEeemBYz1FATcvA" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tLgc8_RSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tLgc9PRSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.mars.uml#_iZbPsNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tLfO0fRSEeemBYz1FATcvA" x="360" y="30"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tMLyYPRSEeemBYz1FATcvA" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tMLyYvRSEeemBYz1FATcvA" type="5004"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tMLyY_RSEeemBYz1FATcvA" type="6030">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tMLyZPRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tMLyZfRSEeemBYz1FATcvA" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tMLyZvRSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tMLyZ_RSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.mars.uml#_jiODwNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tMLyYfRSEeemBYz1FATcvA" x="240" y="160"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tMf7cPRSEeemBYz1FATcvA" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tMf7cvRSEeemBYz1FATcvA" type="5004"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tMf7c_RSEeemBYz1FATcvA" type="6030">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tMf7dPRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tMgigPRSEeemBYz1FATcvA" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tMgigfRSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tMgigvRSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.mars.uml#_loGLINGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tMf7cfRSEeemBYz1FATcvA" x="481" y="160"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tM1SoPRSEeemBYz1FATcvA" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tM1SovRSEeemBYz1FATcvA" type="5004"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tM1So_RSEeemBYz1FATcvA" type="6030">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tM1SpPRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tM1SpfRSEeemBYz1FATcvA" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tM1SpvRSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tM1Sp_RSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.mars.uml#_ra_94NGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tM1SofRSEeemBYz1FATcvA" x="361" y="290"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tNR-kPRSEeemBYz1FATcvA" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tNSloPRSEeemBYz1FATcvA" type="5004"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tNSlofRSEeemBYz1FATcvA" type="6030">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tNSlovRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tNSlo_RSEeemBYz1FATcvA" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tNSlpPRSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tNSlpfRSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.mars.uml#_tWn9ENGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tNR-kfRSEeemBYz1FATcvA" x="419" y="420"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tNwfsPRSEeemBYz1FATcvA" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tNxGwPRSEeemBYz1FATcvA" type="5004"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tNxGwfRSEeemBYz1FATcvA" type="6030">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tNxGwvRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tNxGw_RSEeemBYz1FATcvA" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tNxGxPRSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tNxGxfRSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.mars.uml#_v9t7INGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tNwfsfRSEeemBYz1FATcvA" x="89" y="290"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tOPn4PRSEeemBYz1FATcvA" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tOQO8PRSEeemBYz1FATcvA" type="5004"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tOQO8fRSEeemBYz1FATcvA" type="6030">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tOQO8vRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tOQO8_RSEeemBYz1FATcvA" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tOQO9PRSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tOQO9fRSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.mars.uml#_-lgq8NGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tOPn4fRSEeemBYz1FATcvA" x="209" y="420"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tO0PoPRSEeemBYz1FATcvA" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tO0PovRSEeemBYz1FATcvA" type="5004"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tO0Po_RSEeemBYz1FATcvA" type="6030">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tO0PpPRSEeemBYz1FATcvA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tO0PpfRSEeemBYz1FATcvA" type="7001">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tO0PpvRSEeemBYz1FATcvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tO0Pp_RSEeemBYz1FATcvA"/>
+ </children>
+ <element xmi:type="uml:Component" href="XlsxSimpleTest.mars.uml#_AcfasNGmEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tO0PofRSEeemBYz1FATcvA" x="30" y="160"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_sZhmYfRSEeemBYz1FATcvA" name="diagram_compatibility_version" stringValue="1.1.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_sZhmYvRSEeemBYz1FATcvA"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_sZhmY_RSEeemBYz1FATcvA">
+ <owner xmi:type="uml:Model" href="XlsxSimpleTest.mars.uml#_PUtBkNGlEea0PPaj-cnm0w"/>
+ </styles>
+ <element xmi:type="uml:Model" href="XlsxSimpleTest.mars.uml#_PUtBkNGlEea0PPaj-cnm0w"/>
+ <edges xmi:type="notation:Connector" xmi:id="_27NccPRSEeemBYz1FATcvA" type="4010" source="_tLfO0PRSEeemBYz1FATcvA" target="_tMLyYPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_27OqkPRSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_27OqkfRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_27OqkvRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_27Oqk_RSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_27NccfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_qcFekNGlEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_27NccvRSEeemBYz1FATcvA" points="[0, 0, 95, -60]$[-95, 60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_27PRoPRSEeemBYz1FATcvA" id="(0.3333333333333333,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_27PRofRSEeemBYz1FATcvA" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_27rWgPRSEeemBYz1FATcvA" type="4010" source="_tLfO0PRSEeemBYz1FATcvA" target="_tMf7cPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_27r9kPRSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_27r9kfRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_27r9kvRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_27r9k_RSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_27rWgfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_25KDQNGlEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_27rWgvRSEeemBYz1FATcvA" points="[0, 0, -83, -60]$[83, 60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_27skoPRSEeemBYz1FATcvA" id="(0.7533333333333333,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_27skofRSEeemBYz1FATcvA" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_28E_IPRSEeemBYz1FATcvA" type="4010" source="_tLfO0PRSEeemBYz1FATcvA" target="_tM1SoPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_28E_I_RSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_28E_JPRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_28E_JfRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_28FmMPRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_28E_IfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_DQgacNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_28E_IvRSEeemBYz1FATcvA" points="[0, 0, 0, -190]$[0, 190, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_28FmMfRSEeemBYz1FATcvA" id="(0.5066666666666667,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_28FmMvRSEeemBYz1FATcvA" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_28ZIMPRSEeemBYz1FATcvA" type="4010" source="_tLfO0PRSEeemBYz1FATcvA" target="_tO0PoPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_28ZIM_RSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_28ZINPRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_28ZINfRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_28ZINvRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_28ZIMfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_UucQ8NGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_28ZIMvRSEeemBYz1FATcvA" points="[0, 0, 280, -60]$[-280, 60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_28ZvQPRSEeemBYz1FATcvA" id="(0.16666666666666666,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_28ZvQfRSEeemBYz1FATcvA" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_3u2f4PRSEeemBYz1FATcvA" type="4010" source="_tMLyYPRSEeemBYz1FATcvA" target="_tM1SoPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3u2f4_RSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3u2f5PRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3u2f5fRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3u2f5vRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3u2f4fRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_LbZYQNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3u2f4vRSEeemBYz1FATcvA" points="[0, 0, -45, -60]$[45, 60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3u3G8PRSEeemBYz1FATcvA" id="(0.7533333333333333,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3u3G8fRSEeemBYz1FATcvA" id="(0.24666666666666667,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_3vO6YPRSEeemBYz1FATcvA" type="4010" source="_tMLyYPRSEeemBYz1FATcvA" target="_tNR-kPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3vPhcPRSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3vPhcfRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3vPhcvRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3vPhc_RSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3vO6YfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_MLvQENGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3vO6YvRSEeemBYz1FATcvA" points="[0, 0, -110, -190]$[0, 129, -110, -61]$[110, 190, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3vPhdPRSEeemBYz1FATcvA" id="(0.5133333333333333,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3vPhdfRSEeemBYz1FATcvA" id="(0.05333333333333334,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_3vn78PRSEeemBYz1FATcvA" type="4010" source="_tMLyYPRSEeemBYz1FATcvA" target="_tNwfsPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3vojAPRSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3vojAfRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3vojAvRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3vojA_RSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3vn78fRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_M_4p0NGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3vn78vRSEeemBYz1FATcvA" points="[0, 0, 98, -60]$[-98, 60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3vpKEPRSEeemBYz1FATcvA" id="(0.14666666666666667,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3vpKEfRSEeemBYz1FATcvA" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_3v-hQPRSEeemBYz1FATcvA" type="4010" source="_tMLyYPRSEeemBYz1FATcvA" target="_tOPn4PRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3v_IUPRSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3v_IUfRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3v_IUvRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3v_IU_RSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3v-hQfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_NxJusNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3v-hQvRSEeemBYz1FATcvA" points="[0, 0, 0, -190]$[0, 190, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3v_IVPRSEeemBYz1FATcvA" id="(0.29333333333333333,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3v_IVfRSEeemBYz1FATcvA" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_4Z8EQPRSEeemBYz1FATcvA" type="4010" source="_tMf7cPRSEeemBYz1FATcvA" target="_tNR-kPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4Z8rUPRSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4Z8rUfRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4Z8rUvRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4Z8rU_RSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4Z8EQfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_G79YgNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4Z8EQvRSEeemBYz1FATcvA" points="[0, 0, 0, -190]$[0, 190, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4Z8rVPRSEeemBYz1FATcvA" id="(0.49333333333333335,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4Z9SYPRSEeemBYz1FATcvA" id="(0.9066666666666666,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5DD5wPRSEeemBYz1FATcvA" type="4010" source="_tM1SoPRSEeemBYz1FATcvA" target="_tNR-kPRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5DEg0PRSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5DEg0fRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5DEg0vRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5DEg0_RSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5DD5wfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_O3Ol8NGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5DD5wvRSEeemBYz1FATcvA" points="[0, 0, 0, -60]$[0, 60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5DEg1PRSEeemBYz1FATcvA" id="(0.5,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5DEg1fRSEeemBYz1FATcvA" id="(0.11333333333333333,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5DafEPRSEeemBYz1FATcvA" type="4010" source="_tM1SoPRSEeemBYz1FATcvA" target="_tOPn4PRSEeemBYz1FATcvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5DbGIPRSEeemBYz1FATcvA" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5DbGIfRSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5DbGIvRSEeemBYz1FATcvA" type="6023">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5DbGI_RSEeemBYz1FATcvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5DafEfRSEeemBYz1FATcvA"/>
+ <element xmi:type="uml:Dependency" href="XlsxSimpleTest.mars.uml#_PqrcINGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5DafEvRSEeemBYz1FATcvA" points="[0, 0, 77, -60]$[-77, 60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5DbtMPRSEeemBYz1FATcvA" id="(0.24666666666666667,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5DbtMfRSEeemBYz1FATcvA" id="(0.7466666666666667,0.0)"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.mars.uml b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.mars.uml
new file mode 100644
index 0000000..a7615e3
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.mars.uml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_6jElsNGkEea0PPaj-cnm0w" name="Gendoc">
+ <packagedElement xmi:type="uml:Model" xmi:id="_IlKAYNGlEea0PPaj-cnm0w" name="Use Case View">
+ <packagedElement xmi:type="uml:Component" xmi:id="_NE6B0NGoEea0PPaj-cnm0w" name="Gendoc" useCase="_eweEoNGoEea0PPaj-cnm0w _gWz64NGpEea0PPaj-cnm0w _1rXdoNGpEea0PPaj-cnm0w">
+ <generalization xmi:type="uml:Generalization" xmi:id="_Yu48sNGoEea0PPaj-cnm0w" general="_iZbPsNGlEea0PPaj-cnm0w"/>
+ <ownedUseCase xmi:type="uml:UseCase" xmi:id="_eweEoNGoEea0PPaj-cnm0w" name="Generate Document" subject="_NE6B0NGoEea0PPaj-cnm0w">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_Z-dzkNG7Eea0PPaj-cnm0w">
+ <body>An <b>automated</b> system that will use the batch generation process to generate 
+the documentation of the system contained in the model.</body>
+ </ownedComment>
+ </ownedUseCase>
+ <ownedUseCase xmi:type="uml:UseCase" xmi:id="_gWz64NGpEea0PPaj-cnm0w" name="Generate Document from Eclipse" subject="_NE6B0NGoEea0PPaj-cnm0w">
+ <include xmi:type="uml:Include" xmi:id="_-Kwr0NGpEea0PPaj-cnm0w" addition="_eweEoNGoEea0PPaj-cnm0w"/>
+ </ownedUseCase>
+ <ownedUseCase xmi:type="uml:UseCase" xmi:id="_1rXdoNGpEea0PPaj-cnm0w" name="Batch Document Generation" subject="_NE6B0NGoEea0PPaj-cnm0w">
+ <include xmi:type="uml:Include" xmi:id="__j2lsNGpEea0PPaj-cnm0w" addition="_eweEoNGoEea0PPaj-cnm0w"/>
+ </ownedUseCase>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Actor" xmi:id="_pQnpoNGoEea0PPaj-cnm0w" name="User">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_PtvKoNG7Eea0PPaj-cnm0w">
+ <body>A modeling user that document his model and it use <b>Gendoc</b> to generate 
+the documentation of the system contained in the model.</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Actor" xmi:id="_ArnfANGqEea0PPaj-cnm0w" name="Automated User"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Jq1cwNGqEea0PPaj-cnm0w" memberEnd="_JrJl0NGqEea0PPaj-cnm0w _JrKM4NGqEea0PPaj-cnm0w">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JrFUYNGqEea0PPaj-cnm0w" source="org.eclipse.papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrF7cNGqEea0PPaj-cnm0w" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_JrJl0NGqEea0PPaj-cnm0w" name="generate document from eclipse" type="_gWz64NGpEea0PPaj-cnm0w" association="_Jq1cwNGqEea0PPaj-cnm0w"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_JrKM4NGqEea0PPaj-cnm0w" name="user" type="_pQnpoNGoEea0PPaj-cnm0w" association="_Jq1cwNGqEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_KkBukNGqEea0PPaj-cnm0w" memberEnd="_KkCVotGqEea0PPaj-cnm0w _KkC8sNGqEea0PPaj-cnm0w">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KkCVoNGqEea0PPaj-cnm0w" source="org.eclipse.papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KkCVodGqEea0PPaj-cnm0w" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_KkCVotGqEea0PPaj-cnm0w" name="batch document generation" type="_1rXdoNGpEea0PPaj-cnm0w" association="_KkBukNGqEea0PPaj-cnm0w"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_KkC8sNGqEea0PPaj-cnm0w" name="user" type="_pQnpoNGoEea0PPaj-cnm0w" association="_KkBukNGqEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_LSPfcNGqEea0PPaj-cnm0w" memberEnd="_LSQGgtGqEea0PPaj-cnm0w _LSQGg9GqEea0PPaj-cnm0w">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LSQGgNGqEea0PPaj-cnm0w" source="org.eclipse.papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LSQGgdGqEea0PPaj-cnm0w" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_LSQGgtGqEea0PPaj-cnm0w" name="batch document generation" type="_1rXdoNGpEea0PPaj-cnm0w" association="_LSPfcNGqEea0PPaj-cnm0w"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_LSQGg9GqEea0PPaj-cnm0w" name="automated user" type="_ArnfANGqEea0PPaj-cnm0w" association="_LSPfcNGqEea0PPaj-cnm0w"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Model" xmi:id="_FiF4ANGlEea0PPaj-cnm0w" name="Logical View"/>
+ <packagedElement xmi:type="uml:Model" xmi:id="_PUtBkNGlEea0PPaj-cnm0w" name="Implementation View">
+ <packagedElement xmi:type="uml:Component" xmi:id="_iZbPsNGlEea0PPaj-cnm0w" name="Gendoc">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_6zSxANG6Eea0PPaj-cnm0w">
+ <body>Gendoc generates documentation from EMF models using document templates 
+in formats such as <i>OpenOffice Writer</i> (.odt) or <i>Microsoft Word</i> (.docx).</body>
+ </ownedComment>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_qcFekNGlEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_jiODwNGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_25KDQNGlEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_loGLINGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_DQgacNGmEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_ra_94NGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_UucQ8NGmEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_AcfasNGmEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_jiODwNGlEea0PPaj-cnm0w" name="Papyrus">
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_LbZYQNGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_ra_94NGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_MLvQENGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_tWn9ENGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_M_4p0NGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_v9t7INGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_NxJusNGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_-lgq8NGlEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_loGLINGlEea0PPaj-cnm0w" name="Acceleo">
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_G79YgNGmEea0PPaj-cnm0w" client="_loGLINGlEea0PPaj-cnm0w" supplier="_tWn9ENGlEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_ra_94NGlEea0PPaj-cnm0w" name="GMF">
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_O3Ol8NGmEea0PPaj-cnm0w" client="_ra_94NGlEea0PPaj-cnm0w" supplier="_tWn9ENGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_PqrcINGmEea0PPaj-cnm0w" client="_ra_94NGlEea0PPaj-cnm0w" supplier="_-lgq8NGlEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_tWn9ENGlEea0PPaj-cnm0w" name="EMF"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_v9t7INGlEea0PPaj-cnm0w" name="UML2"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_-lgq8NGlEea0PPaj-cnm0w" name="GEF"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_AcfasNGmEea0PPaj-cnm0w" name="Sirius"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Model" xmi:id="_SP7ckNGlEea0PPaj-cnm0w" name="Deployment View"/>
+</uml:Model>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.notation b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.notation
new file mode 100644
index 0000000..42d15d6
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.notation
@@ -0,0 +1,494 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_ZeG6gNGlEea0PPaj-cnm0w" type="UseCase" name="Main Use Cases" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_NE7P8NGoEea0PPaj-cnm0w" type="Classifier_SubjectShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NE73ANGoEea0PPaj-cnm0w" type="Classifier_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NE73AdGoEea0PPaj-cnm0w" type="Classifier_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NE73AtGoEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NE73A9GoEea0PPaj-cnm0w" type="Classifier_UseCaseCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_ewnOkNGoEea0PPaj-cnm0w" type="UseCase_Shape_CCN">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nA0KMNGoEea0PPaj-cnm0w" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nA0KMdGoEea0PPaj-cnm0w" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2h4rYNGoEea0PPaj-cnm0w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2h4rYdGoEea0PPaj-cnm0w" key="canonical" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ewn1oNGoEea0PPaj-cnm0w" type="UseCase_NameLabel_CCN"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ewn1odGoEea0PPaj-cnm0w" type="UseCase_FloatingNameLabel_CCN">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ewn1otGoEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ewn1o9GoEea0PPaj-cnm0w" visible="false" type="UseCase_ExtensionPointCompartment_CCN">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DexYkNGpEea0PPaj-cnm0w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DexYkdGpEea0PPaj-cnm0w" key="visible" value="true"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DftMsNGpEea0PPaj-cnm0w" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ewn1pNGoEea0PPaj-cnm0w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ewn1pdGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ewn1ptGoEea0PPaj-cnm0w"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_eww_kNGoEea0PPaj-cnm0w" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Dex_oNGpEea0PPaj-cnm0w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Dex_odGpEea0PPaj-cnm0w" key="visible" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_eww_kdGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eww_ktGoEea0PPaj-cnm0w"/>
+ </children>
+ <styles xmi:type="notation:CanonicalStyle" xmi:id="_2h4EUNGoEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:UseCase" href="OpenOfficeSimpleTest.uml#_eweEoNGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ewnOkdGoEea0PPaj-cnm0w" x="281" y="127" height="55"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_gW8dwNGpEea0PPaj-cnm0w" type="UseCase_Shape_CCN">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pRA1wNGpEea0PPaj-cnm0w" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pRBc0NGpEea0PPaj-cnm0w" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_gW8dwtGpEea0PPaj-cnm0w" type="UseCase_NameLabel_CCN"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_gW8dw9GpEea0PPaj-cnm0w" type="UseCase_FloatingNameLabel_CCN">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_gW8dxNGpEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_gW8dxdGpEea0PPaj-cnm0w" type="UseCase_ExtensionPointCompartment_CCN">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_gW8dxtGpEea0PPaj-cnm0w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_gW8dx9GpEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gW8dyNGpEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="OpenOfficeSimpleTest.uml#_gWz64NGpEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gW8dwdGpEea0PPaj-cnm0w" x="45" y="36" width="199"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1rc9MNGpEea0PPaj-cnm0w" type="UseCase_Shape_CCN">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_51_rANGpEea0PPaj-cnm0w" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_51_rAdGpEea0PPaj-cnm0w" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1rc9MtGpEea0PPaj-cnm0w" type="UseCase_NameLabel_CCN"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1rc9M9GpEea0PPaj-cnm0w" type="UseCase_FloatingNameLabel_CCN">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1rc9NNGpEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1rc9NdGpEea0PPaj-cnm0w" type="UseCase_ExtensionPointCompartment_CCN">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1rc9NtGpEea0PPaj-cnm0w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1rc9N9GpEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1rc9ONGpEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="OpenOfficeSimpleTest.uml#_1rXdoNGpEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1rc9MdGpEea0PPaj-cnm0w" x="56" y="157" width="170" height="73"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NE73BNGoEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:Component" href="OpenOfficeSimpleTest.uml#_NE6B0NGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NE7P8dGoEea0PPaj-cnm0w" x="179" y="80" width="460" height="309"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pQo3wNGoEea0PPaj-cnm0w" type="Actor_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_pQo3wtGoEea0PPaj-cnm0w" type="Actor_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pQpe0NGoEea0PPaj-cnm0w" x="3" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_pQpe0dGoEea0PPaj-cnm0w" type="Actor_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pQpe0tGoEea0PPaj-cnm0w" x="20" y="100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_pQpe09GoEea0PPaj-cnm0w" type="Actor_QualifiedNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pQpe1NGoEea0PPaj-cnm0w" x="20" y="80"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_pQpe1dGoEea0PPaj-cnm0w" type="Actor_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pQpe1tGoEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <element xmi:type="uml:Actor" href="OpenOfficeSimpleTest.uml#_pQnpoNGoEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pQo3wdGoEea0PPaj-cnm0w" x="33" y="166"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Arp7QNGqEea0PPaj-cnm0w" type="Actor_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Arp7QtGqEea0PPaj-cnm0w" type="Actor_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Arp7Q9GqEea0PPaj-cnm0w" x="-27" y="58"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Arp7RNGqEea0PPaj-cnm0w" type="Actor_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Arp7RdGqEea0PPaj-cnm0w" x="20" y="100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Arp7RtGqEea0PPaj-cnm0w" type="Actor_QualifiedNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Arp7R9GqEea0PPaj-cnm0w" x="20" y="80"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Arp7SNGqEea0PPaj-cnm0w" type="Actor_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Arp7SdGqEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <element xmi:type="uml:Actor" href="OpenOfficeSimpleTest.uml#_ArnfANGqEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Arp7QdGqEea0PPaj-cnm0w" x="40" y="294"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_ZeG6gdGlEea0PPaj-cnm0w" name="diagram_compatibility_version" stringValue="1.2.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_ZeG6gtGlEea0PPaj-cnm0w"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_ZeG6g9GlEea0PPaj-cnm0w">
+ <owner xmi:type="uml:Model" href="OpenOfficeSimpleTest.uml#_IlKAYNGlEea0PPaj-cnm0w"/>
+ </styles>
+ <element xmi:type="uml:Model" href="OpenOfficeSimpleTest.uml#_IlKAYNGlEea0PPaj-cnm0w"/>
+ <edges xmi:type="notation:Connector" xmi:id="_-K2ycNGpEea0PPaj-cnm0w" type="Include_Edge" source="_gW8dwNGpEea0PPaj-cnm0w" target="_ewnOkNGoEea0PPaj-cnm0w">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-K2yc9GpEea0PPaj-cnm0w" type="Include_KeywordLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-K2ydNGpEea0PPaj-cnm0w" x="-16" y="-12"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-K2yddGpEea0PPaj-cnm0w" type="Include_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-K2ydtGpEea0PPaj-cnm0w" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-K2ycdGpEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Include" href="OpenOfficeSimpleTest.uml#_-Kwr0NGpEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-K2yctGpEea0PPaj-cnm0w" points="[423, 181, -643984, -643984]$[485, 241, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-LRpMNGpEea0PPaj-cnm0w" id="(0.9698492462311558,0.65)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-LRpMdGpEea0PPaj-cnm0w" id="(0.1357142857142857,0.14545454545454545)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__kCL4NGpEea0PPaj-cnm0w" type="Include_Edge" source="_1rc9MNGpEea0PPaj-cnm0w" target="_ewnOkNGoEea0PPaj-cnm0w">
+ <children xmi:type="notation:DecorationNode" xmi:id="__kCL49GpEea0PPaj-cnm0w" type="Include_KeywordLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__kCy8NGpEea0PPaj-cnm0w" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__kCy8dGpEea0PPaj-cnm0w" type="Include_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__kCy8tGpEea0PPaj-cnm0w" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__kCL4dGpEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Include" href="OpenOfficeSimpleTest.uml#__j2lsNGpEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__kCL4tGpEea0PPaj-cnm0w" points="[410, 304, -643984, -643984]$[484, 279, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__kW8ANGpEea0PPaj-cnm0w" id="(0.9941176470588236,0.5616438356164384)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__kW8AdGpEea0PPaj-cnm0w" id="(0.12857142857142856,0.8363636363636363)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_JrMCENGqEea0PPaj-cnm0w" type="Association_Edge" source="_pQo3wNGoEea0PPaj-cnm0w" target="_gW8dwNGpEea0PPaj-cnm0w">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JrMCE9GqEea0PPaj-cnm0w" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NLvXsNGqEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JrMCFNGqEea0PPaj-cnm0w" x="1" y="-18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_JrMCFdGqEea0PPaj-cnm0w" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NMHyMNGqEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JrMpINGqEea0PPaj-cnm0w" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_JrMpIdGqEea0PPaj-cnm0w" type="Association_TargetRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JrMpItGqEea0PPaj-cnm0w" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_JrMpI9GqEea0PPaj-cnm0w" type="Association_SourceRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JrMpJNGqEea0PPaj-cnm0w" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_JrMpJdGqEea0PPaj-cnm0w" type="Association_SourceMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JrMpJtGqEea0PPaj-cnm0w" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_JrMpJ9GqEea0PPaj-cnm0w" type="Association_TargetMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JrMpKNGqEea0PPaj-cnm0w" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_JrMCEdGqEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Association" href="OpenOfficeSimpleTest.uml#_Jq1cwNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JrMCEtGqEea0PPaj-cnm0w" points="[63, 195, -643984, -643984]$[232, 178, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Jrx38NGqEea0PPaj-cnm0w" id="(1.0,0.5941293532338306)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JryfANGqEea0PPaj-cnm0w" id="(0.010050251256281407,0.6)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_KkEK0NGqEea0PPaj-cnm0w" type="Association_Edge" source="_pQo3wNGoEea0PPaj-cnm0w" target="_1rc9MNGpEea0PPaj-cnm0w">
+ <children xmi:type="notation:DecorationNode" xmi:id="_KkEx4NGqEea0PPaj-cnm0w" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NMXp0NGqEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_KkEx4dGqEea0PPaj-cnm0w" x="1" y="-18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KkEx4tGqEea0PPaj-cnm0w" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NMtBANGqEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_KkEx49GqEea0PPaj-cnm0w" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KkEx5NGqEea0PPaj-cnm0w" type="Association_TargetRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_KkEx5dGqEea0PPaj-cnm0w" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KkEx5tGqEea0PPaj-cnm0w" type="Association_SourceRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_KkEx59GqEea0PPaj-cnm0w" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KkEx6NGqEea0PPaj-cnm0w" type="Association_SourceMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_KkEx6dGqEea0PPaj-cnm0w" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KkEx6tGqEea0PPaj-cnm0w" type="Association_TargetMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_KkEx69GqEea0PPaj-cnm0w" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_KkEK0dGqEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Association" href="OpenOfficeSimpleTest.uml#_KkBukNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KkEK0tGqEea0PPaj-cnm0w" points="[63, 209, -643984, -643984]$[258, 277, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KkiE4NGqEea0PPaj-cnm0w" id="(1.0,0.8648192771084336)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KkiE4dGqEea0PPaj-cnm0w" id="(0.1,0.1917808219178082)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LSR7sNGqEea0PPaj-cnm0w" type="Association_Edge" source="_Arp7QNGqEea0PPaj-cnm0w" target="_1rc9MNGpEea0PPaj-cnm0w">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LSR7s9GqEea0PPaj-cnm0w" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NM-t0NGqEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LSR7tNGqEea0PPaj-cnm0w" x="1" y="-18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LSR7tdGqEea0PPaj-cnm0w" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NNTd8NGqEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LSR7ttGqEea0PPaj-cnm0w" x="-1" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LSR7t9GqEea0PPaj-cnm0w" type="Association_TargetRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LSR7uNGqEea0PPaj-cnm0w" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LSR7udGqEea0PPaj-cnm0w" type="Association_SourceRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LSR7utGqEea0PPaj-cnm0w" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LSR7u9GqEea0PPaj-cnm0w" type="Association_SourceMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LSR7vNGqEea0PPaj-cnm0w" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LSR7vdGqEea0PPaj-cnm0w" type="Association_TargetMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LSR7vtGqEea0PPaj-cnm0w" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LSR7sdGqEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Association" href="OpenOfficeSimpleTest.uml#_LSPfcNGqEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LSR7stGqEea0PPaj-cnm0w" points="[70, 314, -643984, -643984]$[244, 309, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LS4_sNGqEea0PPaj-cnm0w" id="(1.0,0.41023255813953485)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LS4_sdGqEea0PPaj-cnm0w" id="(0.01764705882352941,0.6301369863013698)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_fB4sINGlEea0PPaj-cnm0w" type="PapyrusUMLComponentDiagram" name="Gendoc System" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_iZnc8NGlEea0PPaj-cnm0w" type="Component_PackagedElementShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_iaEv8NGlEea0PPaj-cnm0w" type="Component_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_iaEv8dGlEea0PPaj-cnm0w" type="Component_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iaEv8tGlEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_iaHMMNGlEea0PPaj-cnm0w" type="Component_StructureCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_iaHzQNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iaHzQdGlEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:Component" href="OpenOfficeSimpleTest.uml#_iZbPsNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iZnc8dGlEea0PPaj-cnm0w" x="-133" y="172"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jiQgANGlEea0PPaj-cnm0w" type="Component_PackagedElementShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jiRHENGlEea0PPaj-cnm0w" type="Component_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jiRHEdGlEea0PPaj-cnm0w" type="Component_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jiRHEtGlEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jiRHE9GlEea0PPaj-cnm0w" type="Component_StructureCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_jiRHFNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jiRHFdGlEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:Component" href="OpenOfficeSimpleTest.uml#_jiODwNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jiQgAdGlEea0PPaj-cnm0w" x="92" y="168"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_loIAUNGlEea0PPaj-cnm0w" type="Component_PackagedElementShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_loInYNGlEea0PPaj-cnm0w" type="Component_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_loInYdGlEea0PPaj-cnm0w" type="Component_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_loInYtGlEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_loInY9GlEea0PPaj-cnm0w" type="Component_StructureCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_loInZNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_loInZdGlEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:Component" href="OpenOfficeSimpleTest.uml#_loGLINGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_loIAUdGlEea0PPaj-cnm0w" x="93" y="283"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_rbCaINGlEea0PPaj-cnm0w" type="Component_PackagedElementShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_rbDBMNGlEea0PPaj-cnm0w" type="Component_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_rbDBMdGlEea0PPaj-cnm0w" type="Component_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rbDBMtGlEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_rbDBM9GlEea0PPaj-cnm0w" type="Component_StructureCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_rbDBNNGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rbDBNdGlEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:Component" href="OpenOfficeSimpleTest.uml#_ra_94NGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rbCaIdGlEea0PPaj-cnm0w" x="76" y="3"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tWpyQNGlEea0PPaj-cnm0w" type="Component_PackagedElementShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tWqZUNGlEea0PPaj-cnm0w" type="Component_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tWtcoNGlEea0PPaj-cnm0w" type="Component_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tWuDsNGlEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tWuDsdGlEea0PPaj-cnm0w" type="Component_StructureCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tWuDstGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tWuDs9GlEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:Component" href="OpenOfficeSimpleTest.uml#_tWn9ENGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tWpyQdGlEea0PPaj-cnm0w" x="301" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v9vwUNGlEea0PPaj-cnm0w" type="Component_PackagedElementShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_v9vwUtGlEea0PPaj-cnm0w" type="Component_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_v9vwU9GlEea0PPaj-cnm0w" type="Component_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v9vwVNGlEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_v9vwVdGlEea0PPaj-cnm0w" type="Component_StructureCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_v9vwVtGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v9vwV9GlEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:Component" href="OpenOfficeSimpleTest.uml#_v9t7INGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v9vwUdGlEea0PPaj-cnm0w" x="511" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-ligINGlEea0PPaj-cnm0w" type="Component_PackagedElementShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-ligItGlEea0PPaj-cnm0w" type="Component_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-ligI9GlEea0PPaj-cnm0w" type="Component_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-ligJNGlEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-ligJdGlEea0PPaj-cnm0w" type="Component_StructureCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-ligJtGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-ligJ9GlEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:Component" href="OpenOfficeSimpleTest.uml#_-lgq8NGlEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-ligIdGlEea0PPaj-cnm0w" x="514" y="118"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_AchP4NGmEea0PPaj-cnm0w" type="Component_PackagedElementShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AchP4tGmEea0PPaj-cnm0w" type="Component_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AchP49GmEea0PPaj-cnm0w" type="Component_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AchP5NGmEea0PPaj-cnm0w" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AchP5dGmEea0PPaj-cnm0w" type="Component_StructureCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_AchP5tGmEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AchP59GmEea0PPaj-cnm0w"/>
+ </children>
+ <element xmi:type="uml:Component" href="OpenOfficeSimpleTest.uml#_AcfasNGmEea0PPaj-cnm0w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AchP4dGmEea0PPaj-cnm0w" x="91" y="405"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_fB4sIdGlEea0PPaj-cnm0w" name="diagram_compatibility_version" stringValue="1.2.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_fB4sItGlEea0PPaj-cnm0w"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_fB4sI9GlEea0PPaj-cnm0w">
+ <owner xmi:type="uml:Model" href="OpenOfficeSimpleTest.uml#_PUtBkNGlEea0PPaj-cnm0w"/>
+ </styles>
+ <element xmi:type="uml:Model" href="OpenOfficeSimpleTest.uml#_PUtBkNGlEea0PPaj-cnm0w"/>
+ <edges xmi:type="notation:Connector" xmi:id="_qcWkUNGlEea0PPaj-cnm0w" type="Dependency_Edge" source="_iZnc8NGlEea0PPaj-cnm0w" target="_jiQgANGlEea0PPaj-cnm0w" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qcXycNGlEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y7D2ANGlEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qcXycdGlEea0PPaj-cnm0w" x="-1" y="37"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qcYZgNGlEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y7O1INGlEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qcYZgdGlEea0PPaj-cnm0w" x="-1" y="57"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_qcWkUdGlEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_qcFekNGlEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qcXLYNGlEea0PPaj-cnm0w" points="[17, 209, -643984, -643984]$[92, 209, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qddXkNGlEea0PPaj-cnm0w" id="(1.0,0.5285714285714286)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qddXkdGlEea0PPaj-cnm0w" id="(0.0,0.5857142857142857)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_25W3kNGlEea0PPaj-cnm0w" type="Dependency_Edge" source="_iZnc8NGlEea0PPaj-cnm0w" target="_loIAUNGlEea0PPaj-cnm0w" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_25XeoNGlEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_5ZM-INGlEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_25XeodGlEea0PPaj-cnm0w" x="-1" y="38"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_25XeotGlEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_5ZiVUNGlEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_25Xeo9GlEea0PPaj-cnm0w" x="-2" y="57"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_25W3kdGlEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_25KDQNGlEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_25W3ktGlEea0PPaj-cnm0w" points="[-58, 242, -643984, -643984]$[-58, 320, -643984, -643984]$[93, 320, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_251YsNGlEea0PPaj-cnm0w" id="(0.5,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_251YsdGlEea0PPaj-cnm0w" id="(0.0,0.5142857142857142)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_DQz8cNGmEea0PPaj-cnm0w" type="Dependency_Edge" source="_iZnc8NGlEea0PPaj-cnm0w" target="_rbCaINGlEea0PPaj-cnm0w" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_DQ1KkNGmEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xmn_ANGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_DQ1KkdGmEea0PPaj-cnm0w" x="-1" y="38"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_DQ1KktGmEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XmxwANGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_DQ1Kk9GmEea0PPaj-cnm0w" x="-1" y="58"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_DQz8cdGmEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_DQgacNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DQz8ctGmEea0PPaj-cnm0w" points="[-74, 172, -643984, -643984]$[-74, 46, -643984, -643984]$[76, 46, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DRU50NGmEea0PPaj-cnm0w" id="(0.3933333333333333,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DRVg4NGmEea0PPaj-cnm0w" id="(0.0,0.6142857142857143)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_G8IXoNGmEea0PPaj-cnm0w" type="Dependency_Edge" source="_loIAUNGlEea0PPaj-cnm0w" target="_tWpyQNGlEea0PPaj-cnm0w" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_G8I-sNGmEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IGf5ANGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G8I-sdGmEea0PPaj-cnm0w" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_G8Kz4NGmEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IGvJkNGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G8La8NGmEea0PPaj-cnm0w" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_G8IXodGmEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_G79YgNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G8IXotGmEea0PPaj-cnm0w" points="[243, 318, -643984, -643984]$[326, 318, -643984, -643984]$[326, 76, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G8ye8NGmEea0PPaj-cnm0w" id="(1.0,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G8zGANGmEea0PPaj-cnm0w" id="(0.16,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LbmMkNGmEea0PPaj-cnm0w" type="Dependency_Edge" source="_jiQgANGlEea0PPaj-cnm0w" target="_rbCaINGlEea0PPaj-cnm0w" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LbmMk9GmEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="__goZ8NGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LbmMlNGmEea0PPaj-cnm0w" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LbmMldGmEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="__gyK8NGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LbmMltGmEea0PPaj-cnm0w" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LbmMkdGmEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_LbZYQNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LbmMktGmEea0PPaj-cnm0w" points="[139, 168, -643984, -643984]$[139, 73, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lb_1MNGmEea0PPaj-cnm0w" id="(0.31333333333333335,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lb_1MdGmEea0PPaj-cnm0w" id="(0.42,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ML62QNGmEea0PPaj-cnm0w" type="Dependency_Edge" source="_jiQgANGlEea0PPaj-cnm0w" target="_tWpyQNGlEea0PPaj-cnm0w" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ML62Q9GmEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Y8QVMNGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ML62RNGmEea0PPaj-cnm0w" y="39"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ML62RdGmEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Y8b7YNGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ML62RtGmEea0PPaj-cnm0w" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ML62QdGmEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_MLvQENGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ML62QtGmEea0PPaj-cnm0w" points="[242, 181, -643984, -643984]$[372, 181, -643984, -643984]$[372, 76, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MMk9kNGmEea0PPaj-cnm0w" id="(1.0,0.17142857142857143)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MMk9kdGmEea0PPaj-cnm0w" id="(0.47333333333333333,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_NAHTUNGmEea0PPaj-cnm0w" type="Dependency_Edge" source="_jiQgANGlEea0PPaj-cnm0w" target="_v9vwUNGlEea0PPaj-cnm0w" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NAHTU9GmEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cbp0QNGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NAHTVNGmEea0PPaj-cnm0w" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NAHTVdGmEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cb0zYNGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NAHTVtGmEea0PPaj-cnm0w" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NAHTUdGmEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_M_4p0NGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NAHTUtGmEea0PPaj-cnm0w" points="[242, 197, -643984, -643984]$[464, 197, -643984, -643984]$[464, 41, -643984, -643984]$[511, 41, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NAqF4NGmEea0PPaj-cnm0w" id="(1.0,0.4142857142857143)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NAqF4dGmEea0PPaj-cnm0w" id="(0.0,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_NxVU4NGmEea0PPaj-cnm0w" type="Dependency_Edge" source="_jiQgANGlEea0PPaj-cnm0w" target="_-ligINGlEea0PPaj-cnm0w" routing="Rectilinear">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2WgMsNGmEea0PPaj-cnm0w" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2WgzwNGmEea0PPaj-cnm0w" key="closestDistance" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NxV78NGmEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_b0KWcNGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NxV78dGmEea0PPaj-cnm0w" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NxV78tGmEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_b0UugNGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NxV789GmEea0PPaj-cnm0w" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NxVU4dGmEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_NxJusNGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NxVU4tGmEea0PPaj-cnm0w" points="[242, 223, -643984, -643984]$[574, 223, -643984, -643984]$[574, 188, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Nxz2ANGmEea0PPaj-cnm0w" id="(1.0,0.7857142857142857)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Nxz2AdGmEea0PPaj-cnm0w" id="(0.4,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_O3cBUNGmEea0PPaj-cnm0w" type="Dependency_Edge" source="_rbCaINGlEea0PPaj-cnm0w" target="_tWpyQNGlEea0PPaj-cnm0w">
+ <children xmi:type="notation:DecorationNode" xmi:id="_O3coYNGmEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O3coYdGmEea0PPaj-cnm0w" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_O3coYtGmEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O3coY9GmEea0PPaj-cnm0w" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_O3cBUdGmEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_O3Ol8NGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O3cBUtGmEea0PPaj-cnm0w" points="[226, 50, -643984, -643984]$[301, 50, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O34tQNGmEea0PPaj-cnm0w" id="(1.0,0.6714285714285714)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O34tQdGmEea0PPaj-cnm0w" id="(0.0,0.6285714285714286)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Pq1NINGmEea0PPaj-cnm0w" type="Dependency_Edge" source="_rbCaINGlEea0PPaj-cnm0w" target="_-ligINGlEea0PPaj-cnm0w" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Pq10MNGmEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fKmt0NGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Pq10MdGmEea0PPaj-cnm0w" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Pq10MtGmEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fKy7ENGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Pq10M9GmEea0PPaj-cnm0w" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Pq1NIdGmEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_PqrcINGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Pq1NItGmEea0PPaj-cnm0w" points="[151, 3, -643984, -643984]$[151, -39, -643984, -643984]$[702, -39, -643984, -643984]$[702, 252, -643984, -643984]$[656, 252, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PrZN0NGmEea0PPaj-cnm0w" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PrZN0dGmEea0PPaj-cnm0w" id="(1.0,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_UupFQNGmEea0PPaj-cnm0w" type="Dependency_Edge" source="_iZnc8NGlEea0PPaj-cnm0w" target="_AchP4NGmEea0PPaj-cnm0w" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_UupsUNGmEea0PPaj-cnm0w" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Xm8vINGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_UupsUdGmEea0PPaj-cnm0w" x="1" y="38"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_UupsUtGmEea0PPaj-cnm0w" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XnI8YNGmEea0PPaj-cnm0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_UupsU9GmEea0PPaj-cnm0w" x="1" y="58"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_UupFQdGmEea0PPaj-cnm0w"/>
+ <element xmi:type="uml:Dependency" href="OpenOfficeSimpleTest.uml#_UucQ8NGmEea0PPaj-cnm0w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UupFQtGmEea0PPaj-cnm0w" points="[-93, 242, -643984, -643984]$[-93, 432, -643984, -643984]$[91, 432, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UvJbkNGmEea0PPaj-cnm0w" id="(0.26666666666666666,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UvJbkdGmEea0PPaj-cnm0w" id="(0.0,0.38571428571428573)"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.uml b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.uml
new file mode 100644
index 0000000..a7615e3
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/OpenOfficeSimpleTest.uml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_6jElsNGkEea0PPaj-cnm0w" name="Gendoc">
+ <packagedElement xmi:type="uml:Model" xmi:id="_IlKAYNGlEea0PPaj-cnm0w" name="Use Case View">
+ <packagedElement xmi:type="uml:Component" xmi:id="_NE6B0NGoEea0PPaj-cnm0w" name="Gendoc" useCase="_eweEoNGoEea0PPaj-cnm0w _gWz64NGpEea0PPaj-cnm0w _1rXdoNGpEea0PPaj-cnm0w">
+ <generalization xmi:type="uml:Generalization" xmi:id="_Yu48sNGoEea0PPaj-cnm0w" general="_iZbPsNGlEea0PPaj-cnm0w"/>
+ <ownedUseCase xmi:type="uml:UseCase" xmi:id="_eweEoNGoEea0PPaj-cnm0w" name="Generate Document" subject="_NE6B0NGoEea0PPaj-cnm0w">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_Z-dzkNG7Eea0PPaj-cnm0w">
+ <body>An <b>automated</b> system that will use the batch generation process to generate 
+the documentation of the system contained in the model.</body>
+ </ownedComment>
+ </ownedUseCase>
+ <ownedUseCase xmi:type="uml:UseCase" xmi:id="_gWz64NGpEea0PPaj-cnm0w" name="Generate Document from Eclipse" subject="_NE6B0NGoEea0PPaj-cnm0w">
+ <include xmi:type="uml:Include" xmi:id="_-Kwr0NGpEea0PPaj-cnm0w" addition="_eweEoNGoEea0PPaj-cnm0w"/>
+ </ownedUseCase>
+ <ownedUseCase xmi:type="uml:UseCase" xmi:id="_1rXdoNGpEea0PPaj-cnm0w" name="Batch Document Generation" subject="_NE6B0NGoEea0PPaj-cnm0w">
+ <include xmi:type="uml:Include" xmi:id="__j2lsNGpEea0PPaj-cnm0w" addition="_eweEoNGoEea0PPaj-cnm0w"/>
+ </ownedUseCase>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Actor" xmi:id="_pQnpoNGoEea0PPaj-cnm0w" name="User">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_PtvKoNG7Eea0PPaj-cnm0w">
+ <body>A modeling user that document his model and it use <b>Gendoc</b> to generate 
+the documentation of the system contained in the model.</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Actor" xmi:id="_ArnfANGqEea0PPaj-cnm0w" name="Automated User"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Jq1cwNGqEea0PPaj-cnm0w" memberEnd="_JrJl0NGqEea0PPaj-cnm0w _JrKM4NGqEea0PPaj-cnm0w">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JrFUYNGqEea0PPaj-cnm0w" source="org.eclipse.papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JrF7cNGqEea0PPaj-cnm0w" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_JrJl0NGqEea0PPaj-cnm0w" name="generate document from eclipse" type="_gWz64NGpEea0PPaj-cnm0w" association="_Jq1cwNGqEea0PPaj-cnm0w"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_JrKM4NGqEea0PPaj-cnm0w" name="user" type="_pQnpoNGoEea0PPaj-cnm0w" association="_Jq1cwNGqEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_KkBukNGqEea0PPaj-cnm0w" memberEnd="_KkCVotGqEea0PPaj-cnm0w _KkC8sNGqEea0PPaj-cnm0w">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KkCVoNGqEea0PPaj-cnm0w" source="org.eclipse.papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KkCVodGqEea0PPaj-cnm0w" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_KkCVotGqEea0PPaj-cnm0w" name="batch document generation" type="_1rXdoNGpEea0PPaj-cnm0w" association="_KkBukNGqEea0PPaj-cnm0w"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_KkC8sNGqEea0PPaj-cnm0w" name="user" type="_pQnpoNGoEea0PPaj-cnm0w" association="_KkBukNGqEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_LSPfcNGqEea0PPaj-cnm0w" memberEnd="_LSQGgtGqEea0PPaj-cnm0w _LSQGg9GqEea0PPaj-cnm0w">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LSQGgNGqEea0PPaj-cnm0w" source="org.eclipse.papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LSQGgdGqEea0PPaj-cnm0w" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_LSQGgtGqEea0PPaj-cnm0w" name="batch document generation" type="_1rXdoNGpEea0PPaj-cnm0w" association="_LSPfcNGqEea0PPaj-cnm0w"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_LSQGg9GqEea0PPaj-cnm0w" name="automated user" type="_ArnfANGqEea0PPaj-cnm0w" association="_LSPfcNGqEea0PPaj-cnm0w"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Model" xmi:id="_FiF4ANGlEea0PPaj-cnm0w" name="Logical View"/>
+ <packagedElement xmi:type="uml:Model" xmi:id="_PUtBkNGlEea0PPaj-cnm0w" name="Implementation View">
+ <packagedElement xmi:type="uml:Component" xmi:id="_iZbPsNGlEea0PPaj-cnm0w" name="Gendoc">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_6zSxANG6Eea0PPaj-cnm0w">
+ <body>Gendoc generates documentation from EMF models using document templates 
+in formats such as <i>OpenOffice Writer</i> (.odt) or <i>Microsoft Word</i> (.docx).</body>
+ </ownedComment>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_qcFekNGlEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_jiODwNGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_25KDQNGlEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_loGLINGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_DQgacNGmEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_ra_94NGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_UucQ8NGmEea0PPaj-cnm0w" client="_iZbPsNGlEea0PPaj-cnm0w" supplier="_AcfasNGmEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_jiODwNGlEea0PPaj-cnm0w" name="Papyrus">
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_LbZYQNGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_ra_94NGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_MLvQENGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_tWn9ENGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_M_4p0NGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_v9t7INGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_NxJusNGmEea0PPaj-cnm0w" client="_jiODwNGlEea0PPaj-cnm0w" supplier="_-lgq8NGlEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_loGLINGlEea0PPaj-cnm0w" name="Acceleo">
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_G79YgNGmEea0PPaj-cnm0w" client="_loGLINGlEea0PPaj-cnm0w" supplier="_tWn9ENGlEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_ra_94NGlEea0PPaj-cnm0w" name="GMF">
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_O3Ol8NGmEea0PPaj-cnm0w" client="_ra_94NGlEea0PPaj-cnm0w" supplier="_tWn9ENGlEea0PPaj-cnm0w"/>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_PqrcINGmEea0PPaj-cnm0w" client="_ra_94NGlEea0PPaj-cnm0w" supplier="_-lgq8NGlEea0PPaj-cnm0w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_tWn9ENGlEea0PPaj-cnm0w" name="EMF"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_v9t7INGlEea0PPaj-cnm0w" name="UML2"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_-lgq8NGlEea0PPaj-cnm0w" name="GEF"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_AcfasNGmEea0PPaj-cnm0w" name="Sirius"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Model" xmi:id="_SP7ckNGlEea0PPaj-cnm0w" name="Deployment View"/>
+</uml:Model>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.juno.notation b/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.juno.notation
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.juno.notation
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.juno.uml b/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.juno.uml
new file mode 100644
index 0000000..6e00ebc
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.juno.uml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001"/>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.mars.uml b/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.mars.uml
new file mode 100644
index 0000000..6e00ebc
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.mars.uml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001"/>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.notation b/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.notation
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.notation
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.uml b/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.uml
new file mode 100644
index 0000000..6e00ebc
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/XlsxSimpleTest.uml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001"/>
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/resources/template.pptx b/tests/org.eclipse.gendoc.services.pptx.tests/resources/template.pptx
new file mode 100644
index 0000000..3226466
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/resources/template.pptx
Binary files differ
diff --git a/tests/org.eclipse.gendoc.services.pptx.tests/src/org/eclipse/gendoc/services/pptx/tests/PptxSimpleTest.java b/tests/org.eclipse.gendoc.services.pptx.tests/src/org/eclipse/gendoc/services/pptx/tests/PptxSimpleTest.java
new file mode 100644
index 0000000..98e1ccf
--- /dev/null
+++ b/tests/org.eclipse.gendoc.services.pptx.tests/src/org/eclipse/gendoc/services/pptx/tests/PptxSimpleTest.java
@@ -0,0 +1,31 @@
+package org.eclipse.gendoc.services.pptx.tests;
+
+import java.net.URL;
+
+import org.eclipse.gendoc.document.parser.pptx.PPTXNamespaceContext;
+import org.eclipse.gendoc.document.parser.pptx.XPathPptxUtils;
+import org.eclipse.gendoc.services.openoffice.test.OpenOfficeTestInputTemplate;
+import org.eclipse.gendoc.services.openoffice.test.OpenOfficeTestSupport;
+import org.eclipse.gendoc.services.openoffice.test.OpenOfficeVerifyHelper;
+import org.junit.Test;
+
+public class PptxSimpleTest {
+ @Test
+ public void simpleTest() throws Exception {
+ String testName = "simpleTest";
+ OpenOfficeTestInputTemplate template = new OpenOfficeTestInputTemplate(
+ "org.eclipse.gendoc.services.pptx",
+ new URL("platform:/fragment/org.eclipse.gendoc.services.pptx.tests/resources/template.pptx"),
+ XPathPptxUtils.INSTANCE);
+ OpenOfficeVerifyHelper verifier = OpenOfficeTestSupport.execute(
+ "org.eclipse.gendoc.services.pptx",
+ testName,
+ template,
+ new PPTXNamespaceContext(),
+ new URL("platform:/fragment/org.eclipse.gendoc.services.pptx.tests/"
+ + "resources/OpenOfficeSimpleTest.uml"),
+ new URL("platform:/meta/org.eclipse.gendoc.services.pptx/test/"+
+ testName+".res.pptx"));
+ }
+
+}
\ No newline at end of file