选择显示字体大小

xml schema学习笔记

1、复杂类型和简单类型之间最根本的区别就是:复杂类型的内容中可以包含其他元素,也可以带有属性(attribute),但简单类型既不能包含子元素,也不能带有任何属性。
<xsd:complextype name="cnaddress" >
<xsd:sequence>
<xsd:element name="name"type="xsd:string"/>
<xsd:element name="street" type="xsd:string"/>
<xsd:element name="city"type="xsd:string"/>
<xsd:element name="zip"type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name="country" type="xsd:nmtoken" fixed="us"/>
</xsd:complextype>

2、element存在约束:element可以通过其minoccurs和maxoccurs两个属性来约束元素实例存在的个数,这两个属性的缺省值都是1,表示默认情况下此元素在xml实例文档中必须出现一次。

3、attribute存在约束:元素属性也可以通过attribute的use属性来约束出现一次或根本不出现;use属性的取值可以是required,optional,prohibited三个值,缺省(默认)值是optional.

4、element和attribute都有一个default和fixed属性,针对element来书,只有当element实例为空时才采用此default值,而attribute是当实例不提供此attribute时才采用此default值,因此对attribute而言,只有其use值是optional时default值才有意义,而且对element和attribute来说fixed和default两个属性不能同时存在,否则会出现错误。

5、直接定义在schema元素下,即schema元素的顶级子元素的element和attribute都是全局的,称之为全局元素和全局属性,你在其他类型定义中可以直接引用。

6、派生新类型有两种方式:第一种就是直接从其他类型中扩展(继承)而来,另外一种就是通过对已有类型进行限定性约束而来。
如:以下有三种通过限定性约束定义的新类型:
通过值范围限定:
<xsd:simpletype name="myinteger">
<xsd:restriction base="xsd:integer">
<xsd:mininclusive value="10000"/>
<xsd:maxinclusive value="99999"/>
</xsd:restriction>
</xsd:simpletype>
使用模式匹配限定:
<xsd:simpletype name="sku">
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{3}-[a-z]{2}"/>
</xsd:restriction>
</xsd:simpletype>
使用枚举方式限定:
<xsd:simpletype name="cncity">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="beijing"/>
<xsd:enumeration value="nanchang"/>
<xsd:enumeration value="shanghai"/>
</xsd:restriction>
</xsd:simpletype>

7、原子类型(不可分割的类型,象string,integer等系统内建的类型)、列表类型、联合类型合起来统一称为简单类型。在schema中有nmtokens、idrefs、entities三种内建的列表类型,你也可以从已有的简单类型来创建list(列表)类型,但你不能从已有的list类型和复杂类型来创建列表(list)类型。
如:
<xsd:simpletype name="listofmyinttype">
<xsd:list itemtype="myinteger"/>
</xsd:simpletype>
xml实例文档中列表类型的值是通过空格来进行分隔的,如果声明了一个listofmyinttype元素,其值可能是:
<listofmyint>20003 15037 95977 95945</listofmyint>

8、有几个方面的元素可以应用于list类型来进行约束,它们是:length、minlength、maxlength和enumeration,如:
<xsd:simpletype name="usstatelist">
<xsd:list itemtype="usstate"/>
</xsd:simpletype>
<xsd:simpletype name="sixusstates">
<xsd:restriction base="usstatelist">
<xsd:length value="6"/>
</xsd:restriction>
</xsd:simpletype>
注:针对列表类型要千万注意成员是string类型的,因为string类型中的空格和列表类型的分割符空格会造成部分混淆。

本新闻共3


 


关键字 本文所属关键字

  • XML  

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons