DTD条件部分通过INCLUDE/IGNORE关键字配合参数实体实现动态声明控制,用于多版本、多语言或单位制适配,必须位于外部DTD或内部子集的声明区,且IGNORE会强制忽略其内所有嵌套条件节。

DTD中的条件部分(Conditional Sections)用于在解析时动态决定是否包含或忽略某段声明,核心是 INCLUDE 和 IGNORE 关键字。它们不直接写在XML文档里,而是嵌套在DTD中,配合参数实体控制逻辑分支,常见于需要适配多版本、多语言或不同单位制的场景。
条件部分必须出现在外部DTD或内部子集的DTD声明区,且只能由XML处理器识别处理
比如要为建筑图纸DTD同时支持英制与公制单位,可这样组织:
定义参数实体标记开关
使用条件节包裹对应声明 ]]> ]]>
注意:%English; 展开后变成 ,处理器就包含其中内容;换成 %Metric; 就变成 ,整块被跳过。
嵌套需谨慎
被 IGNORE 包裹的部分,其内部所有子条件节(哪怕写着 INCLUDE)也一并忽略。所以不能靠内层翻转来“绕过”外层忽略。
实际使用中几乎不用裸写 INCLUDE/IGNORE
而是通过参数实体间接控制,好处是:
) 基本上就这些。
以上就是DTD中的条件部分(Conditional Sections) INCLUDE/IGNORE怎么用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号