信息发布→ 登录 注册 退出

DTD中的ENTITY怎么用 DTD实体定义和引用

发布时间:2026-01-08

点击量:
DTD 中的 ENTITY 是用于定义可复用文本或外部内容的静态机制,分内部实体()、外部实体()和参数实体(),分别适用于固定文本、外部文件引用和 DTD 内部宏替换。

DTD 中的 ENTITY(实体)是用来定义可复用文本片段或外部内容的机制,核心作用是避免重复、提升可维护性,并支持结构化文档管理。它不是运行时变量,而是在 XML 解析阶段被静态展开的内容。

内部实体:直接在 DTD 里写死内容

适合版权声明、固定提示语、常用缩写等不变文本。

  • 声明语法:
  • 必须放在 DTD 内部(DOCTYPE 的方括号中),或外部 DTD 文件里
  • 引用方式:在 XML 文档任意位置写 &名称;(注意 & 和 ; 是必需的)

例如:

  
    
]>  
&author;(版本&version;)

外部实体:从独立文件加载内容

适用于大段说明、公司信息、多语言文案等需集中维护的场景,也常用于引入配置或模板。

  • 声明语法:(支持相对路径、绝对路径或 URL)
  • 引用方式相同:&名称;
  • 注意:解析器默认可能禁用外部实体(出于安全考虑),启用需配置解析器(如设置 setFeature("http://apache.org/xml/features/disallow-doctype-decl", false)

例如:


其中 contact.xml 内容为:北京市朝阳区xxx,在主 XML 中写 &contactInfo; 即可插入该结构。

参数实体:只在 DTD 内部起作用的“宏”

用于简化 DTD 自身结构,比如复用元素名、属性列表,不能在 XML 文档体中引用。

  • 声明语法:(% 是关键标识)
  • 引用方式:%名称;,且只能出现在 DTD 内(即 DOCTYPE 的 [ ] 内或外部 DTD 中)
  • 典型用途:统一定义一组相似元素、条件性启用模块

例如:

  
  

预定义实体和字符实体

XML 已内置 5 个安全字符实体,无需声明即可使用:

  • zuojiankuohaophpcn
  • youjiankuohaophpcn>
  • &&
  • ""
  • ''

若需表示其他 Unicode 字符(如 ©、®),可用字符引用形式:©©,这类不属于 DTD 实体,但解析行为一致。

标签:# apache  # 多语言  # xml  # http  # 复用  # 适用于  # 文档  # 是在  # 朝阳区  # 放在  # 出现在  # 能在  # 这类  # 北京市  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!