592 lines
15 KiB
XML
592 lines
15 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
XDR (XML-Data Reduced) datatypes implementation
|
|
|
|
Copyright 2010 Adam Martinson for CodeWeavers
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2.1 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with this library; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
-->
|
|
<xsd:schema xmlns="urn:schemas-microsoft-com:datatypes"
|
|
xmlns:dt="urn:schemas-microsoft-com:datatypes"
|
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
targetNamespace="urn:schemas-microsoft-com:datatypes"
|
|
elementFormDefault="qualified"
|
|
attributeFormDefault="unqualified">
|
|
|
|
<xsd:simpleType name="bin.base64">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:base64Binary
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:base64Binary"/>
|
|
</xsd:simpleType>
|
|
|
|
<!-- <xsd:element name="bin.base64" type="dt:bin.base64"/> -->
|
|
|
|
<xsd:simpleType name="bin.hex">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:hexBinary
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:hexBinary"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="bin.hex" type="dt:bin.hex"/>
|
|
|
|
<xsd:simpleType name="boolean">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:boolean
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:boolean"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="boolean" type="dt:boolean"/>
|
|
|
|
<xsd:simpleType name="char">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Single unicode char
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:length value="1"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="char" type="dt:char"/>
|
|
|
|
<xsd:simpleType name="date">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:date with no timezone
|
|
|
|
TODO: restrict -> force no timezone
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:date"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="date" type="dt:date"/>
|
|
|
|
<xsd:simpleType name="date.tz">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:date with timezone
|
|
|
|
TODO: restrict -> force timezone
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:date"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="date.tz" type="dt:date.tz"/>
|
|
|
|
<xsd:simpleType name="dateTime">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:dateTime with no timezone
|
|
|
|
TODO: restrict -> force no timezone
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:dateTime"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="dateTime" type="dt:dateTime"/>
|
|
|
|
<xsd:simpleType name="dateTime.tz">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:dateTime with timezone
|
|
|
|
TODO: restrict -> force timezone
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:dateTime"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="dateTime.tz" type="dt:dateTime.tz"/>
|
|
|
|
<xsd:simpleType name="entity">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:ENTITY
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:ENTITY"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="entity" type="dt:entity"/>
|
|
|
|
<xsd:simpleType name="entities">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:ENTITIES
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:ENTITIES"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="entities" type="dt:entities"/>
|
|
|
|
<xsd:simpleType name="enumeration">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Valid for attributes only
|
|
dt:values is equivalent to xsd:list
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:string"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="fixed.14.4">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Fixed-length decimal floating-point value
|
|
Up to 14 digits before the decimal point
|
|
Up to 4 digits after the decimal point
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:decimal">
|
|
<xsd:pattern value="([0-9]{,14})([.][0-9]{,4})?"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="fixed.14.4" type="dt:fixed.14.4"/>
|
|
|
|
<xsd:simpleType name="float">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:decimal
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:decimal"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="float" type="dt:float"/>
|
|
|
|
<xsd:simpleType name="i1">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:byte
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:byte"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="i1" type="dt:i1"/>
|
|
|
|
<xsd:simpleType name="i2">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:short
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:short"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="i2" type="dt:i2"/>
|
|
|
|
<xsd:simpleType name="i4">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:int
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:int"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="i4" type="dt:i4"/>
|
|
|
|
<xsd:simpleType name="i8">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:long
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:long"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="i8" type="dt:i8"/>
|
|
|
|
<xsd:simpleType name="id">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Valid for attributes only
|
|
Equivalent to xsd:ID
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:ID"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="idref">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Valid for attributes only
|
|
Equivalent to xsd:IDREF
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:IDREF"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="idrefs">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Valid for attributes only
|
|
Equivalent to xsd:IDREFS
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:IDREFS"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="int">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:integer
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:integer"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="int" type="dt:int"/>
|
|
|
|
<xsd:simpleType name="nmtoken">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:NMTOKEN
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:NMTOKEN"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="nmtoken" type="dt:nmtoken"/>
|
|
|
|
<xsd:simpleType name="nmtokens">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:NMTOKENS
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:NMTOKENS"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="nmtokens" type="dt:nmtokens"/>
|
|
|
|
<xsd:simpleType name="notation">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:NOTATION
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:NOTATION"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="notation" type="dt:notation"/>
|
|
|
|
<xsd:simpleType name="number">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:decimal
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:decimal"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="number" type="dt:number"/>
|
|
|
|
<xsd:simpleType name="r4">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:float
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:float"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="r4" type="dt:r4"/>
|
|
|
|
<xsd:simpleType name="r8">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:double
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:double"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="r8" type="dt:r8"/>
|
|
|
|
<xsd:simpleType name="string">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:string
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:string"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="string" type="dt:string"/>
|
|
|
|
<xsd:simpleType name="time">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:time with no timezone
|
|
|
|
TODO: restrict -> force no timezone
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:time"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="time" type="dt:time"/>
|
|
|
|
<xsd:simpleType name="time.tz">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:time with timezone
|
|
|
|
TODO: restrict -> force timezone
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:time"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="time.tz" type="dt:time.tz"/>
|
|
|
|
<xsd:simpleType name="ui1">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:unsignedByte
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:unsignedByte"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="ui1" type="dt:ui1"/>
|
|
|
|
<xsd:simpleType name="ui2">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:unsignedShort
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:unsignedShort"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="ui2" type="dt:ui2"/>
|
|
|
|
<xsd:simpleType name="ui4">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:unsignedInt
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:unsignedInt"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="ui4" type="dt:ui4"/>
|
|
|
|
<xsd:simpleType name="ui8">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:unsignedLong
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:unsignedLong"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="ui8" type="dt:ui8"/>
|
|
|
|
<xsd:simpleType name="uri">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Equivalent to xsd:anyURI
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:anyURI"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="uri" type="dt:uri"/>
|
|
|
|
<xsd:simpleType name="uuid">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
|
|
Hex octet string with optional hyphens
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="([0-9A-Fa-f]{4})([-]{,1}[0-9A-Fa-f]{4})*"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:element name="uuid" type="dt:uuid"/>
|
|
|
|
<xsd:attribute name="dt" default="string">
|
|
<xsd:simpleType>
|
|
<xsd:restriction base="string">
|
|
<xsd:enumeration value="bin.base64"/>
|
|
<xsd:enumeration value="bin.hex"/>
|
|
<xsd:enumeration value="boolean"/>
|
|
<xsd:enumeration value="char"/>
|
|
<xsd:enumeration value="date"/>
|
|
<xsd:enumeration value="date.tz"/>
|
|
<xsd:enumeration value="dateTime"/>
|
|
<xsd:enumeration value="dateTime.tz"/>
|
|
<xsd:enumeration value="entity"/>
|
|
<xsd:enumeration value="entities"/>
|
|
<xsd:enumeration value="enumeration"/>
|
|
<xsd:enumeration value="fixed.14.4"/>
|
|
<xsd:enumeration value="float"/>
|
|
<xsd:enumeration value="i1"/>
|
|
<xsd:enumeration value="i2"/>
|
|
<xsd:enumeration value="i4"/>
|
|
<xsd:enumeration value="i8"/>
|
|
<xsd:enumeration value="id"/>
|
|
<xsd:enumeration value="idref"/>
|
|
<xsd:enumeration value="idrefs"/>
|
|
<xsd:enumeration value="int"/>
|
|
<xsd:enumeration value="nmtoken"/>
|
|
<xsd:enumeration value="nmtokens"/>
|
|
<xsd:enumeration value="notation"/>
|
|
<xsd:enumeration value="number"/>
|
|
<xsd:enumeration value="r4"/>
|
|
<xsd:enumeration value="r8"/>
|
|
<xsd:enumeration value="string"/>
|
|
<xsd:enumeration value="time"/>
|
|
<xsd:enumeration value="time.tz"/>
|
|
<xsd:enumeration value="ui1"/>
|
|
<xsd:enumeration value="ui2"/>
|
|
<xsd:enumeration value="ui4"/>
|
|
<xsd:enumeration value="ui8"/>
|
|
<xsd:enumeration value="uri"/>
|
|
<xsd:enumeration value="uuid"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
</xsd:attribute>
|
|
|
|
</xsd:schema>
|