1

我想声明一个新实体。我希望实体成为一个符号。一些简单的事情,比如使用电话的小图像和实体是 &telephone;。我希望能够在文本行中使用此符号,就像添加版权符号或大于符号等一样。

这甚至可能吗?

我尝试在我的 1 个字符串文件的开头声明一个 DOCTYPE。

<!DOCTYPE entities SYSTEM "entities.dtd" [
<!ENTITY telephone SYSTEM "phone.png">
]>

我也用 gif 试了一下。我将 dtd 文件添加到我最初放置实体声明的值文件夹中。我什至添加了但是,可惜,没有任何效果。

有任何想法吗?

4

1 回答 1

0

由于您的 png 文件(或 gif 文件)不是 XML,因此您必须将其声明为符号数据 (NDATA)。如果尚未声明,您还必须声明该符号。

但是,我认为您不能只引用该实体。我想你会得到一个类似的错误"The unparsed entity reference '&telephone;' is not permitted."。我认为您必须将属性声明为ENTITY.

这纯粹是一个 DTD 答案;我不确定这是否仍然适用于您的情况。无论正在处理您的 XML,都需要知道如何处理该属性。

例子:

<!DOCTYPE test [
<!NOTATION png PUBLIC "-//W3C//NOTATION Portable Network Graphics//EN">
<!ENTITY test SYSTEM "test.png" NDATA png>
<!ELEMENT test (img)>
<!ELEMENT img EMPTY>
<!ATTLIST img
          ent ENTITY #REQUIRED>
]>
<test>
    <img ent="test"/>
</test>
于 2013-02-10T21:11:35.947 回答