[PATCH 5/8] msxml3: urn:schemas-microsoft-com:datatypes schema

Adam Martinson amartinson at codeweavers.com
Thu Nov 11 23:29:58 CST 2010


---
 dlls/msxml3/Makefile.in   |    3 +-
 dlls/msxml3/datatypes.xsd |  591 +++++++++++++++++++++++++++++++++++++++++++++
 dlls/msxml3/schemas.rc    |   19 ++
 3 files changed, 612 insertions(+), 1 deletions(-)
 create mode 100644 dlls/msxml3/datatypes.xsd
 create mode 100644 dlls/msxml3/schemas.rc

diff --git a/dlls/msxml3/Makefile.in b/dlls/msxml3/Makefile.in
index 4ee98fd..ec96186 100644
--- a/dlls/msxml3/Makefile.in
+++ b/dlls/msxml3/Makefile.in
@@ -37,7 +37,8 @@ LEX_SRCS = xslpattern.l
 
 BISON_SRCS = xslpattern.y
 
-RC_SRCS = version.rc
+RC_SRCS =   version.rc \
+            schemas.rc
 
 IDL_TLB_SRCS = msxml3_v1.idl
 
diff --git a/dlls/msxml3/datatypes.xsd b/dlls/msxml3/datatypes.xsd
new file mode 100644
index 0000000..493c0d0
--- /dev/null
+++ b/dlls/msxml3/datatypes.xsd
@@ -0,0 +1,591 @@
+<?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>
diff --git a/dlls/msxml3/schemas.rc b/dlls/msxml3/schemas.rc
new file mode 100644
index 0000000..ba16755
--- /dev/null
+++ b/dlls/msxml3/schemas.rc
@@ -0,0 +1,19 @@
+/*
+ * Built-in XML Schema resources
+ *
+ * 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
+ */
+
+DATATYPES XML datatypes.xsd
-- 
1.7.2.3


--------------050501070005040709030704--



More information about the wine-patches mailing list