android培训、java培训、期待与您交流!
XML Schema
学习总结
简单类型
1
、简单元素
:指只能包含文本内容,不能够包含子元素,也没有属性的元素。
格式:
<xs:element name="xxx" type="yyy"/>
例子:
<xs:element name="name" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<xs:element name="gender" type="xs:boolean"/>
2
、属性
:所有的元素属性均被声明为简单类型。只有复杂类型的元素才可以拥 有属性。
格式:
<xs:attribute name="xxx" type="yyy"/>
例子:
<xs:attribute name="lang" type="xs:string"/>
所有的属性默认都是可选的,我们可以通过使用use关键字明确的指出是可选或是必需:
<xs:attribute name="lang" type="xs:string" use="optional"/>
<xs:attribute name="lang" type="xs:string" use="required"/>
我们可以通过使用default或fixed为简单类型(简单元素、属性)指定默认值 或固定值,
如下:
<xs:element name="color" type="xs:string" default="red"/>
<xs:attr
ibute name="lang" type="xs:string" fixed="CN"/>
对简单类型值的约束 约束 含义
enumeration
定义允许值的枚举
fractionDigits
指定最多允许的小数位数(必须大于或等于零)
length
精确指定允许的最大字符长度
maxExclusive
指定允许的最大数值,必须小于该值
maxInclusive
指定允许的最大数值,必须小于或
等于该值
maxLength
指定允许的最大字符长度(必须大
于等于零)
minExclusive
指定允许的最小数值,必须大于该值
minInclusive
指定允许的最小数值,必须大于或等于该值
minLength
指定允许的最小字符长度
pattern
指定允许值的模式,类似正则表达
式
totalDigits 精确指定数字个数
whiteSpace
处理空白(保留:preserve;替换:
replace;合并:collapse)
复杂类型
复杂类型指包含其他元素
/
属性的元素类型。
<message>
<to>rose</to>
<from>alex</from>
<body>Hi,My Girl!</body>
</message>
在上面的例子中,元素message就是一个复杂类型的元素,我们在Schema 中这样描述:
<xs:element name="message">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
注意元素to,from,body包含在<xs:sequence></xs:sequence>
中,表明 这些元素必须按照定义的顺序出现在你的XML文件中。 当然,message元素也可以包含一个type属性,指向我们定义的复杂类型, 象这样:
<xs:element name="message" type="msg"/>
<xs:complexType name="msg">
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
杂类型和简单类型之间最根本的区别就是:复杂类型的内容中可以包含其他 元素,也可以带有属性(Attribute)但简单类型既不能包含子元素,也不能 带有任何属性。
Schema综述
1
、如何描述空元素
,比如:
<product prodid="1345" />?
因为是空元素,所以不包含子元素,同时由于包含属性,用attribute定义,象 这样:
xs:element name="product">
<xs:complexType>
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
也可以这样:
<xs:element name="product" type="productType"/>
<xs:complexType name="productType">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
2、如何描述只含有简单内容(文本/
属性)的元素,比如:
<message date="200606-26">Hi,My Girl!</message>?
于只包含简单内容,所以我们在元素内容定义的外面用simpleContent 指
出,当描述简单内容的时候,我们需要在简单内容里使用extension或者 restriction来描述内容的数据类型。象这样:
<xs:element name="message">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="date" type="xs:date" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:elem
ent>
其中message的属性date的数据类型为日期(xs:date)。
顺便提一下:XML Schema中常用的数据类型有:
xs:string 、xs:decimal 、xs:integer 、xs:boolean 、xs:date 、xs:time 等。
3、如何定义混合类型,比如:
<message>
This message comes from <from>Alex</from>
</message>
message元素除了包含子元素from之外,还直接包含文本“This message comes from”。对于这种情况,我们需要在complexType中使用属性
mixed="true"指出。以下是Schema:
<xs:element name="message">
<xs:complexType mixed="true">
<xs:element name="from" type="xs:string"/>
</xs:complexType>
</xs:element>
当然,如果包含更多的子元素,我们可以需要使用<xs:sequence>来限定那些 子元素的顺序。 在XML Schema中,有3类共7种指示器(Indicator):
一、定义元素如何出现:包括
all,sequence,choice 这三个。
1、all:默认值。不限制子元素的出现顺序,每个子元素必须出现且只能出现一 次。例如:
<xs:element name="person">
<xs:complexType>
<xs:all>
<xs:element name="firstname"
type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
2、sequence:子元素在XML文件中按照XML Schema定义的顺序出现。
3、choice:两个或多个子元素中仅出现一个。例如:
<xs:element name="gender">
<xs:complexType>
<xs:choice>
<xs:element name="male" type="male"/>
<xs:element name="female" type="female"/>
</xs:choice>
</xs:complexType>
</xs:element>
二、次数限定类,包括minOccurs和maxOccurs,前者指定最少出现次数, 后者指定最多出现次数。例如:
<xs:element name="person">
<xs:complexType>
<s:sequence>
<xs:e
lement name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string"
maxOccurs="10" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
如果元素出现的最大次数无限制,可以使用
maxOccurs="unbounded"。
三、组限定:包括Group和attributeGroup,用来定义一组相关的元素。比 如:
<xs:group name="persongroup">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="birthday" type="xs:date"/>
</xs:sequence>
</x
s:group>
<xs:attributeGroup name="personattrgroup">
<xs:attribute name="firstname" type="xs:string"/>
<xs:attribute name="lastname" type="xs:string"/>
<xsattribute name="birthday"
type="xs:date"/>
</xs:attributeGroup>
补充:any>和<anyAttribute> ,在XML Schema中使用这两个元素可以放宽SchemaXM文件内容的限制。容许我们在XML文件中使用没有在
Schema中定义的元素和属性。(很少使用) 元素属性substitutionGroup可以让元素b替换元素a在XML文件中出现。
比如:
<xs:element name="cn_name" type="xs:string"/>
<xs:elemen
t name="en_name" substitutionGroup="cn_name"/>
这种情形类似Choice:
<xs:choice>
<xs:element name="cn_name" type="xs:string"/>
<xs:element name="en_name" type="xs:string"/>
</xs:choice>
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
XML Schema
学习总结
简单类型
1
、简单元素
:指只能包含文本内容,不能够包含子元素,也没有属性的元素。
格式:
<xs:element name="xxx" type="yyy"/>
例子:
<xs:element name="name" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<xs:element name="gender" type="xs:boolean"/>
2
、属性
:所有的元素属性均被声明为简单类型。只有复杂类型的元素才可以拥 有属性。
格式:
<xs:attribute name="xxx" type="yyy"/>
例子:
<xs:attribute name="lang" type="xs:string"/>
所有的属性默认都是可选的,我们可以通过使用use关键字明确的指出是可选或是必需:
<xs:attribute name="lang" type="xs:string" use="optional"/>
<xs:attribute name="lang" type="xs:string" use="required"/>
我们可以通过使用default或fixed为简单类型(简单元素、属性)指定默认值 或固定值,
如下:
<xs:element name="color" type="xs:string" default="red"/>
<xs:attr
ibute name="lang" type="xs:string" fixed="CN"/>
对简单类型值的约束 约束 含义
enumeration
定义允许值的枚举
fractionDigits
指定最多允许的小数位数(必须大于或等于零)
length
精确指定允许的最大字符长度
maxExclusive
指定允许的最大数值,必须小于该值
maxInclusive
指定允许的最大数值,必须小于或
等于该值
maxLength
指定允许的最大字符长度(必须大
于等于零)
minExclusive
指定允许的最小数值,必须大于该值
minInclusive
指定允许的最小数值,必须大于或等于该值
minLength
指定允许的最小字符长度
pattern
指定允许值的模式,类似正则表达
式
totalDigits 精确指定数字个数
whiteSpace
处理空白(保留:preserve;替换:
replace;合并:collapse)
复杂类型
复杂类型指包含其他元素
/
属性的元素类型。
<message>
<to>rose</to>
<from>alex</from>
<body>Hi,My Girl!</body>
</message>
在上面的例子中,元素message就是一个复杂类型的元素,我们在Schema 中这样描述:
<xs:element name="message">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
注意元素to,from,body包含在<xs:sequence></xs:sequence>
中,表明 这些元素必须按照定义的顺序出现在你的XML文件中。 当然,message元素也可以包含一个type属性,指向我们定义的复杂类型, 象这样:
<xs:element name="message" type="msg"/>
<xs:complexType name="msg">
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
杂类型和简单类型之间最根本的区别就是:复杂类型的内容中可以包含其他 元素,也可以带有属性(Attribute)但简单类型既不能包含子元素,也不能 带有任何属性。
Schema综述
1
、如何描述空元素
,比如:
<product prodid="1345" />?
因为是空元素,所以不包含子元素,同时由于包含属性,用attribute定义,象 这样:
xs:element name="product">
<xs:complexType>
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
也可以这样:
<xs:element name="product" type="productType"/>
<xs:complexType name="productType">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
2、如何描述只含有简单内容(文本/
属性)的元素,比如:
<message date="200606-26">Hi,My Girl!</message>?
于只包含简单内容,所以我们在元素内容定义的外面用simpleContent 指
出,当描述简单内容的时候,我们需要在简单内容里使用extension或者 restriction来描述内容的数据类型。象这样:
<xs:element name="message">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="date" type="xs:date" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:elem
ent>
其中message的属性date的数据类型为日期(xs:date)。
顺便提一下:XML Schema中常用的数据类型有:
xs:string 、xs:decimal 、xs:integer 、xs:boolean 、xs:date 、xs:time 等。
3、如何定义混合类型,比如:
<message>
This message comes from <from>Alex</from>
</message>
message元素除了包含子元素from之外,还直接包含文本“This message comes from”。对于这种情况,我们需要在complexType中使用属性
mixed="true"指出。以下是Schema:
<xs:element name="message">
<xs:complexType mixed="true">
<xs:element name="from" type="xs:string"/>
</xs:complexType>
</xs:element>
当然,如果包含更多的子元素,我们可以需要使用<xs:sequence>来限定那些 子元素的顺序。 在XML Schema中,有3类共7种指示器(Indicator):
一、定义元素如何出现:包括
all,sequence,choice 这三个。
1、all:默认值。不限制子元素的出现顺序,每个子元素必须出现且只能出现一 次。例如:
<xs:element name="person">
<xs:complexType>
<xs:all>
<xs:element name="firstname"
type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
2、sequence:子元素在XML文件中按照XML Schema定义的顺序出现。
3、choice:两个或多个子元素中仅出现一个。例如:
<xs:element name="gender">
<xs:complexType>
<xs:choice>
<xs:element name="male" type="male"/>
<xs:element name="female" type="female"/>
</xs:choice>
</xs:complexType>
</xs:element>
二、次数限定类,包括minOccurs和maxOccurs,前者指定最少出现次数, 后者指定最多出现次数。例如:
<xs:element name="person">
<xs:complexType>
<s:sequence>
<xs:e
lement name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string"
maxOccurs="10" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
如果元素出现的最大次数无限制,可以使用
maxOccurs="unbounded"。
三、组限定:包括Group和attributeGroup,用来定义一组相关的元素。比 如:
<xs:group name="persongroup">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="birthday" type="xs:date"/>
</xs:sequence>
</x
s:group>
<xs:attributeGroup name="personattrgroup">
<xs:attribute name="firstname" type="xs:string"/>
<xs:attribute name="lastname" type="xs:string"/>
<xsattribute name="birthday"
type="xs:date"/>
</xs:attributeGroup>
补充:any>和<anyAttribute> ,在XML Schema中使用这两个元素可以放宽SchemaXM文件内容的限制。容许我们在XML文件中使用没有在
Schema中定义的元素和属性。(很少使用) 元素属性substitutionGroup可以让元素b替换元素a在XML文件中出现。
比如:
<xs:element name="cn_name" type="xs:string"/>
<xs:elemen
t name="en_name" substitutionGroup="cn_name"/>
这种情形类似Choice:
<xs:choice>
<xs:element name="cn_name" type="xs:string"/>
<xs:element name="en_name" type="xs:string"/>
</xs:choice>
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
发表评论
-
黑马程序员——赢在习惯
2012-06-20 06:08 706android培训、java培训、期待与您交流! 最 ... -
黑马程序员——使用String类时的一个注意事项
2012-06-20 05:51 917android培训、java培训、期待与您交流! ... -
黑马程序员——银行业务调度系统
2012-06-20 05:35 670android培训、java培训、期待与您交流! 上一个 ... -
黑马程序员——交通灯管理系统
2012-06-20 05:22 737android培训、java培训、期待与您交流! 今天看 ... -
黑马程序员——哎,睡不着,起来,奋斗
2012-06-20 05:06 753android培训、java培训、期待与您交流! 早 ... -
黑马程序员——jdbc批量处理
2012-06-19 15:27 0<a href="http://edu.csd ... -
黑马程序员——源码面前了无秘密
2012-06-19 14:42 1738android培训、java培训、期待与您交流! 在这和 ... -
黑马程序员——时刻准备着
2012-06-19 14:34 786android培训、java培训、期待与您交流! 哎!一 ... -
黑马程序员——字符串相关
2012-06-19 14:27 826android培训、java培训、 ... -
黑马程序员——父类调用子类的成员变量 ?挺有意思
2012-06-19 14:17 3215android培训、java培训、期待与您交流! ... -
黑马程序员——父类调用子类的成员变量 ?挺有意思
2012-06-19 14:15 0<a href="http://edu.csd ...
相关推荐
XML发展历史概述 XML文档组成元素 XML Schema组成元素 XML相关API
理解XML Schema XML Schema进阶
《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用》不仅可以作为Java Web开发的学习用书,还可以作为从事Java Web开发的程序员的参考用书和必备手册。 此外,《Java Web开发详解...
XML Schema 是基于 XML 的 DTD 替代者。 XML Schema 描述 XML 文档的结构。 XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 在此教程中,你将学习如何在应用程序中读取和创建 XML ...
XML Schema 教程 XML Schema 是基于 XML 的 DTD 替代者。 XML Schema 描述 XML 文档的结构。 XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 在此教程中,你将学习如何在应用程序中读取和...
赠送jar包:xmlschema-core-2.1.0.jar; 赠送原API文档:xmlschema-core-2.1.0-javadoc.jar; 赠送源代码:xmlschema-core-2.1.0-sources.jar; 赠送Maven依赖信息文件:xmlschema-core-2.1.0.pom; 包含翻译后的API...
好不容易找到的XmlSchema-1.4.7 jar包,需要的同学速度下载吧。不黑心,只要1分~~~
XmlSchema-1.1.jar XmlSchema-1.1.jar
xmlschema-core-2.0.3.jar;xmlschema-core-2.0.3.jar;xmlschema-core-2.0.3.jar
XML文件XML Schema.docXML Schema.doc
XmlSchema-1.2.jar,xmlschema-1.2.jar,xml.jar
cxf jar xmlschema-core-2.0.jar
XML Schema是以XML语言为基础的,它用于可替代DTD。 一份XML schema文件描述了XML文档的结构。 XML Schema语言也被称为XML Schema Definition (XSD)(XML Schema定义). --------------------------------------...
Schema相对于DTD的明显好处是XML Schema文档本身也是XML文档,而不是像DTD一样使用自成一体的语法。这就方便了用户和开发者,因为可以使用相同的工具来处理XML Schema和其他XML信息,而不必专门为Schema使用特殊工具...
《XML》实验任务书 【2】 XML Schema [实验目的] 1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素...
编写程序,输出一个与XML Schema 相符合的 XML文档。
XmlSchema-1.4.7.jar 最新的,免费!
XML Schema 是基于 XML 的 DTD 替代者。 XML Schema 描述 XML 文档的结构。 XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 在此教程中,你将学习如何在应用程序中读取和创建 XML ...
XML Schema xsdXML Schema xsdXML Schema xsdXML Schema xsd