1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?xml version="1.0" encoding="utf-8"?>
- <!--
- ====================================================================
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ====================================================================
- -->
- <xsd:schema
- attributeFormDefault="unqualified" elementFormDefault="qualified"
- targetNamespace="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- >
- <!-- based on 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>
|