首先 - 创建xml
文件contract01.xml
并添加一些常用链接 - &buyer;
。
这个目标是另一个文件contr01.dtd
。这是根据DTD Sheme创建的。
需要更改从&buyer;
到Vasul Vadultsyv
但是,在.xml
浏览器中启动此Chrome
文件时,它会显示下一个errors:
This page contains the following errors:
error on line 4 at column 17: Entity 'buyer' not defined
error on line 6 at column 24: Entity 'buyer' not defined
error on line 7 at column 35: Entity 'buyer' not defined
Below is a rendering of the page up to the first error.
我无法理解为什么会发生这种情况
您是否知道如何以正确的方式链接到XML(DTD)
来解决这种情况
我从Sams Teach Yourself XML in 21 Days (3rd Edition)尝试了这个例子
也许这可能是一些旧信息。
代码(contract01.xml):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE contract SYSTEM "contr01.dtd">
<contract>
<para1>&buyer; agrees to buy the property defined below on the terms
and conditions set forth in this contract.</para1>
<para2 section="1">&buyer; will take title of the real propirty described below,
for which consideration &buyer; agrees to pay... </para2>
</contract>
代码(contr01.dtd)
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT contract (para1, para2)>
<!ELEMENT para1 (#PCDATA)>
<!ELEMENT para2 (#PCDATA)>
<!ATTLIST para2
selection CDATA #REQUIRED>
<!ENTITY buyer "Vasul Vadultsyv">
问题:
答案 0 :(得分:1)
我认为chrome不会从本地系统加载DTD。尝试在内部子集中包含实体声明:
<!DOCTYPE contract SYSTEM "contr01.dtd" [
<!ENTITY buyer "Vasul Vadultsyv">
]>
也许您应该尝试使用实际验证器而不是Web浏览器验证XML。 (Xerces易于使用。)