XSL変数に問題があります。 一度宣言すれば、変数の値は変更できません。xslの変数値を変更します
しかし、私はかなり奇妙な問題に直面しています。おそらくXML出力を変更することはできません。代わりにXSL自体で可能であるかどうかを判断します。
私はxsl:for-eachを使用して、XMLの一部のデータをループします。三種類のものとすることができるループさ
データは、タイプ1、タイプ2とタイプ3
それがタイプ1である場合には、私はそのデータを処理するためのテンプレートを呼んでいると言います。テンプレートの中に私はヘッダーを表示しています。このタイプ1のデータに初めて遭遇したときに、このヘッダを印刷する必要があります。その後、私はこれを表示する必要はありません。
私は、call-templateとともにパラメータを渡し、ヘッダ・テキストを印刷する必要があるかどうかを判断するためにそれを設定/設定解除することができました。しかし、私が理解するように、フォーマット言語であるため、可変状態は保持されません。
これを実装する方法に関するご意見をお寄せください(おそらくxml変更なし)。
編集:
このテストは、Patriceが記述したXML出力に対して機能します。しかし、私のXMLは異なっています。
<doc>
<item>foobar</item>
<item>foo</item>
<item>bar</item>
<item>baz</item>
<item>foo</item>
<item>bar</item>
</doc>
このXMLから、初めて「foo」に出くわすためのヘッダーを表示する必要があります。アイテムの順番は何でもかまいません。 XMLに「foo」がいつ現れるかを正確に予測することはできません。
お気軽にご意見をお聞かせください。
とパトリスのタグを置き換える我々は助けることができるので、あなたのコードの一部を投稿してください。 –