欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

xml schema学习部分总结

程序员文章站 2022-05-10 11:03:25
...

总结一下学习xml的schema约束的相关知识
首先是关于xml的头部信息的引入:

<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" 
    targetNamespace="http://www.example.org/web-app_2_5"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="http://www.example.org/web-app_2_5" 
    elementFormDefault="qualified">
</xsd:schema>
  1. xmlns=”http://www.w3.org/2001/XMLSchema” :引入w3c预定义的命名空间
  2. targetNamespace=”http://www.example.org/web-app_2_5:自定义的命名空间,实例文档中引入调用‘’
  3. 定义元素和属性

定义元素和属性:

<xsd:element name="book">  //定义一个名称为book的元素
    <xsd:complexType>  //复杂数据类型,定义元素与元素之间的层级关系和属性关系
        <xsd:choice minOccurs="0" maxOccurs="unbounded">  //这里定义了元素之间的顺序,
        此处表示里面的元素是有序的,里面的元素可以出现零次也可出现多次
        <xs:all></xs:all>表示元素之间是无序的,此处的有序和无序是说在实例文档中调用的顺序
            <!-- 简单元素 -->
            <xs:element name="name" type="xs:string"></xs:element>
            <xs:element name="gender" type="xs:string"></xs:element>
            <xs:element name="age" type="xs:int"></xs:element>
        </xsd:choice>
    </xsd:complexType>

    <xs:simpleType name="B1">//定义一个简单数据类型,相当于是编写B1函数。<span style="color:#ff0000;">值得注意的是:数据类型之间不能够嵌套,否则会出错。复杂数据类型和简单数据类型的关系式并列的,不存在包含关系。</span>
        <xs:restriction base="xs:positiveInteger">
            <xs:maxInclusive value="99"/>
            <xs:minInclusive value="1"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="B2">
        <xs:restriction base="xs:string">
            <xs:length value="6"/>//限制其长度只能是6个字。
            <xs:pattern value="\d{6}"/>//限制其格式必须是6个字并排。
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="A1">
        <xs:restriction base="xs:string">
            <xs:length value="4"/>
            <xs:pattern value="[A]{1}\d{3}"/>//限制其格式必须是Axxx。
        </xs:restriction>
    </xs:simpleType>

</xsd:element>

更多的信息参考w3c文档里面的介绍