0

Microsoft Word 2007/2010 zip 形式の XML の内部形式を読み取り、それを XSLT を使用して HTML5 に変換する XSLT アプリケーションがあります。MSWord の代わりに OpenOffice ドキュメントをオプションで読み取る機能を追加する方法を調査しています。

Microsoft は脚注テキストの XML をドキュメント テキストの XML とは別に保存します。出力 HTML ページの最後のブロックに脚注を配置したいので、これはたまたま私に合っています。

しかし、私にとって残念なことに、OpenOffice は各脚注をその参照のすぐ隣に、ドキュメントのテキストとインラインで配置します。簡単な段落の例を次に示します。

  <text:p text:style-name="Standard">The real breakthrough in aerial mapping 
    during World War II was trimetrogon
    <text:note text:id="ftn0" text:note-class="footnote">
      <text:note-citation>1</text:note-citation>
      <text:note-body>
        <text:p text:style-name="Footnote">Three separate cameras took three
          photographs at once, a direct downward and an oblique on each side.</text:p>
      </text:note-body>
    </text:note>
    photography, but the camera was large and heavy, so there were problems finding
    the right aircraft to carry it.
  </text:p>

私の質問は、XSLT は通常どおり XML を処理できますが、各 text:note アイテムをドキュメント テキストの最後まで保持し、一度にすべてを出力できますか?

4

3 に答える 3

2

ロジックは入力の順序によって駆動されると考えていますが、XSLT では、出力の順序によって駆動される必要があります。脚注を出力したいポイントに到達したら、入力内の脚注テキストを見つけます。確かに、apply-templates の再帰的下降処理モデル (明示的に入力駆動型) では、必ずしもうまくいくとは限りません。それにもかかわらず、それはあなたがしなければならない方法です。

于 2013-03-07T11:59:00.850 に答える