如何对 CDATA 部分中的 DTD 变量进行赋值?
我有一个如下所示的 XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"
[<!ENTITY IP_COF "xxx.xxx.xxx.xxx">]
>
<properties>
<comment>Properties for COF API</comment>
<entry key="SesameURL">http://&IP_COF;:8080/openrdf-sesame</entry>
<entry key="RDbNamespaces">
<![CDATA[PREFIX vocab: <http://&IP_COF;:2020/vocab/resource/>]]>
</entry>
</properties>
当我使用 Internet Explorer 打开 xml 文件时,&IP_COF;
的第一个实例被正确替换为相应的 IP_COF
值,而 CDATA
部分内的 IP_COF
尚未被评估。有没有办法在 CDATA
部分内强制进行 IP_COF
评估?
I have an XML that looks like the following one:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"
[<!ENTITY IP_COF "xxx.xxx.xxx.xxx">]
>
<properties>
<comment>Properties for COF API</comment>
<entry key="SesameURL">http://&IP_COF;:8080/openrdf-sesame</entry>
<entry key="RDbNamespaces">
<![CDATA[PREFIX vocab: <http://&IP_COF;:2020/vocab/resource/>]]>
</entry>
</properties>
When I open the xml file using internet explorer the first instace of &IP_COF;
is correctly replaced with the correspondent IP_COF
value, instead the IP_COF
inside the CDATA
section has not been valued. Is there a way to force also the IP_COF
valutation inside the CDATA
's section?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不 - CDATA 部分的全部要点是解析器将不会改变它们。
如果你想在那里使用实体扩展,你需要删除 CDATA,并正确编码 URL,即
No - the whole point of CDATA sections is that the parser will not alter them.
If you want to use entity expansions there, you'll need to remove the CDATA, and corectly encode the URL, i.e.