XML DTD

  • 什么是 DTD

    具有正确语法的 XML 文档称为“格式良好”。
    针对 DTD 验证的 XML 文档既“格式正确”又“有效”。
    DTD 代表文档类型定义。
    DTD 定义 XML 文档的结构以及法律元素和属性。
  • 何时使用 DTD

    使用DTD,独立的人群可以同意使用标准 DTD 交换数据。
    使用DTD,您可以验证从外界收到的数据是否有效。
    您也可以使用 DTD 来验证您自己的数据。
    如果您想学习DTD,请阅读我们的DTD 教程
  • 什么时候不使用 DTD

    XML不需要DTD。
    当您尝试使用XML或使用小的XML文件时,创建DTD可能会浪费时间。
    如果开发应用程序,请等到规范稳定后再添加DTD。否则,由于验证错误,您的软件可能会停止运行。
  • 有效的 XML 文档

    有效 XML 文档是 “格式良好” 的,并且符合 DTD 的规则:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE note SYSTEM "Note.dtd">
    <note>
        <to>Tove</to>
        <from>Jani</from>
        <heading>Reminder</heading>
        <body>这个周末别忘了我!</body>
    </note>
    
    
    上面的 DOCTYPE 声明包含对 DTD 文件的引用;DTD 文件的内容在下面显示和说明。
    DTD 的目的是定义 XML 文档的结构以及法律元素和属性:
    <!DOCTYPE note
    [
    <!ELEMENT note (to,from,heading,body)>
    <!ELEMENT to (#PCDATA)>
    <!ELEMENT from (#PCDATA)>
    <!ELEMENT heading (#PCDATA)>
    <!ELEMENT body (#PCDATA)>
    ]>
    
    
    上面的DTD的解释如下:
    • !DOCTYPE note-定义文档的根元素为note
    • !ELEMENT note-定义 note 元素必须包含以下元素:“to,from,heading,body”
    • !ELEMENT to-将to元素定义为 “#PCDATA” 类型
    • !ELEMENT from-将from元素定义为 “#PCDATA” 类型
    • !ELEMENT标题-将标题元素定义为 “#PCDATA” 类型
    • !ELEMENT body-将body元素定义为 “#PCDATA” 类型
    提示:#PCDATA 表示可解析的字符数据。
  • 使用 DTD 进行实体声明

    DOCTYPE 声明还可用于定义文档中使用的特殊字符或字符串:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE note [
    <!ENTITY nbsp " ">
    <!ENTITY writer "Writer: Donald Duck.">
    <!ENTITY copyright "Copyright: W3Schools.">
    ]>
    <note>
        <to>Tove</to>
        <from>Jani</from>
        <heading>Reminder</heading>
        <body>这个周末别忘了我!</body>
        <footer>&writer; ©right;</footer>
    </note>
    
    
    提示:实体包含三个部分:它以&符号开头,然后为实体名称,最后以分号(;)结尾。