使用v2.0 xsl样式表,我将XML显示为HTML表格。 @required属性包含“1”值,表示它是必需的。我想在显示的html表中将“1”值显示为“Y”值,保持源XML不变。
示例XML:
<table tableName="ABC" fieldname="field1" required="1" />
示例XSL无法按预期工作,它显示一个空白的HTML页面:
<td><xsl:value-of select="(@required, '1', 'Y')"/></td>
请指教。谢谢!
答案 0 :(得分:0)
假设输入XML是
<table tableName="ABC" fieldname="field1" required="1" />
并且您需要以表格形式打印属性,您可以使用以下XSL来实现输出。
<xsl:template match="table">
<html>
<body>
<table>
<tr>
<td><xsl:value-of select="@tableName" /></td>
<td><xsl:value-of select="@fieldname" /></td>
<td>
<xsl:choose>
<xsl:when test="@required = '1'">
<xsl:value-of select="'Y'" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'N'" />
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
要在Y
为@required
时显示1
,您可以使用<xsl:choose>
,这样您就可以在不修改输入XML数据的情况下输出所需的值。
输出
<html>
<body>
<table>
<tr>
<td>ABC</td>
<td>field1</td>
<td>Y</td>
</tr>
</table>
</body>
</html>