我有以下這是一個12入口管道分離值的XML。我只是爲了解釋而添加空白節點中的空格,並且其他方面不會存在。XSLT處理多個節點
<Base>
<Span>a|a| |a| |a| | |a| |a|a</Span>
<Span>b| | |b| | |b| | | | |b</Span>
<Span> | | | |c| | |c| | |c| </Span>
</Base>
我想從這個實現的輸出如下:
<Output>
<Period>a|b</Period>
<Period>a</Period>
<Period>a|b</Period>
<Period>c</Period>
<Period>a</Period>
<Period>b</Period>
<Period>c</Period>
<Period>a</Period>
<Period>a|c</Period>
<Period>a|b</Period>
</Output>
這是通過檢查,如果所有跨越的每一列都有一個值,如果有的話跨度在該列中的值實現一個條目被創建。因此,例如在跨越第一個欄包含a, b, -
所以輸出變成<Period>a|b</Period>
我用XSLT 1.0工作,並在Span
值可以是任何東西(A,B和C似乎簡單的解釋)。
我不完全確定如何解決這個問題。
1.相反,你的說法,你**使用延長**(msxsl:節點集); 2.這隻適用於Microsoft XSLT處理器; 3.實際輸出不像您列出的那樣。當額外的空白空間進入時,您的解決方案不起作用。 –
另一個問題是,您的解決方案是針對3個輸入的跨度行進行硬編碼的。雖然不明確,但我認爲這是不可能的。 –
在解釋中值得注意的是肖恩我聲明瞭爲簡化解釋而添加了空白,並且在實際實現中並不存在。 – Mike