xml中schema的simpleType的用法

-----------------------------------------------xml中schema的simpleType的用法-------------------------------------------------

simpleType

作用:定义一个简单类型,它决定了元素和属性值的约束和相关信息

属性:name :自定义属性的类型

内容:应用已经存在的简单类型,三种方式:

restrict→限定一个范围

list→从列表中选择

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

    <xs:element name="student">

        <xs:complexType>

             <xs:sequence>

                 <xs:element name="name" type="xs:string"></xs:element>

                 <xs:element name="age" type="xs:int"></xs:element>

                 <xs:element name="gender" type="genderst"></xs:element>

                 <xs:element name="favor" type="favorst"></xs:element>

             </xs:sequence>

             <xs:attributeGroup ref="studattr"></xs:attributeGroup>

        </xs:complexType>

       

    </xs:element>

    <xs:attributeGroup name="studattr">

             <xs:attribute name="studno" type="xs:int" use="required"></xs:attribute>

             <xs:attribute name="score" type="scorest" use="required"></xs:attribute>

    </xs:attributeGroup>

    <!-- 0100的数值约束-->

    <xs:simpleType name="scorest">

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

             <xs:minInclusive value="0"></xs:minInclusive>

             <xs:maxInclusive  value="100"></xs:maxInclusive>

        </xs:restriction>

    </xs:simpleType>

    <!--  给性别设置枚举类型的约束,只能填写男或者女 -->

    <xs:simpleType name="genderst">

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

             <xs:enumeration value=""></xs:enumeration>

             <xs:enumeration value=""></xs:enumeration>

        </xs:restriction>

    </xs:simpleType>

    <!--目录约束,favor元素中只能填写字符串目录,并且用空格分割开来 -->

    <xs:simpleType name="favorst">

        <xs:list itemType="xs:string"></xs:list>

    </xs:simpleType>

</xs:schema>

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

<student studentNo="1" score="100"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="demo5.xsd">

    <name>张三</name>

    <age>20</age>

    <gender></gender>

    <favor>足球 男球</favor>

</student>

 

猜你喜欢

转载自blog.csdn.net/weixin_41547486/article/details/80906694