1

編集ソフトウェアで作成した XML ファイルの先頭に、次のドキュメント固有の DTD があります。

<!DOCTYPE front SYSTEM "file:///M:/Library/AMH-Paed.dtd" [
<!NOTATION cgm PUBLIC "" >
<!-- Begin Document Specific Declarations --><!ENTITY fm.tcont " (Continued)">
<!ENTITY equation1 SYSTEM "equation11.cgm" NDATA cgm>
<!ENTITY equation2 SYSTEM "equation26.cgm" NDATA cgm>
<!ENTITY equation3 SYSTEM "equation32.cgm" NDATA cgm>
<!ENTITY equation4 SYSTEM "equation41.cgm" NDATA cgm>
<!ENTITY equation5 SYSTEM "equation51.cgm" NDATA cgm>
<!ENTITY equation6 SYSTEM "equation62.cgm" NDATA cgm>
<!-- End Document Specific Declarations -->]>

コンテンツの一般的な Doctype を更新しているため、現在の XML ファイルを XSLT で変換しています。

数百のドキュメントがありますが、変換を通じて維持する必要がある特定の宣言 (数、名前、および値が異なります) を持っているドキュメントはほんの一握りです。

ただし、変換によって上記のエンティティ宣言を維持する方法が見つかりません。

それは可能ですか?

4

1 に答える 1

1

DTD 宣言は、XSLT プロセッサに提示されるデータ モデルの一部ではないため、これを直接行うことはできません。

回避策は、Andrew Welch の Lexev ツールを使用することです。これは、前処理ステップとして DTD を XML 表現に変換し、その後、後処理ステップとしてその逆を行います。

于 2013-03-21T09:12:37.267 に答える