boxmoe_header_banner_img

⋅無⋅限⋅進⋅步⋅

加载中

文章导读

DTD基础


avatar
yuhui 2025年10月24日 45

DTD基础

定义

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

1744792818469-5de1d26f-5ae4-4108-b3d1-b5bd5873509e.png

DTD声明

内部声明

DTD被包含在XML源文件中

语法:

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

1744792872143-7ee9742b-365b-469a-b51c-3714d92fadae.png

外部声明

DTD被包含在XML源文件外

语法:

<!DOCTYPE 根元素 SYSTEM “文件名/url地址">

1744792975665-37f6fbb9-ed98-4892-b0a6-1d1afc167f45.png

PCDATA

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

1744793428295-b3d77ff8-38ef-4077-a45f-631e30c5f732.png

1744793456578-f600da17-dde6-4f87-98cb-22b9d5aeafa0.png

CDATA

不应由XML解析器进行解析的文本

CDATA部分中的所有内容都会被解析器忽略

语法:

<!CDATA[开始,]]>结束

1744793589064-a748596a-b37a-4291-828b-2b80df029f97.png1744793595267-1cd6ad0a-942f-4e77-bacb-4a9e25cf5057.png

1744793645928-f0a59edc-eac2-4f59-8f9d-2f923c04f40c.png

DTD实体

内部普通实体

声明:

<!ENTITY实体名称"实体的值">

引用:一个实体的引用由三部分构成:&符号,实体名称,分号

1744793761807-dcc231e3-4abc-423d-abd6-f46ed8ce32bd.png

1744793787758-c94d93fb-794f-40c7-a5c3-9760470e9893.png

内部普通实体漏洞-DDOS

大量进行引用

1744793873241-4c8f7cfb-83d2-4fe5-afc3-97d290cd3d2d.png

1744793841344-1f95c092-3200-43cc-8f70-9829f7120f83.png

外部普通实体

声明:

<!ENTITY 实体名称SYSTEM "URI/URL">

<!ENTITY 实体名称 PUBLIC"DTD标识名" “公用DTD的URI">

SYSTEM和PUBLIC区别

PUBLIC指公用DTD,是某个权威机构指定,供特定行业或公司

SYSTEM指外部DTD文件是私有的,由自己创建的,没有公开发行,在公司内部或合作单位使用

公用DTD使用PUBLIC代替了原来的SYSTEM,增加DTD标识名

1744794086705-89dd8b9d-9e6b-4269-84d3-3ce3b35e6875.png

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

1744794372235-afcf83f9-71a2-4079-b07d-8c0764297b82.png

1744795046485-909dad73-c68a-437f-8852-2becd0cbb7e3.png

1744795051488-e490bfa5-ba08-4799-afd6-b283ba2e7618.png

参数实体

声明:

内部:

<!ENTITY % 实体名称 "实体值">

外部:

<!ENTITY % 实体名称 SYSTEM "URI">

1744795147024-9403d4ad-357d-413c-a056-439d529df398.png

1744795178161-76713bc9-9f7b-4fb3-bba2-3d6c95a267e1.png1744795303789-7927295c-cf92-4e53-8413-0b85fee4e90a.png

1744795403133-c762df6f-c832-46f2-9145-043eacdb66c9.png

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



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码