1

新しいエンティティを宣言したい。エンティティをシンボルにしたい。電話の小さな画像とエンティティが &telephone; を使用するような単純なもの。著作権記号や大なり記号などを追加するのと同じように、この記号をテキスト行で使用できるようにしたい.

これは可能ですか?

1 つの文字列ファイルの先頭で DOCTYPE を宣言しようとしました。

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

gifでもやってみました。最初に ENTITY 宣言を配置した値フォルダーに 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 に答える