aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2022-06-28 09:51:27 +0000
committerPJ Fanning <fanningpj@apache.org>2022-06-28 09:51:27 +0000
commit989b9e2f7512d125ef44c236a178c8b00949c75f (patch)
tree6b92cf688bf693b39ce3ba0c43b5f9e6047ecb3c
parentb46b69ab0f11c10dc70b8ec4688be422ae7396bf (diff)
downloadpoi-989b9e2f7512d125ef44c236a178c8b00949c75f.tar.gz
poi-989b9e2f7512d125ef44c236a178c8b00949c75f.zip
[bug-66145] poi-ooxml-full: add xsd schema for drawing/2008/diagram to read SmartArt diagrams
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1902305 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--poi-ooxml-full/build.gradle2
-rw-r--r--poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas/dml-drawing.xsd63
2 files changed, 64 insertions, 1 deletions
diff --git a/poi-ooxml-full/build.gradle b/poi-ooxml-full/build.gradle
index 513720a722..ad9eb90be2 100644
--- a/poi-ooxml-full/build.gradle
+++ b/poi-ooxml-full/build.gradle
@@ -86,7 +86,7 @@ task cacheJava9(type: Copy) {
task copy_xsds(type: Copy) {
from ('src/main/xmlschema/org/apache/poi/xdgf')
from ('src/main/xmlschema/org/apache/poi/schemas') {
- include 'XAdES*.xsd', '*.xsdconfig', 'xmldsig*.xsd', 'ooxmlSchemas.xsdconfig', 'markup-compatibility.xsd', 'vmlDrawing.xsd'
+ include 'XAdES*.xsd', '*.xsdconfig', 'xmldsig*.xsd', 'ooxmlSchemas.xsdconfig', 'markup-compatibility.xsd', 'vmlDrawing.xsd', 'dml-drawing.xsd'
exclude '*.zip'
}
from ('src/main/xmlschema/org/apache/poi/poifs/crypt') {
diff --git a/poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas/dml-drawing.xsd b/poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas/dml-drawing.xsd
new file mode 100644
index 0000000000..2e0a668787
--- /dev/null
+++ b/poi-ooxml-full/src/main/xmlschema/org/apache/poi/schemas/dml-drawing.xsd
@@ -0,0 +1,63 @@
+<xsd:schema targetNamespace="http://schemas.microsoft.com/office/drawing/2008/diagram"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
+ xmlns:d="http://schemas.openxmlformats.org/drawingml/2006/diagram"
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
+ xmlns="http://schemas.microsoft.com/office/drawing/2008/diagram">
+
+ <xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
+ schemaLocation="dml-main.xsd"/>
+ <xsd:import schemaLocation="dml-diagram.xsd" namespace="http://schemas.openxmlformats.org/drawingml/2006/diagram"/>
+ <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: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:element name="txXfrm" 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="modelId" type="d:ST_ModelId" use="required"/>
+ </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:choice>
+ <xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CT_Drawing">
+ <xsd:sequence>
+ <xsd:element name="spTree" type="CT_GroupShape" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="drawing" type="CT_Drawing"/>
+ <xsd:complexType name="CT_DataModelExtBlock">
+ <xsd:attribute name="relId" type="xsd:string"/>
+ <xsd:attribute name="minVer" type="xsd:anyURI"/>
+ </xsd:complexType>
+ <xsd:element name="dataModelExt" type="CT_DataModelExtBlock"/>
+</xsd:schema>