1
上一頁節點值我有一個這樣的XML -XSL - 在循環
<OrderBundle>
<BundleDetail>
<BundleId>12312</BundleId>
<BundleUnit>
<Idset>
<PartNo>807651</PartNo>
</Idset>
</BundleUnit>
</BundleDetail>
<BundleDetail>
<BundleId>12112</BundleId>
<BundleUnit>
<Idset>
<PartNo>807650</PartNo>
</Idset>
</BundleUnit>
</BundleDetail>
<BundleDetail>
<BundleId>12412</BundleId>
<BundleUnit>
<Idset>
<PartNo>807651</PartNo>
</Idset>
</BundleUnit>
</BundleDetail>
<BundleDetail>
<BundleId>12612</BundleId>
<BundleUnit>
<Idset>
<PartNo>807651</PartNo>
</Idset>
</BundleUnit>
</BundleDetail>
</OrderBundle>
我使用這個XSL找到環路同類節點以前的值(簡化)。我在這裏simiplified的XSL,我需要一個更大的集,以適應這個邏輯..
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr>
<th>Bundle Id</th>
<th>PartNo</th>
<th>PreviousValue</th>
</tr>
<xsl:for-each select="/OrderBundle/BundleDetail">
<tr>
<td> <xsl:value-of select="BundleId"/></td>
<td><xsl:value-of select=" BundleUnit/Idset/PartNo" /> </td>
<td> ?? <xsl:value-of select="ancestor::BundleUnit/Idset/PartNo"/> </td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
我試着與祖先和以前的同胞,我不工作.. 我期待下面導致
B.Id PartNo PreviousValue
12312 807651 ?? --
12112 807650 ?? -- 807651
12412 807651 ?? -- 807650 etc
12612 807651 ??
有什麼想法嗎?
因此T他'PreviousValue'應該是前一個兄弟的'PartNo'?即對於第一個條目,將不會有'PreviousValue'? – Utkanos 2012-07-27 12:49:12