XML Schema(XSD)详解


下面对于XSD的介绍,会有对应的解释和例子,一目了然。

xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://www.w3school.com.cn"
 xmlns="http://www.w3school.com.cn"
 elementFormDefault="qualified">
    <xs:element name="note">
        <xs:complexType>
            <xs:sequence>

                
                <xs:element name="to" type="xs:string" default="red"/>

                
                <xs:element name="from" type="xs:decimal" fixed="123.00"/>

                
                <xs:element name="heading">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:minInclusive value="0"/>
                            <xs:maxInclusive value="120"/>
                        xs:restriction>
                    xs:simpleType>
                xs:element>

                
                <xs:element name="body" type="xs:date"/>

                
                <xs:element name="car">
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="AUDI"/>
                                <xs:enumeration value="GOLF"/>
                                <xs:enumeration value="BMW"/>
                            xs:restriction>
                        xs:simpleType>
                xs:element>

                
                <xs:element name="letter">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            
                            <xs:pattern value="[a-z]"/>
                            
                            
                        xs:restriction>
                    xs:simpleType>
                xs:element>

                
                <xs:element name="choice">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:pattern value="[xyz]"/>
                        xs:restriction>
                    xs:simpleType>
                xs:element>

                
                <xs:element name="one">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:pattern value="([a-z])*"/>
                        xs:restriction>
                    xs:simpleType>
                xs:element>

                
                <xs:element name="two">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:pattern value="([a-z][A-Z])+"/>
                        xs:restriction>
                    xs:simpleType>
                xs:element>

                
                <xs:element name="gender">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:pattern value="male|female"/>
                        xs:restriction>
                    xs:simpleType>
                xs:element>

                
                <xs:element name="password">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:pattern value="[a-zA-Z0-9]{8}"/>
                        xs:restriction>
                    xs:simpleType>
                xs:element>

                
                <xs:element name="address">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:whiteSpace value="preserve"/>
                        xs:restriction>
                    xs:simpleType>
                xs:element>

                
                <xs:element name="leng">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:length value="8"/>
                        xs:restriction>
                    xs:simpleType>
                xs:element>

                
                <xs:element name="mleng">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:minLength value="5"/>
                            <xs:maxLength value="8"/>
                        xs:restriction>
                    xs:simpleType>
                xs:element>

                



                

                
                <xs:element name="employee">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="firstname" type="xs:string"/>
                            <xs:element name="lastname" type="xs:string"/>
                        xs:sequence>
                    xs:complexType>
                xs:element>

                
                <xs:element name="product">
                    <xs:complexType>
                        <xs:complexContent>
                            <xs:restriction base="xs:integer">
                                <xs:attribute name="pid" type="xs:positiveInteger"/>
                            xs:restriction>
                        xs:complexContent>
                    xs:complexType>
                xs:element>

                
                <xs:element name="shoesize">
                    <xs:complexType>
                        <xs:simpleContent>
                            <xs:extension base="xs:string">
                                <xs:attribute name="country" type="xs:string"/>
                            xs:extension>
                        xs:simpleContent>
                    xs:complexType>
                xs:element>

                
                <xs:element name="letters">
                    <xs:complexType mixed="true">
                        <xs:sequence>
                            <xs:element name="name" type="xs:string"/>
                            <xs:element name="orderid" type="xs:positiveInteger"/>
                            <xs:element name="shipdate" type="xs:date"/>
                        xs:sequence>
                    xs:complexType>
                xs:element>

                

                
                <xs:element name="person">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="firstname" type="xs:string"/>
                            <xs:element name="lastname" type="xs:string"/>
                        xs:all>
                    xs:complexType>
                xs:element>

                
                <xs:element name="person2">
                    <xs:complexType>
                        <xs:choice>
                            <xs:element name="employee" type="xs:string"/>
                            <xs:element name="member" type="xs:string"/>
                        xs:choice>
                    xs:complexType>
                xs:element>

                
                <xs:element name="person3">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="firstname" type="xs:string"/>
                            <xs:element name="lastname" type="xs:string"/>
                        xs:sequence>
                    xs:complexType>
                xs:element>

                

                
                <xs:element name="person4">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="fullname" type="xs:string"/>
                            <xs:element name="childname" type="xs:string" maxOccurs="10" minOccurs="0"/>
                        xs:sequence>
                    xs:complexType>
                xs:element>

                

                
                <xs:element name="person5">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="firstname" type="xs:string"/>
                            <xs:element name="lastname" type="xs:string"/>
                            <xs:any minOccurs="0"/>
                        xs:sequence>
                    xs:complexType>
                xs:element>

                
                <xs:element name="person6">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="firstname" type="xs:string"/>
                            <xs:element name="lastname" type="xs:string"/>
                        xs:sequence>
                        <xs:anyAttribute/>
                    xs:complexType>
                xs:element>

                
            xs:sequence>
        xs:complexType>
    xs:element>
xs:schema>

你可能感兴趣的:(xml)