DTD和Schema简介

        DTDDocument Type Description)文档类型定义,是对XML文档合法的一种验证机制。即包含了文档的规则,浏览器根据定义的DTD来解释页面的标识。

    它使用一系列合法的元素来规定文档的结构,可以在XML文档内部声明,也可以在外部单独引用。

XML文档内部的DOCTYPE声明:

语法:

<!DOCTYPE 根元素[元素声明]>

带有DTDXML文档示例:

<?xml version="1.0"?>
<!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  <!ELEMENT to      (#PCDATA)>
  <!ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body    (#PCDATA)>
]>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>


外部文档定义:

其实语法和内部声明一样,只是把DTD单独放在一个.dtd文件中。

XML文档语法

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>


这是包含DTDnote.dtd文件:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

    很通俗的讲,DTD就是对XML文档格式的描述定义,无论是接收还是发出数据信息,都必须满足DTD的格式定义。凡事有个规定才能更好的兼容吧!在实际的应用中(内容相对比较繁琐),DTD的声明还是单独放在外部.dtd文档中比较好。

Schema又是什么?

        Schema也是描述XML文档的结构,类似DTD。它是基于XMLDTD替代者,由XML来编写,从这点来说,就比DTD“近水楼台先得月”了。从数据类型、扩展性方面来说,XML Schema也比DTD强大,所以替代DTD势不可挡。

你可能感兴趣的:(DTD和Schema简介)