我正在尝试实现以下输出:即lhs列只显示标题一次。记录被填充到第二栏。
PCP Jones, Mary
Care Manager: abc1 (type1)
abc2 (type2)我的xml是:
<careTeames>
<careteame><PCP>JONES,MARY</PCP><type>Ped - Under 5</type>
<caremanagers>
<caremanager>
<name>Willis,Sam</name>
<type>Internal Medicine</type>
</caremanager>
<caremanager>
<name>Willis,Sam-2</name>
<type>Internal Medicine-2</type>
</caremanager>
</caremanagers>
</careteame>
</careTeames>黏液是:
<table width="100%" cellpadding="2" cellspacing="5">
<tr>
<td align="center" width="30%" class="sectionHeader">Care team </td>
</tr>
<tr>
<td align="left" class="sectionBody" valign="top">
<table class="table1" width="100%" cellpadding="2" cellspacing="5" border="0" >
<xsl:for-each select="//return/careTeames/careteame">
<tr><td>PCP</td><td><xsl:value-of select="PCP"/> (<xsl:value-of select="type"/>) </td></tr><hr/>
<xsl:for-each select="caremanagers/caremanager">
<tr><td>Care Manager:</td><td><xsl:value-of select="name"/> ( <xsl:value-of select="type"/> )</td></tr>
</xsl:for-each>
<hr/>
</xsl:for-each>
</table>
</td>
</tr>
</table>此代码打印:
| care manager| abc1 (type1) |
| care manager| abc2 (type2) |有什么建议吗?
我只希望它是:
| care manager | abc1(type1) |
| | abc2(type2) |发布于 2013-09-23 16:52:03
最简单的方法是在内部position()中放置一个for-each检查。
<xsl:for-each select="caremanagers/caremanager">
<tr>
<td>
<xsl:choose>
<xsl:when test="position() = 1">Care Manager:</xsl:when>
<xsl:otherwise> </xsl:otherwise>
</xsl:choose>
</td>
<td><xsl:value-of select="name"/> ( <xsl:value-of select="type"/> )</td>
</tr>
</xsl:for-each>( 是一个不可中断的空间,您可以在 中表示与 相同的字符,但除非它引用XHTML,否则不能在XML中直接使用该实体引用)。
https://stackoverflow.com/questions/18964116
复制相似问题