DTD

作者: 弹指一挥间_e5a3 | 来源:发表于2021-01-01 13:00 被阅读0次

    DTD (文档类型定义)

    文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

    内部的 DOCTYPE 声明

    假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:

    <!DOCTYPE root-element [element-declarations]>
    

    带有 DTD 的 XML 文档实例

    <?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>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend</body>
    </note>
    

    以上 DTD 解释如下:

    • !DOCTYPE note (第二行)定义此文档是 note 类型的文档。
    • !ELEMENT note (第三行)定义 note 元素有四个元素:"to、from、heading,、body"
    • !ELEMENT to (第四行)定义 to 元素为 "#PCDATA" 类型
    • !ELEMENT from (第五行)定义 from 元素为 "#PCDATA" 类型
    • !ELEMENT heading (第六行)定义 heading 元素为 "#PCDATA" 类型
    • !ELEMENT body (第七行)定义 body 元素为 "#PCDATA" 类型

    外部文档声明

    假如 DTD 位于 XML 源文件的外部,那么它应通过下面的语法被封装在一个 DOCTYPE 定义中:

    <!DOCTYPE root-element SYSTEM "filename">
    

    这个 XML 文档和上面的 XML 文档相同,但是拥有一个外部的 DTD

    <?xml version="1.0"?>
    <!DOCTYPE note SYSTEM "note.dtd">
    <note>
      <to>Tove</to>
      <from>Jani</from>
      <heading>Reminder</heading>
      <body>Don't forget me this weekend!</body>
    </note>
    

    这是包含 DTD 的 "note.dtd" 文件:

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

    为什么使用 DTD?

    通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。

    通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。

    而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。

    您还可以使用 DTD 来验证您自身的数据。

    相关文章

      网友评论

          本文标题:DTD

          本文链接:https://www.haomeiwen.com/subject/zljroktx.html