1、DTD 的局限性
DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法)
DTD数据类型有限(与数据库数据类型不一致)
DTD不可扩展
DTD不支持命名空间(命名冲突)
Schema的新特性
Schema基于XML语法
Schema可以用能处理XML文档的工具处理
Schema大大扩充了数据类型,可以自定义数据类型
Schema支持元素的继承—Object-Oriented’ish
Schema支持属性组
2、<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="fruit">
<xs:complexType>
<xs:sequence>
<xs:element name="apple" type="xs:string"/>
<xs:element name="pear" type="xs:string"/>
<xs:element name="melon" type="xs:string"/>
<:sequence>
<:complexType>
<:element>
<:schema>
<?xml version="1.0"?>
<fruit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="fruit.xsd">
</fruit>
DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法)
DTD数据类型有限(与数据库数据类型不一致)
DTD不可扩展
DTD不支持命名空间(命名冲突)
Schema的新特性
Schema基于XML语法
Schema可以用能处理XML文档的工具处理
Schema大大扩充了数据类型,可以自定义数据类型
Schema支持元素的继承—Object-Oriented’ish
Schema支持属性组
2、<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="fruit">
<xs:complexType>
<xs:sequence>
<xs:element name="apple" type="xs:string"/>
<xs:element name="pear" type="xs:string"/>
<xs:element name="melon" type="xs:string"/>
<:sequence>
<:complexType>
<:element>
<:schema>
<?xml version="1.0"?>
<fruit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="fruit.xsd">
</fruit>