【了解更多请参考:http://www.w3schools.com】
Xml Shema 标记合法的XML文档结构(本身也是一个Xml文档)
淘汰了原先的DTD,Xml Shema的优势有(可以定义数据类型,本身是Xml 文档,可扩展...)
Xml Shema 具体做些什么:
- 定义可以在文档中使用的元素
- 定义可以在文档中使用的属性
- 定义哪些是子元素
- 定义子元素间排序
- 定义元素是否可以是空元素,是否可以拥有文本
- 定义元素和属性的数据类型
- 定义元素和属性的默认值
示例:
Xml Document
<?
xml version="1.0"
?>
<
note
>
<
to
>
Tove
</
to
>
<
from
>
Jani
</
from
>
<
heading
>
Reminder
</
heading
>
<
body
>
Don't forget me this weekend!
</
body
>
</
note
>
Xml Shema
<?
xml version="1.0"
?>
<
xs:schema
xmlns:xs
="http://www.w3.org/2001/XMLSchema"
targetNamespace
="http://www.w3schools.com"
xmlns
="http://www.w3schools.com"
elementFormDefault
="qualified"
><
xs:element
name
="note"
>
<
xs:complexType
>
<
xs:sequence
>
<
xs:element
name
="to"
type
="xs:string"
/>
<
xs:element
name
="from"
type
="xs:string"
/>
<
xs:element
name
="heading"
type
="xs:string"
/>
<
xs:element
name
="body"
type
="xs:string"
/>
</
xs:sequence
>
</
xs:complexType
>
</
xs:element
></
xs:schema
>
上面的Xml Shema 说明了Xml 文档中根节点 note 是个复杂类型(因为它可以包含很多不同类型的子节点)
其他节点(to,from,heading,body)是字符串string类型(它们不包含子节点)
下面将上面这个XML文档应用Xml Shema
<?
xml version="1.0"
?>
<
note
xmlns
="http://www.w3schools.com"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://www.w3schools.com note.xsd"
>

<
to
>
Tove
</
to
>
<
from
>
Jani
</
from
>
<
heading
>
Reminder
</
heading
>
<
body
>
Don't forget me this weekend!
</
body
>
</
note
>
shema 元素是所有Xml Shema文档的根元素(如上面示例)
一个shema声明如下
<?
xml version="1.0"
?>
<
xs:schema
xmlns:xs
="http://www.w3.org/2001/XMLSchema"
targetNamespace
="http://www.w3schools.com"
xmlns
="http://www.w3schools.com"
elementFormDefault
="qualified"
>
...
...
</
xs:schema
>
XML Schema用于定义XML文档结构,包括元素及属性的数据类型、默认值等。它可以替代DTD,并且自身也是XML文档,具有更好的可扩展性和灵活性。

566

被折叠的 条评论
为什么被折叠?



