• [疯狂xml讲义]chap4之Schema记录


    1.内置字符串类型

    string.xsd:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!--W3C Schema generated by XMLSpy v2008 rel. 2 sp2 (http://www.altova.com)-->
     3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
     4     <xs:complexType name="strlist_Type">
     5         <xs:sequence>
     6             <xs:element ref="string"/>
     7             <xs:element ref="normalizedString"/>
     8             <xs:element ref="token"/>
     9             <xs:element ref="name" maxOccurs="unbounded"/>
    10             <xs:element ref="ncname" maxOccurs="unbounded"/>
    11             <xs:element ref="qname" maxOccurs="unbounded"/>
    12         </xs:sequence>
    13     </xs:complexType>
    14     <xs:element name="strlist" type="strlist_Type"/>
    15     <xs:element name="token" type="xs:token"/>
    16     <xs:element name="string" type="xs:string"/>
    17     <xs:element name="normalizedString" type="xs:normalizedString"/>
    18     <xs:element name="name" type="xs:Name"/>
    19     <xs:element name="ncname" type="xs:NCName"/>
    20     <xs:element name="qname" type="xs:QName"/>
    21 </xs:schema>

    注:这里定义了一个全局的自定义数据类型strlist_Type,元素strlist使用了。

    string.xml:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <strlist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xsi:noNamespaceSchemaLocation="string.xsd">
     4     <string>    Java      xml    Ajax    </string>
     5     <normalizedString>     Java      xml    Ajax    </normalizedString>
     6     <token>    Java      xml    Ajax    </token>
     7     <!-- 下面name元素的类型是Name类型 -->
     8     <name>a12</name>
     9     <name>a-b</name>
    10     <name>a_b</name>
    11     <name>a:b</name>
    12     <name>a.b</name>
    13     <name>:b</name>
    14     <!-- NCName类型的元素  -->
    15     <ncname>_b</ncname>
    16     <ncname>a-x</ncname>
    17     <!-- QName类型的值可以省略命名空间前缀。 -->
    18     <qname>a-x</qname>
    19     <!-- 如果QName类型的值使用了命名空间前缀,
    20         则该命名空间前缀必须有对应的命名空间。 -->
    21     <qname xmlns:java="http://www.crazyit.org">java:a-x</qname>
    22 </strlist>

    2.数值类型

    number.xsd:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
     3     <xs:complexType name="numberList_Type">
     4         <xs:sequence>
     5             <xs:element ref="float" maxOccurs="unbounded"/>
     6             <xs:element ref="double" maxOccurs="unbounded"/>
     7             <xs:element ref="decimal" maxOccurs="unbounded"/>
     8             <xs:element ref="integer" maxOccurs="unbounded"/>
     9             <xs:element ref="int" maxOccurs="unbounded"/>
    10             <xs:element ref="positiveInteger" maxOccurs="unbounded"/>
    11         </xs:sequence>
    12     </xs:complexType>
    13     <xs:element name="numberList" type="numberList_Type"/>
    14     <xs:element name="float" type="xs:float"/>
    15     <xs:element name="double" type="xs:double"/>
    16     <xs:element name="decimal" type="xs:decimal"/>
    17     <xs:element name="integer" type="xs:integer"/>
    18     <xs:element name="int" type="xs:int"/>
    19     <xs:element name="positiveInteger" type="xs:positiveInteger"/>
    20 </xs:schema>

    number.xml:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <numberList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3      xsi:noNamespaceSchemaLocation="number.xsd">
     4     <float>5</float>
     5     <float>5.6</float>
     6     <float>4.12256229</float>
     7     <!-- 下面正0大于负0 -->
     8     <float>+0</float>
     9     <float>-0</float>
    10     <!-- 负无穷大 -->
    11     <float>-INF</float>
    12     <!-- 下面实际上是500  -->
    13     <double>5e2</double>
    14     <!-- 下面实际上是0.56  -->
    15     <double>5.6E-1</double>
    16     <!-- 下面实际上是20  -->
    17     <double>.2e2</double>
    18     <double>4.12256229</double>    
    19     <!-- 正无穷大 -->
    20     <double>INF</double>
    21     <double>NaN</double>
    22     <decimal>1.2</decimal>
    23     <decimal>0.2</decimal>
    24     <decimal>.89</decimal>
    25     <decimal>+0</decimal>
    26     <integer>+0</integer>
    27     <integer>-0</integer>
    28     <!-- integer类型的值没有限制  -->
    29     <integer>99999999999999999999999999999999</integer>
    30     <!-- int类型的值有限制,下面分别是最大值和最小值 -->
    31     <int>2147483647</int>
    32     <int>-2147483648</int>
    33     <!-- positiveInteger类型的值没有最大限制 -->
    34     <positiveInteger>99999999999999999999999999999999</positiveInteger>
    35     <!-- positiveInteger类型的值最小为1 -->
    36     <positiveInteger>1</positiveInteger>
    37 </numberList>

    3.日期。时间类型

    date.xsd:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
     3     <xs:complexType name="date_list_Type">
     4         <xs:sequence>
     5             <xs:element ref="date" maxOccurs="unbounded"/>
     6             <xs:element ref="date_time" maxOccurs="unbounded"/>
     7             <xs:element ref="gyear" maxOccurs="unbounded"/>
     8             <xs:element ref="gyear_month" maxOccurs="unbounded"/>
     9             <xs:element ref="gmonth" maxOccurs="unbounded"/>
    10             <xs:element ref="gmonth_day" maxOccurs="unbounded"/>
    11             <xs:element ref="gday" maxOccurs="unbounded"/>
    12             <xs:element ref="duration" maxOccurs="unbounded"/>
    13         </xs:sequence>
    14     </xs:complexType>
    15     <xs:element name="date_list" type="date_list_Type"/>
    16     <xs:element name="date" type="xs:date"/>
    17     <xs:element name="date_time" type="xs:dateTime"/>
    18     <xs:element name="gyear" type="xs:gYear"/>
    19     <xs:element name="gyear_month" type="xs:gYearMonth"/>
    20     <xs:element name="gmonth" type="xs:gMonth"/>
    21     <xs:element name="gmonth_day" type="xs:gMonthDay"/>
    22     <xs:element name="gday" type="xs:gDay"/>
    23     <xs:element name="duration" type="xs:duration"/>
    24 </xs:schema>

    date.xml:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <date_list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     3     xsi:noNamespaceSchemaLocation="date.xsd">
     4     <date>1992-02-03</date>
     5     <!-- 添加负号表示公元前 -->
     6     <date>-1992-12-23</date>
     7     <!-- 添加Z后缀表示UTC时间 -->
     8     <date>-1992-12-23Z</date>
     9     <!-- 既包含日期、也包含时间 -->
    10     <date_time>-1992-12-23T08:06:19.123</date_time>
    11     <!-- 毫秒数只有5 -->
    12     <date_time>-1992-12-23T11:56:19.5Z</date_time>
    13     <!-- 添加负号表示公元前 -->
    14     <gyear>-2009Z</gyear>
    15     <!-- 下面是2个有效的gYearMonth类型的值 -->
    16     <gyear_month>2009-04Z</gyear_month>
    17     <gyear_month>-2009-12Z</gyear_month>
    18     <!-- 下面是2个有效的gMonth类型的值 -->
    19     <gmonth>--05Z</gmonth>
    20     <gmonth>--12Z</gmonth>
    21     <!-- 下面是1个有效的gMonthDay类型的值 -->    
    22     <gmonth_day>--12-03Z</gmonth_day>
    23     <!-- 下面是2个有效的gDay类型的值 -->    
    24     <gday>---15</gday>
    25     <gday>---15Z</gday>
    26     <!-- 下面是4个有效的duration类型的值 -->    
    27     <!-- 代表12年 -->
    28     <duration>P12Y</duration>
    29     <!-- 代表13天再加3分钟 -->
    30     <duration>P13DT3M</duration>
    31     <!-- 代表12年再加0.3秒 -->
    32     <duration>P12YT0.3S</duration>
    33     <!-- 代表0.3秒 -->
    34     <duration>PT0.3S</duration>    
    35 </date_list>

    4.布尔类型

    boolean.xsd:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
     3     <xs:complexType name="boolean_list_Type">
     4         <xs:sequence>
     5             <xs:element ref="boolean" maxOccurs="unbounded"/>
     6         </xs:sequence>
     7     </xs:complexType>
     8     <xs:element name="boolean_list" type="boolean_list_Type"/>
     9     <xs:element name="boolean" type="xs:boolean"/>
    10 </xs:schema>

    boolean.xml:

    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <boolean_list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    3     xsi:noNamespaceSchemaLocation="boolean.xsd">
    4     <!-- 如下是4个有效的boolean值 -->
    5     <boolean>true</boolean>
    6     <boolean>false</boolean>
    7     <boolean>0</boolean>
    8     <boolean>1</boolean>
    9 </boolean_list>

    5.anyURI类型

    uri.xml:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <uri_list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xsi:noNamespaceSchemaLocation="uri.xsd">
     4     <!-- 下面是两个有效的URL -->
     5     <uri>http://www.crazyit.org</uri>
     6     <uri>http://www.crazyit.org/ethos.php</uri>
     7     <!-- 下面是有效的URL加上锚点 -->
     8     <uri>http://www.crazyit.org/ethos.php#name</uri>
     9     <!-- 下面代表访问文件系统的URI -->
    10     <uri>file:///g:/ss</uri>
    11     <uri>abc.txt</uri>
    12 </uri_list>

    uri.xsd:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
     3     <xs:complexType name="uri_list_Type">
     4         <xs:sequence>
     5             <xs:element ref="uri" maxOccurs="unbounded"/>
     6         </xs:sequence>
     7     </xs:complexType>
     8     <xs:element name="uri_list" type="uri_list_Type"/>
     9     <xs:element name="uri" type="xs:anyURI"/>
    10 </xs:schema>

    6.binary类型

    binary.xml:

    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <binaryList  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3      xsi:noNamespaceSchemaLocation="binary.xsd">
    4     <!-- hexBinary类型的值必须是偶数位的十六进制数 --> 
    5     <wawa>1f12fa12aefa</wawa>
    6     <!-- base64Binary类型的值必须是4n位的字符 -->
    7     <haha>abcdxyz+</haha>
    8 </binaryList>

    binary.xsd:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
     3     <xs:complexType name="binaryList_Type">
     4         <xs:sequence>
     5             <xs:element ref="wawa"/>
     6             <xs:element ref="haha"/>
     7         </xs:sequence>
     8     </xs:complexType>
     9     <xs:element name="binaryList" type="binaryList_Type"/>
    10     <xs:element name="wawa" type="xs:hexBinary"/>
    11     <xs:element name="haha" type="xs:base64Binary"/>
    12 </xs:schema>
  • 相关阅读:
    rgba()和opacity的比较(转)
    CSS定位以及z-index属性(层叠性)的详解(转)
    hadoop 集群HA高可用搭建以及问题解决方案
    服务容错模式
    分布式系统基础总结
    当Kubernets遇上阿里云 -之七层负载均衡(一).
    HAProxy负载均衡原理及企业级实例部署haproxy集群
    基于Docker Compose构建的MySQL MHA集群
    使用 Mesos 管理虚拟机
    VMware VSAN 入门与配置(一)
  • 原文地址:https://www.cnblogs.com/xcf007/p/2790175.html
Copyright © 2020-2023  润新知