我正面臨以下XSL轉換的情況。XSL,標記之間的匹配元素
我有這樣的:
<content>
xml_and_text_0
<break/>
xml_and_text_1
<break/>
...
<break/>
xml_and_text_n
</content>
我想使用XSL 2.0把上面的XML到這一點:
<content>
<block>
xml_and_text_0
</block>
<block>
xml_and_text_1
</block>
...
<block>
xml_and_text_n
</block>
</content>
(我也想some_xml_and_text_k忽略= '',但現在讓我們假設它們是非空的)
我在想我可以使用類似於[XPath : select all following siblings until another sibling的方法,但也許有一個更簡單的方法(或更簡單的XPath表達式)。例如,是否有可能在for-each循環中匹配當前項目之後/之前的所有同胞?
編輯:注意xml_and_text_i是文本和XML的混合,類似於XHTML,我想內包裝,所以像:
<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_and_text_i包含xml和文本,我想要在內複製該文本。更確切地說,它包含一段標記語言的段落,類似於xhtml,因此您可以閱讀如下內容:「這是一個示例,這真的是真棒 」。 –
zakmck
@zakmck請編輯您的問題,並顯示上述樣式表無法正確處理的示例輸入。同時說明如果使用XSLT 1.0或2.0。 –
在這個例子中: ' 某些文本 ,這是一示例,這是非常真棒 一些其他文本 ' 你的XSL收率: ' 一些文本 這是一個 ,這是非常 一些其他文本 ' 但我期望: ' \t 某些文本 \t ,這是一示例 ,這真的是真棒 \t 其他一些文字 ' –
zakmck