XSD Demo

来源:互联网 发布:二次开发 软件著作权 编辑:程序博客网 时间:2024/03/29 22:40

XSD 文档定义例子:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

    xmlns:tns="http://www.win.com/demo/"

    targetNamespace="http://www.win.com/demo/">

    <xs:element name="MyReq">

        <xs:complexType>

            <xs:sequence>

                <xs:element ref="AccountId"></xs:element>

                <xs:element ref="Name" minOccurs="0"></xs:element>

                <xs:element ref="Content" minOccurs="0"></xs:element>

                <xs:element ref="MediaFile" minOccurs="0" maxOccurs="2"></xs:element>

                <xs:element ref="Date"></xs:element>

            </xs:sequence>

        </xs:complexType>

    </xs:element>

 

    <xs:simpleType name="AccountId">

        <xs:restriction base="xs:string">

            <xs:minLength value="1" />

            <xs:maxLength value="20" />

        </xs:restriction>

    </xs:simpleType>

 

    <xs:element name="Name">

        <xs:simpleType>

            <xs:restriction base="xs:base64Binary">

                <xs:minLength value="1" />

                <xs:maxLength value="256" />

            </xs:restriction>

        </xs:simpleType>

    </xs:element>

 

    <xs:element name="Content">

        <xs:simpleType>

            <xs:restriction base="xs:base64Binary">

                <xs:minLength value="1" />

                <xs:maxLength value="3000" />

            </xs:restriction>

        </xs:simpleType>

    </xs:element>

 

    <xs:element name="MediaFile">

        <xs:complexType>

            <xs:simpleContent>

                <xs:extension base="xs:base64Binary">

                    <xs:attribute name="type" type="tns:FileType" use="required" />

                    <xs:attribute name="size" type="tns:size" use="required" />

                </xs:extension>

            </xs:simpleContent>

        </xs:complexType>

    </xs:element>

 

    <xs:simpleType name="FileType">

        <xs:restriction base="xs:string">

            <xs:enumeration value="Unused" />

            <xs:enumeration value="Image" />

            <xs:enumeration value="Audio" />

            <xs:enumeration value="Video" />

        </xs:restriction>

    </xs:simpleType>

 

    <xs:simpleType name="size">

        <xs:restriction base="xs:integer">

            <xs:minInclusive value="0" />

            <xs:maxInclusive value="120" />

        </xs:restriction>

    </xs:simpleType>

 

    <xs:simpleType name="Date">

        <xs:restriction base="xs:dateTime"></xs:restriction>

    </xs:simpleType>

</xs:schema>