1
我有與結構的一些元素如下面的請求:XSLT 2.0跳過所有元件,除了一個
<Request>
<Other>
...
</Other>
<Qualifiers>
<Options>
<Segment Number="1"/>
</Options>
<Offer>
<Column ColumnNumber="2.1"/>
<Record Number="2"/>
</Offer>
<Offer>
<Column ColumnNumber="1.1"/>
<Column EndColumnNumber="4.1" ColumnNumber="3.1"/>
<Record Number="1"/>
</Offer>
<Offer>
<Column ColumnNumber="5.1"/>
<Record Number="3"/>
</Offer>
<Fare>
<Basis>ABCDE</Basis>
</Fare>
</Qualifiers>
<Other>
...
</Other>
</Request>
從這個有效載荷我需要做,在每個單個呼叫要約元件3個單獨的請求。請求的其餘部分應在不改變被複制,所以首先向我的請求應該看起來像這樣:
<Request>
<Other>
...
</Other>
<Qualifiers>
<Options>
<Segment Number="1"/>
</Options>
<Offer>
<Column ColumnNumber="2.1"/>
<Record Number="2"/>
</Offer>
<Fare>
<Basis>ABCDE</Basis>
</Fare>
</Qualifiers>
<Other>
...
</Other>
</Request>
第二和第三類比與第二和第三發售元素。
我使用駱駝,所以我試圖讓它在循環提供XSLT參數,它是應該留下的元素的索引。所以,我試過了:
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="/Request/Qualifiers/Offer[not($MY_IDX)]"/>
其中$MY_IDX
是索引。經過一番搜索之後,我意識到它不會起作用,因爲not()
函數僅接受並返回布爾值。 有沒有其他的方法來存檔我的目標?
謝謝!完美的作品 – Araneo