DTD基础
定义
DTD(document Type Defintion)文档类型定义 为XML文档定义语义约束

DTD声明
内部声明
DTD被包含在XML源文件中
语法:
<!DOCTYPE 根元素[元素声明]>

外部声明
DTD被包含在XML源文件外
语法:
<!DOCTYPE 根元素 SYSTEM “文件名/url地址">

PCDATA
表示包含字符或文本数据,这些文本将被解析器检查实体以及标记 ,被解析的数据不应当包含任何&<>字符,需要用实体替换他们


CDATA
不应由XML解析器进行解析的文本
CDATA部分中的所有内容都会被解析器忽略
语法:
<!CDATA[开始,]]>结束



DTD实体
内部普通实体
声明:
<!ENTITY实体名称"实体的值">
引用:一个实体的引用由三部分构成:&符号,实体名称,分号


内部普通实体漏洞-DDOS
大量进行引用


外部普通实体
声明:
<!ENTITY 实体名称SYSTEM "URI/URL">
<!ENTITY 实体名称 PUBLIC"DTD标识名" “公用DTD的URI">
SYSTEM和PUBLIC区别
PUBLIC指公用DTD,是某个权威机构指定,供特定行业或公司
SYSTEM指外部DTD文件是私有的,由自己创建的,没有公开发行,在公司内部或合作单位使用
公用DTD使用PUBLIC代替了原来的SYSTEM,增加DTD标识名

各语言引用外部实体支持的协议



参数实体
声明:
内部:
<!ENTITY % 实体名称 "实体值">
外部:
<!ENTITY % 实体名称 SYSTEM "URI">




更新: 2025-04-16 17:24:27
原文: https://www.yuque.com/yuhui.net/network/oe5qgid1ynug1kb6

评论(0)
暂无评论