实体 &bar;没有定义

问题描述 投票:0回答:1

我正在尝试将外部 DTD 调用到我的 xml 文件,我按照如下方式进行:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://digi.ub.uni-heidelberg.de/schema/tei/heiEDITIONS/tei_hes.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://digi.ub.uni-heidelberg.de/schema/tei/heiEDITIONS/tei_hes.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<!DOCTYPE TEI
[
<!ENTITY % heiEDITIONS_entities SYSTEM "https://digi.ub.uni-heidelberg.de/schema/tei/heiEDITIONS/declarations/heieditions-entities.txt">
%heiEDITIONS_entities; ]>

所有 DTD 实体都可以在 ENTITY 部分声明的地址处找到。

但是,当我在 xml 文件中遇到一个实体时,例如

&bar;
,它表示该实体未声明。对于
&iuml;
实体也是如此。尽管是当您看到 url 中的实体时!所以我不太明白。

我使用 Sublime text 作为文本编辑器。

我哪里做错了?

非常感谢

xml entity sublimetext dtd
1个回答
0
投票

由于对 XML 外部实体 (XXE) 攻击的安全担忧,许多处理器现在默认禁用外部 DTD 获取。这会导致您的实体未定义。

根据工具/处理器的不同,您可能需要弄清楚如何启用外部实体解析。

https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html

© www.soinside.com 2019 - 2024. All rights reserved.