说我有以下XML:
<a>
<b>1</b>
<b>2</b>
<b>3</b>
</a>
Run Code Online (Sandbox Code Playgroud)
......并要求:
Header
1
2
3
Run Code Online (Sandbox Code Playgroud)
...但是像xslt一样:
<xsl:template match = "/" >
<xsl:variable name="headed" select="false()"/>
<xsl:for-each select = "a/*" >
<xsl:if test="not($headed)">
<xsl:text>Header</xsl:text>
<!--
this next line causes a problem due to
the attempted reassignment of $headed
-->
<xsl:variable name="headed" select="true()"/>
</xsl:if>
<xsl:value-of select="." />
<xsl:value-of select="'
'"/>
</xsl:for-each>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
无效,任何人都可以推荐一个简短易读的解决方案吗?也许是一本好书,可以从中学习功能性思维:)
干杯
西蒙
------------------------------附录------------------- -------
在思考了我已经提出的答案后,我意识到我已经失去了我试图解决的问题的一些关键组成部分.
我的数据更像是:
<address>
<line1>street</line1>
<line2>town</line2>
<line3>city</line3>
<country>uk</country>
</address>
Run Code Online (Sandbox Code Playgroud)
我想要的输出更像是:
<table>
<tr><td rowspan="6" valign="top">Address</td><td>street</td></tr>
<tr><td>town</td></tr>
<tr><td>city</td></tr>
<tr><td>uk</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
任何进一步的帮助将不胜感激.
xslt ×1