<BOXHEAD>
<COLHEAD H="1">Item</COLHEAD>
<COLHEAD H="2">Cost</COLHEAD>
<COLHEAD H="3">Direct</COLHEAD>
<COLHEAD H="3">In-Direct</COLHEAD>
<COLHEAD H="2">Revenue</COLHEAD>
<COLHEAD H="3">1989</COLHEAD>
<COLHEAD H="3">1990</COLHEAD>
</BOXHEAD>
我曾嘗試一些類似的翻譯到HTML COLSPAN XML:
<xsl:if test="@H=2">
<xsl:variable name="descendants" select="following-sibling::COLHEAD[@H = 3]"/>
<xsl:variable name="number_of_columns_under_this" select="count($descendants)"/>
<xsl:if test="$number_of_columns_under_this > 1">
<xsl:attribute name="colspan">
<xsl:value-of select="$number_of_columns_under_this"/>
</xsl:attribute>
</xsl:if>
</xsl:if>
期望的結果: 「成本」列應該出來colspan="2"
,但當然count()
拿起塊中的所有@H="3"
四個。我試圖將古老的SGML變成HTML表格。期望放出來與此類似:
<table>
<tbody>
<tr>
<td colspan="1" rowspan="2">Item</td>
<td colspan="2" rowspan="1">Cost</td>
<td colspan="2" rowspan="1">Revenue</td>
</tr>
<tr>
<td>Direct</td>
<td>In-Direct</td>
<td>1989</td>
<td>1990</td>
</tr>
</tbody>
</table>
計算行跨度和列跨度被證明是對我來說很難。
您可以發佈該示例輸入的所需輸出XML嗎? – 2013-03-01 12:14:29
需求..似乎我理解,但我不確定..我的理解是..因爲你使用的是兄弟姐妹,當你遇到'時會返回'4'成本 '當你遇到'時,它會返回'2'收益 ' –
2013-03-01 12:16:19
你期望它返回的是連續**'COLHEAD'元素的數量(屬性H =「3」 )在當前節點之後..是嗎? – 2013-03-01 12:17:56