1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
<?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">
<!--
Individual patterns for content type grammar
For better readability, each pattern using numbers is also described in a comment using
one of the following pattern designators.
-->
<!--DEFINE [media-type] "([type]/[subtype]([LWS]*;[LWS]*[parameter])*)" -->
<!--DEFINE [parameter] "([attribute]=[value])" -->
<!--DEFINE [attribute] "([token])" -->
<!--DEFINE [value] "([token]|[quoted-string])" -->
<!--DEFINE [subtype] "([token])" -->
<!--DEFINE [type] "([token])" -->
<!--DEFINE [quoted-string] "("([qdtext]|[quoted-pair])*")" -->
<!--DEFINE [qdtext] "([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}[DEL]"\n\r]]|[LWS])" -->
<!--DEFINE [quoted-pair] "(\\[CHAR])" -->
<!--DEFINE [LWS] "([SP]+)" -->
<!--DEFINE [CHAR] "[\p{IsBasicLatin}]" -->
<!--DEFINE [separators] "[\(\)<>@,;:\\"/\[\]\?=\{\} \t]" -->
<!--DEFINE [token] "(([\p{IsBasicLatin}-[\p{Cc}[DEL]\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)" -->
<!--DEFINE [SP] "\s" -->
<!--DEFINE [DEL] "" -->
<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="[media-type]"/>
-->
<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>
|