W3C XML Schema 内建字符串类型比较

转载 2007年09月18日 20:42:00
W3C XML Schema 内建字符串类型比较(含schema及xml文件)
string,字符串。 
  可以包含回车符,换行符,制表符.
QName (qualified name),有前缀名称类型。
  前缀和局部名称必须都是NCName类型,中间用冒号连接.
normalizedString,规范化字符串类型。
  string中回车符、换行符、制表符将被去掉 。
token,记号字符串类型。
  normalizedString中头、尾及中间多余的空格字符将被去掉。
NMTOKEN,名称记号字符串类型。
  限制 token 类型中只能包含数字, 字母, 下划线, 冒号, 及其他名字字符 (可以由数字开头 )
name,名称字符串类型。
  限制 token 类型中只包含数字, 字母, 下划线, 冒号, 及其他名字字符, 且非数字开头
NCName,无冒号名称字符串类型。
  限制name类型中不含冒号

 

这里提供一个schema和它的一个xml,来说明W3C XML Schema 各种内建字符串类型的区别。欢迎大家添加更有趣的例子。

charTypes.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- by 98900969r. to compare various XML Schema built-in string-based simple types. -->
<!-- 把被注释的不合法例子“放出来”,就会有验证错误 -->
<strings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="charTypes.xsd">
 <primitiveTypes>
 
  <!-- string,字符串。 可以包含回车符,换行符,制表符 -->
  <string>
        */??:123abc?          ???@#$%*()_+      +=-{}|/~!,.;:
                                    </string>
  
  <!-- QName (qualified name),有前缀名称类型。前缀和局部名称必须都是NCName类型,中间用冒号连接 -->
  <QName>q:a1234</QName>
  
  <!-- invalid QName, 不合法例子
  <QName>q:?abc</QName>
  <QName>q:*abc</QName>
  <QName>q: abc</QName>
  <QName>q:1abc</QName>
  -->
 </primitiveTypes>
 <derivedTypes>
 
  <!--  normalizedString,规范化字符串类型。string中回车符、换行符、制表符将被去掉 。-->
  <normalizedString>  */??:123abc?          ???@#$%*()_+      +=-{}|/~!,.;:</normalizedString>
  
  <!-- token,记号字符串类型。normalizedString中头、尾及中间多余的空格字符将被去掉。-->
  <token>*/??:123abc? ???@#$%*()_+ +=-{}|/~!,.;:</token>
  
  <!-- NMTOKEN,名称记号字符串类型。
  限制 token 类型中只能包含数字, 字母, 下划线, 冒号, 及其他名字字符 (可以由数字开头 ) -->
  <NMTOKEN>:1234</NMTOKEN>
  <NMTOKEN>_1234</NMTOKEN>
  
  <!-- invalid NMTOKEN,不合法例子
  <NMTOKEN>?asdfsad</NMTOKEN>
  <NMTOKEN>*1223a</NMTOKEN>
  <NMTOKEN>?1234</NMTOKEN>
  <NMTOKEN>a1234?</NMTOKEN>
  <NMTOKEN>/a1234</NMTOKEN>
  <NMTOKEN>)a1234</NMTOKEN>
  <NMTOKEN>$a1234</NMTOKEN>
  <NMTOKEN>_12 34</NMTOKEN>
  -->
  
  <!-- name,名称字符串类型。限制 token 类型中只包含数字, 字母, 下划线, 冒号, 及其他名字字符, 且非数字开头 -->
  <Name>:1234</Name>
  <Name>q:123a</Name>
  
  <!-- invalid Name 不合法例子
  <Name>1234</Name>
  -->
  
  <!-- NCName,无冒号名称字符串类型。限制name类型中不含冒号 -->
   
  <NCName>_1234</NCName>
  <NCName>abcd123</NCName>
  <NCName>书名1</NCName>
  
  <!-- invalid NCName  不合法例子
  <NCName>:123a</NCName>
  <NCName>q:123a</NCName>
  -->
 </derivedTypes>
</strings>

 

charTypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<!-- by 98900969r. to compare various XML Schema built-in string-based simple types. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
 <xs:annotation>
  <xs:documentation>
  references:
  [1] Primitive XML Data Types
  http://doc.ddart.net/xmlsdk/htm/xsd_ref_6ldf.htm
  [2] Derived XML Data Types
  http://doc.ddart.net/xmlsdk/htm/xsd_ref_6z03.htm
  [3] w3schools, XML Schema Tutorial : String data types are used for values that contains character strings.
  http://www.w3schools.com/schema/schema_dtypes_string.asp
  </xs:documentation>
 </xs:annotation>
 <xs:element name="strings">
  <xs:complexType>
   <xs:sequence>
    <xs:element name="primitiveTypes">
     <xs:complexType>
      <xs:sequence>
       <!-- string - Represents character strings. -->
       <!-- string,字符串。 可以包含回车符,换行符,制表符 -->
       <xs:element name="string" type="xs:string" maxOccurs="unbounded"/>
       <!-- QName - Represents a qualified name. 
       A qualified name is composed of a prefix and a local name separated by a colon. 
       Both the prefix and local names must be an NCName. 
       The prefix must be associated with a namespace URI reference, using a namespace declaration. -->
       <!-- QName (qualified name),有前缀名称类型。前缀和局部名称必须都是NCName类型,中间用冒号连接 -->
       <xs:element name="QName" type="xs:QName" maxOccurs="unbounded"/>
      </xs:sequence>
     </xs:complexType>
    </xs:element>
    <xs:element name="derivedTypes">
     <xs:complexType>
      <xs:sequence>
       <!-- normalizedString - Represents white space normalized strings. 
       This data type is derived from string. A string that does not contain line feeds, carriage returns, or tabs -->
       <!--  normalizedString,规范化字符串类型。
       string中回车符、换行符、制表符将被去掉 被当成空字符相邻头、尾及中间多余的"空字符"去掉。-->
       <xs:element name="normalizedString" type="xs:normalizedString" maxOccurs="unbounded"/>
       <!--  token - Represents tokenized strings. 
       This data type is derived from normalizedString. 
       A string that does not contain line feeds, carriage returns, tabs, leading or trailing spaces, or multiple spaces -->
       <!-- token,记号字符串类型。normalizedString中头、尾及中间多余的空格字符将被去掉。-->
       <xs:element name="token" type="xs:token" maxOccurs="unbounded"/>
       <!-- NMTOKEN - Represents the NMTOKEN attribute type. 
       An NMTOKEN is set of name characters (letters, digits, and other characters) in any combination. 
       Unlike Name and NCName, NMTOKEN has no restrictions on the starting character. 
       This data type is derived from token. (only used with schema attributes) -->
       <!-- NMTOKEN,名称记号字符串类型。
       限制 token 类型中只能包含数字, 字母, 下划线, 冒号, 及其他名字字符 (可以由数字开头 ) -->
       <xs:element name="NMTOKEN" type="xs:NMTOKEN" maxOccurs="unbounded"/>
       <!-- Represents names in XML. 
       A Name is a token that begins with a letter, underscore, or colon and continues with name characters 
       (i.e. letters, digits, and other characters). 
       This data type is derived from token. -->
       <!-- name,名称字符串类型。限制 token 类型中只包含数字, 字母, 下划线, 冒号, 及其他名字字符, 且非数字开头 -->
       <xs:element name="Name" type="xs:Name" maxOccurs="unbounded"/>
       <!-- Represents noncolonized names. This data type is the same as Name, except it cannot begin with a colon. 
       This data type is derived from Name. -->
       <!-- NCName,无冒号名称字符串类型。限制name类型中不含冒号 -->
       <xs:element name="NCName" type="xs:NCName" maxOccurs="unbounded"/>
      </xs:sequence>
     </xs:complexType>
    </xs:element>
   </xs:sequence>
  </xs:complexType>
 </xs:element>
</xs:schema>

 

相关文章推荐

XML Schema(W3C)数据类型

XML Schema(W3C)数据类型XML Schema数据类型总体上分为简单类型和复杂类型。掌握了这部分的知识就掌握了它70%的内容。简单类型简单类型细分之后大概的结构如下: 内置基本类型:该类型...

W3C XML Schema 支持的Unicode字符类

使用Unicode字符类                       ...

使用W3C XML Schema(1)

最近配合做接口测试,需要用到schema验证,以前没接触过schema,原来还是很好用滴;转一个找到的不错资料,收藏。 转载地址:http://blog.chinaunix.net/space.ph...

W3C XML Schema 教程 (三)

6          复杂元素描述 复杂元素指包含属性或子元素的XML元素,如:”Li” sex=”男”>,主要包括下列四类: l    &...

XML学习---Schema(W3C)

今天学了Schema,好好写篇博客总结一下。主要学了一下内容 Schema概述 Schema的格式和使用 Schema元素的声明 Schema的属性声明 Schema的数据类型 Schema的名称空间...

使用W3C XML Schema(2)

分组,排序和派生 分组 W3C XML Schema 亦允许元素和属性的分组定义。  definition of an element group -->  xs:grou...

W3C XML Schema 教程 (二)

1          格式良好文档 满足下列要求的XML文档,称为格式良好的文档(Well-Formed Document): (1)    &#...

W3C XML Schema 教程

XML:   Tove Jani Reminder Don't forget me thi

W3C Schema复杂类型一

W3C Schema复杂类型一我准备在复杂类型里添加一个枚举型的值,但是一直失败 <...

W3C XML Schema

  • 2007-09-08 11:53
  • 290KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)