首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

xml,dtd,schema的demo_二

2013-12-11 
xml,dtd,schema的demo_2xs:schema xmlns:xshttp://www.w3.org/2001/XMLSchema??????????? ?---schema

xml,dtd,schema的demo_2

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"??????????? ?---schema文件,schema的声明

elementFormDefault="qualified" attributeFormDefault="unqualified">?????? ---xs代表命名空间?
?<xs:element name="书本" type="书本类型"/>??????????????????---定义一个元素.
?<xs:complexType name="书本类型">????????????????????????????---定义一个复合类型,类型名称为name.
??<xs:sequence minOccurs="0" maxOccurs="unbounded">---代表这个复合类型中按顺序包含2个子元素.

????????????????????????????????????????????????????????????????????????????---minOccurs代表最少出现次数,maxOccurs是最多.
???<xs:element name="名称" type="xs:int"/>?????????????????? ---子元素类型为int.
???<xs:element name="作者" type="xs:date"/>????????????????---这个子元素类型为date.
??</xs:sequence>
?</xs:complexType>
</xs:schema>

?

<书本 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="myschema.xsd">?????????????????? ---这个是xml文件,这个是元素调用schema.
?<名称>12</名称>
?<作者>2010-12-25</作者>
</书本>

?

?

<xs:simpleType>?????????????????????????????????????? ---代表简单类型.
?????<xs:restriction base="xs:string">???????????? ---代表这个类型基于string型.
????????<xs:enumeration value="男"/>????????????? ---这个类型的内容只能是男或者女,因为enumeration是枚举.
????????<xs:enumeration value="女"/>

????</xs:restriction>
</xs:simpleType>

?

<xs:simpleType>
?????<xs:restriction base="xs:integer">????????? ---代表这个类型基于integer.
????????<xs:minInclusive value="1" />???????????? ---内容只能是1到150的整数,并且是闭区间.
????????<xs:maxInclusive value="150"/>
??????</xs:restriction>
</xs:simpleType>

?

<xs:group name="myGroup"> ... </xs:group>????? ---代表元素的组,相当于将很多元素集合在一起.

?

<xs:attribute name="interest" type="xs:integer" use="required"/>? ---代表元素的属性,类型,和是否必须使用.

?

?<xs:attributeGroup name="myAttributeGroup"> ...? ?</xs:attributeGroup>? ---代表属性组,把很多属性集合成组.

?

?

?<xs:simpleType name="myType">?????????? ---自定义简单类型.约束该类型基于integer,内容只能为>0并且<=100的整数.
??<xs:restriction base="xs:integer">
?????<xs:minExclusive value="0"/>
???? <xs:maxInclusive value="100"/>
??</xs:restriction>
?</xs:simpleType>

?

??<xs:list itemType="xs:date"/>??

? ---代表所有内容必须是date类型,list代表内容可以用空格隔开,比如2010-10-10 2010-10-10

?

<xs:union memberTypes="a b" />???? ---代表a和b的集合.

?

<xs:choice minOccurs="1" maxOccurs="3">? ---代表可以选择一次到3次,但每次只能选择组中一个元素.

?

---------------------***感谢风中叶老师的视频*****-----------------------------------

schema是一个xml文件,但dtd不是xml文件.

所有的schema文档,其根元素必须为schema.

simpleType类型的元素没有子元素,也没有属性.

当需要定义的元素包含了子元素或者属性时,必须要用complexType.

simpleContent用于ComplexType元素上,用于限定该complexType的内容类型.表示该complexType没有子元素,

同时该complexType需要有属性.如果没有属性,那么就成了simpleType了.

通过DOCTYPE可以明确指定文档的根元素,因为DOCTYPE后面跟的元素就是文档的根元素.

通过schema是没法明确指定目标xml文档的根元素,XMLSPY是通过推断哪个元素包含了其他元素来选择包含其他元素最多的

那个元素来作为文档的根,但我们可以明确指定文档的根元素而不必按照xmlspy的生成来做.

DOM:document object model 文档 对象模型.

对于xml开发来说,DOM是一个对象化得xml数据接口,一个与语言无关,与平台无关的标准接口规范.

根节点代表的是xml文档本身,是解析xml文档的入口.

而根元素结点则表示xml文档的根元素,它对应于xml文档的root.

?

?

?


??

热点排行