對不起,但我對xsl的瞭解並不是太好。
我有一些代碼從不同數量的節點構造3列的表格:XSL找到一個字符串,並從該點開始
<xsl:variable name="t-size" select="count(NewDataSet/VehicleDetail/Options/Option)"/>
<xsl:variable name="myCount" select="ceiling($t-size div 3)"/>
<table callpadding="4" cellspacing="0" border="0" id="specificationTbl">
<xsl:for-each select="NewDataSet/VehicleDetail/Options/Option[position() <= $myCount]">
<xsl:variable name="here" select="position()"/>
<tr>
<td class="stiDetail"><xsl:value-of select="."/></td>
<td class="stiDetail"><xsl:choose>
<xsl:when test="../Option[$here+$myCount]">
<xsl:value-of select="../Option[$here+$myCount]/."/>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</td>
<td class="stiDetail"><xsl:choose>
<xsl:when test="../Option[$here+$myCount+$myCount]">
<xsl:value-of select="../Option[$here+$myCount+$myCount]/."/>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose></td>
</tr>
</xsl:for-each>
</table></td>
這工作得很好。但是我所追求的是循環掃描節點的字符串值,然後從包含字符串的節點之後的節點開始。
EG。下面的示例XML
<options>
<option>something</option>
<option>something</option>
<option>something</option>
<option>something</option>
<option>hello world</option>
<option>something</option>
<option>something</option>
<option>something</option>
<option>something</option>
<option>something</option>
<option>something</option>
</options>
所以在上面的XML,我想掃描包含單詞「世界」的節點,然後從以下節點IE啓動創建表。從位置6開始。
希望是有道理的。
任何幫助將受到最感激的接收。
非常感謝,
Andy。
問得好,+1。查看我的答案,獲取選擇所需元素的較短的XPath表達式。 –