Doctrine で Agavi を使用しています。AgaviParseException
のすべてのインスタンスが一覧表示されて、マスター テンプレートの読み込みに失敗することがあります
。すべてのテクノロジーの最新の安定バージョンを使用しています。
3 に答える
 
スペースを壊さないために使用します。XHTML
おそらくテンプレートで有効である必要があります。このチャートを参照してください。
使用しているツールについてはあまり詳しくありませんが、のXMLエンティティ
が見つからないようです。XMLエンティティを含めるか、 
代わりに使用する必要があります。理由は次のとおりです。事前定義されたXMLエンティティは5つだけで、XMLまたはXHTMLを実行するときに含める必要がある他のすべてのエンティティがあります(ブラウザは一般的に寛容です)。
これらは、XHTMLの以下の一部です。
PUBLIC
"-//W3C//ENTITIES Latin 1 for XHTML//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"
XMLパーサーで解析する場合は、XHTMLに関する次の引用符をマークします。
外部エンティティを読み取らない、または読み取れないXMLパーサーによってドキュメントが読み取られる場合、5つの組み込みXML文字エンティティ(上記を参照)のみを安全に使用できますが、内部で宣言されている場合は他のエンティティを使用できます。 DTDサブセット。
;
ただし、上記のタイプミスが意図的なものである場合は、の最後にあるを見逃している可能性もあります 
。
正確な問題が何であるかはわかりませんが (このような質問をするときは、常に例外メッセージやその他の役立つ情報を投稿してください)、この問題が発生する方法は 1 つしかありません。
マスター テンプレートの読み込みに失敗したのではなく、生成された完全な出力を解析できないフォーム処理システムです (フォームを再入力したり、検証からエラー メッセージを挿入したりできます)。解析モード。XML 解析モード (通常は XHTML に使用します) では、デフォルトで DTD に対して検証しないため、標準の XML エンティティ ( &
、"
、'
、<
および>
)。HTML 解析モードにはその問題はありません。Agavi に強制的に使用させることもできますが、HTML または XHTML の使用を自動検出し、正しいモードを選択するため、特に libxml の HTML 解析が時々不安定になる可能性があるため (libxml が使用されるため)、これはおそらく良い考えではありません。 PHP の DOM 実装による; フォームの解析と処理におけるほとんどの制限またはバグは、libxml によるものです - 異なるバージョンの libxml を処理するために既に配置されている回避策について知りたい場合は、AgaviFormPopulationFilter.class.php を参照してください。保存時に XML プロローグを 2 つ挿入したり、CDATA セクションを壊したり、その他の奇妙なことなど)。
とにかく、ドキュメントで UTF-8 を使用していると想定しているため、「©」や「«」などの文字にエンティティを使用する必要は実際にはありません。使用する代わりに文字どおりに挿入できます©
。もちろん、唯一の例外は非改行スペースです。これは、エディターで見たり区別したりするのが少し難しいですが、他のコメントで指摘されているように、 
ここでは同等の数値を使用できます。