0

これが私のサンプル XML です。

<index>
    <indextext>
        <index.text1>Here goes some text<link attribute1="this" attribute2="that">and here is a link</link></index.text1>
    </indextext>
</index>

今私の問題は、index.text1ノードとノードのテキストを分離する必要があることlinkです。

つまりね。preceding-siblingノードのを取得してこれを実行しようとしましたがlink、実際に実行できましたが、何らかの理由でリンク属性を失いました。つまり、そのリンクには、別のドキュメントにリンクできるようにする属性が含まれています。この場合は失われます。注: をいじるとすぐに、<template match="link">これらの属性が失われます。

私がしたことはこれでした:

  <xsl:template match="index.text1//link">
    <xsl:text><![CDATA[  ]]></xsl:text>
    <xsl:apply-templates/>    
  </xsl:template>

...しかし、上記の段落で説明したように、それは機能しません。

私の質問は、linkノードの前にあるテキストを何らかの方法で選択する方法、またはlinkノード自体を選択してその前にスペースを入力する方法ですが、すべての属性を保持する方法ですか?

ボーナス質問- 名前で始まる一連の異なるノードを自動的に選択する方法はありますindex.textか? たとえば、、、などを自動的に選択できる方法はありindex.textますindex.text1index.text2? うまくいくでしょうかindex.text*

解決済み- 問題が何であるかを理解しました。基本的に、ドキュメント リンクのレンダリングを実際に処理する「メイン」コードにある別のテンプレートを呼び出す必要がありました。慣れるべきコードはまだたくさんあります。

4

1 に答える 1