次のようなXSL変換のケースがあります。XSL、マーカー間の要素を一致させる
私はこれがあります(私も '=' some_xml_and_text_kを無視したい
<content>
<block>
xml_and_text_0
</block>
<block>
xml_and_text_1
</block>
...
<block>
xml_and_text_n
</block>
</content>
、しかし:
<content>
xml_and_text_0
<break/>
xml_and_text_1
<break/>
...
<break/>
xml_and_text_n
</content>
私はこれに上記のXMLを回すためにXSL 2.0を使用したいが私は[XPath : select all following siblings until another sibling]と似たアプローチを使うことができると思っていますが、もっと簡単なアプローチ(あるいはより単純なXPath式)があるかもしれません。たとえば、for-eachループ内の現在のアイテムの前後にあるすべての兄弟を照合することは可能ですか?
EDIT:そのxml_and_text_iに注意してくださいは、同様に、私は内にラップしたいXHTMLに、テキストおよびXMLのミックスですので、何かのように:
<break/>
this is an <ref id = "123">example</ref>, which is really <citation>awesome</citation>
<break/>
はなる:
<block>this is an <ref id = "123">example</ref>, which is really <citation>awesome</citation></block>
私はそうは思いません。 ごとに新しいブロックが必要です.xmlとtext_iにはxmlとtextが含まれています。コピーするのはです。より正確には、xhtmlに似たマークアップ言語の段落が含まれています。「これは例です。実際は awesome "です。 –
zakmck
@zakmck質問を編集し、上記のスタイルシートが正しく処理できない入力例を示してください。 XSLT 1.0または2.0を使用している場合も記述します。この例では –
: ' いくつかのテキスト これは本当に素晴らしい ' あなたのXSL利回りいくつかの他のテキストである例、次のとおりです。 ' いくつかのテキスト これが0であります ' \t いくつかのテキスト \t は、これは例です:本当に 他のいくつかのテキスト ' である。しかし、私は期待し 、これは本当に素晴らしいです。 \t 他のテキスト –
zakmck