DTD

DTD

定义

文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。

DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

XML 文档构建模块

  • 元素
  • 属性
  • 实体
  • PCDATA
  • CDATA

PCDATA 是会被解析器解析的文本。这些文本将被解析器检查实体以及标记。

文本中的标签会被当作标记来处理,而实体会被展开。

不过,被解析的字符数据不应当包含任何 &、< 或者 > 字符;需要使用 &、< 以及 > 实体来分别替换它们。

CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开

元素

声明

  1. <!ELEMENT 元素名称 类别>
  2. <!ELEMENT 元素名称 (元素内容)>

空元素 <!ELEMENT 元素名称 EMPTY>

只有 PCDATA 的元素 <!ELEMENT 元素名称 (#PCDATA)>

带有任何内容的元素 <!ELEMENT 元素名称 ANY>

带有子元素(序列)的元素 <!ELEMENT 元素名称 (子元素名称 1)>

声明只出现一次的元素 <!ELEMENT 元素名称 (子元素名称)>

声明最少出现一次的元素 <!ELEMENT 元素名称 (子元素名称+)>

声明出现零次或多次的元素 <!ELEMENT 元素名称 (子元素名称?)>声明“非…/既…” 类型的内容

声明混合型的内容

属性

声明 <!ATTLIST 元素名称 属性名称 属性类型 默认值>

*类型**描述*
CDATA值为字符数据 (character data)
(en1|en2|…)此值是枚举列表中的一个值
ID值为唯一的 id
IDREF值为另外一个元素的 id
IDREFS值为其他 id 的列表
NMTOKEN值为合法的 XML 名称
NMTOKENS值为合法的 XML 名称的列表
ENTITY值是一个实体
ENTITIES值是一个实体列表
NOTATION此值是符号的名称
xml:值是一个预定义的 XML 值
*值**解释*
属性的默认值
#REQUIRED属性值是必需的
#IMPLIED属性不是必需的
#FIXED value属性值是固定的

实体

内部声明 :<!ENTITY 实体名称 "实体的值">

外部声明 :<!ENTITY 实体名称 SYSTEM "URI/URL">

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值