如何使用xslt显示备用xml值

时间:2018-03-06 18:27:48

标签: html xml xslt display

使用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>

请指教。谢谢!

1 个答案:

答案 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>