値に '+'文字が含まれているエンティティを定義しようとしていますが、そうした場合、さらに奇妙なエラーメッセージが表示されます。 +文字を削除すると、すべて正常に動作します。私はそれをエスケープする方法を見つけることができないようです。
私が現在使用しているライブラリではなく、http://www.validome.org/grammar/validate/ 短いサンプルでのオンラインバリデータだけではなくエラーが表示されます。DTDエンティティで '+'などの特殊文字を使用する
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % Foo "BAR"> <!--No problem here-->
<!ENTITY % Baz "QUUX+QUUUX"> <!--This will cause trouble later on-->
<!ENTITY % FooBazType "(%Foo; | %Baz;)">
<!ELEMENT tagName EMPTY>
<!ATTLIST tagName attributeName %FooBazType; #REQUIRED> <!--Here, you get the error message : The enumerated type list must end with ')' in the "attributeName" attribute declaration.-->
誰もが(+文字を取得する方法を知っていますかその場所に+文字が含まれているXML文書を正しく検証するもの)を何らかの形でそこに格納していますか?前もって感謝します!
シンボルが有効であること、Unicode文字を参照しようとしていると考えていますか? – Joe
私が知る限り、数値エスケープシーケンス(+)を使ってみましたが、それもうまくいきませんでした。さらなる研究がNMTOKEN(http://www.w3.org/TR/xml/#NT-Nmtoken)というコンセプトを生み出しました。それはプラスを除外しているように見えます...私が私が最初であるとは信じられません+文字はあまり一般的ではないので、この問題に遭遇する人は? – user1126518
私は '$' char(hex = 0x24)と全く同じ問題を抱えています。 – Marek