我正在努力通过XSL将一些XML转换为HTML,并且在显示链接时遇到了一些麻烦。 XML看起来像这样:
<c02 level="file">
<did>
<container type="Box">1</container>
<container type="Folder">2</container>
<unittitle>Folder A, </unittitle>
<unitdate>2001</unitdate>
<daogrp>
<daoloc label="Image" href="www.test.com" role="Image/jpeg">
<daodesc><p>Document</p>
</daodesc>
</daoloc>
</daogrp>
</did>
<scopecontent>
<p>1 page</p>
</scopecontent>
</c02>
我期望的HTML是这样的:
<tr>
<td valign="top">1</td>
<td valign="top">2</td>
<td valign="top" colspan="10">Folder A, 2001</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td valign="top" colspan="8"><a href="www.test.com">Document<br />
</a></td>
我的XSL目前看起来像这样:
<xsl:template match="daoloc">
<xsl:choose>
<xsl:when test="@role='Image/jpeg'">
<img src="{@href}" altrender="{@Document}"/>
</xsl:when>
<xsl:when test="@role='new'">
<a href="{@href}">
<xsl:value-of select="@Document"/>
</a>
</xsl:when>
</xsl:choose>
</xsl:template>
我玩了一段时间但收效甚微。如何扭曲XSL以显示这些链接?感谢您提前获得任何帮助。
答案 0 :(得分:0)
嗯,以下模板:
<xsl:template match="daoloc">
<p>
<a href="{@href}">
<xsl:apply-templates/>
</a>
</p>
</xsl:template>
应用于您的输入(在label
和href
属性之间添加空格后!)将返回:
<p>
<a href="www.test.com">Document</a>
</p>