76 lines
3.1 KiB
XML
76 lines
3.1 KiB
XML
![]() |
<?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">
|
|||
|
|
|||
|
<!--
|
|||
|
This XSD is a modified version of the one found at:
|
|||
|
https://github.com/plutext/docx4j/blob/master/xsd/mce/markup-compatibility-2006-MINIMAL.xsd
|
|||
|
|
|||
|
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
|
|||
|
-->
|
|||
|
|
|||
|
<!-- 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>
|