【XML】 DTD 详解

╰+攻爆jí腚メ 2023-06-10 15:23 146阅读 0赞

文档类型定义(DTD)

  • 可定义合法的XML文档构建模块 ,它使用一系列合法的元素来定义文档的结构。
  • DTD可被声明于XML文档中,也可做为一个外部引用。

1.在内部声明 :

  1. 如果在内部声明的DTD包含在XML源文件中,它**需要通过DOCTYPE语法包装起来进行声明:**

格式如下:

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

具体例子:

  1. <? xml version="1.0"?>
  2. <! DOCTYPE note
  3. [
  4. <!ELEMENT note(to,from,heading,body)>
  5. <!ELEMENT to (#PCDATA)>
  6. <!ELEMENT from (#PCDATA)>
  7. <!ELEMENT heading (#PCDATA)>
  8. <!ELEMENT body (#PCDATA)>
  9. ]>
  10. <note>
  11. <to>George</to>
  12. <from>John</from>
  13. <heading>Reminder</heading>
  14. <body>Don't forget the meeting!</body>
  15. </note>

2.外部文档声明:

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

格式如下:

  1. <!DOCTYPE 根元素 SYSTEM "文件名">

假如DTD位于XML 源文件的外部,那么需要在最上面引用:

  1. <?xml version="1.0"?>
  2. <!DOCTYPE note SYSTEM "note.dtd">
  3. <note>
  4. <to>George</to>
  5. <from>John</from>
  6. <heading>Reminder</heading>
  7. <body>Don't forget the meeting!</body>
  8. </note>

3.为什么要使用DTD:

  1. 1.为了正确交换数据
  2. 2.定义XML文件需要确定的结构
  3. 3.xml文件提供语法与规则

4.DTD-属性:

在DTD中,属性通过ATTLIST来进行声明

语法:

  1. <!ATTLIST 元素名称 属性名称 属性类型 默认值>
  2. 例子:
  3. DTD文件中:
  4. <!ATTLIST payment type CDATA "cash">
  5. XML文件中:
  6. <payment type="cash"/>

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwNjMxMDYz_size_16_color_FFFFFF_t_70

5.DTD-实体

  1. 实体是用于定义引用普通文本或特殊字符的快捷方式的变量
  2. 内部实体声明的语法:
  3. <!ENTITY 实体名称“实体的值”>

例子:

  1. DTD文件中:
  2. <!ENTITY wirte "Bill Gates">
  3. XML文件中:
  4. <author>&writer;</author>

注释: 一个实体由三部分构成: 一个和号 (&), 一个实体名称, 以及一个分号 (;)。

发表评论

表情:
评论列表 (有 0 条评论,146人围观)

还没有评论,来说两句吧...

相关阅读

    相关 XMLDTD 详解

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

    相关 XML: DTD详解(二)

    文档类型定义和命名空间   有效(Valid)的XML文档:   首先,XML文档是个格式正规的(Well-formed)XML文档;(见[格式正规的XML:语法 属性

    相关 XMLXML - DTD

    DTD即Document Type Definition文档类型定义,规定了XML文档的逻辑结构,可在XML文档中声明,也可作为一个外部引用。通过DTD,我们可以知道XML文档

    相关 Xmldtd约束

    xml的约束 \为什么需要约束? \\ 比如现在定义一个person的xml文件,只想要这个文件里面保存人的信息,比如name age等,但是如果在xml文件中