一.XML Schema 是XML文档,不像DTD有其特有的语法。对开辟人员来讲,你不需要懂两种语法就能够编写一个花样优越的XML文档。对开辟XML分析器来讲,XML Schema因为也是XML语法,完成及支撑起来就更方便了。同时XML Schema 继续了XML可扩大的长处。
二.定义数据范例。在一个DTD文件中只能把数据声明为字符串范例或字符串范例的子元素,如PCDATA、CDATA、ID等。而在XML Schema 中,能够定义跟编程言语一样雄厚的数据范例,如整型,浮点型,布尔型,日期型等。如许的优点是不言而喻的,在你编写程序运用一个整型数据时,如用DTD定义的,就必须将它从字符型转化为整型,而XML Schema 则能够直接定义为整型。
三.XML Schema是一个开放的模子。以下面的一个XML文档:
<item> <name>TG/DTLatte</name> <quantity>1</quantity> <price>2.00</price> </item>
下面是它的DTD及Schema形貌:
DTD:
<!ELEMENT name (#PCDATA)> <!ELEMENT quantity (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ELEMENT item (name,quantity,price)>
schema
<ElementType name="name"/> <ElementType name="quantity" dt:type="int"/>> <ElementType name="price" dt:type="fixed.14.4"/> <ElementType name="item" model="open"> <element type="name"/> <element type="quantity"/> <element type="price"/> </ElementType>
当上面的XML文档增添一条<myItem:time>10:21 PDT</myItem:time>元素变成:
<item xmlns:myItm="urn:myItems"> <name>TG/DT Latte</name> <quantity>1</quantity> <price>2.00</price> <myItem:time>10:21 PDT</myItem:time> </item>
以上的DTD将会激发一个考证毛病,而Schema则不会。
四.定名空间的集成。一个XML文档只能由一个DTD文档来形貌,而能够由多个XML Schema文档来形貌。后者完整支撑定名空间。
以上就是XML Schema的简朴引见的细致内容,更多请关注ki4网别的相干文章!