XSLT不呈现HTML

时间:2011-03-23 18:26:11

标签: html xslt

我有一个我正在尝试编辑的XSLT文档,以便它能正确显示HTML而不是显示实际的HTML标记。下面是XSLT和HTML的一部分内容。呈现页面时显示HTML标记而不是呈现它们。任何帮助将非常感激。抱歉,代码在一行上。如果在多行上格式化,我无法弄清楚如何让它工作。

<!-- Test Template -->
<xsl:template match="TestTemplate">
    <table border="0" width="100%">
        <tr>
            <td>
                <font
                    style='font-family:Tahoma, Verdana, Geneva, sans-serif;
        font-size:14px; color:#c41130'>
                    <b>
                        <xsl:value-of select="Title" />
                    </b>
                </font>
            </td>
        </tr>
    </table>
    <table border="0">
        <tr>
            <td class="Label">
                <font style="color:#333333">
                    <b>Title</b>
                </font>
            </td>
            <td>
                <font style="color:#333333">
                    <xsl:value-of select="Title" />
                </font>
            </td>
        </tr>
        <tr>
            <td class="Label">
                <font style="color:#333333">
                    <b>Department</b>
                </font>
            </td>
            <td>
                <font style="color:#333333">
                    <xsl:value-of select="Department" />
                </font>
            </td>
        </tr>
        <tr>
            <td class="Label">
                <font style="color:#333333">
                    <b>Type</b>
                </font>
            </td>
            <td>
                <font style="color:#333333">
                    <xsl:value-of select="JobType" />
                </font>
            </td>
        </tr>
    </table>
    <table border="0" width="100%">
        <tr>
            <td class="line">
                <img src="/img/s.gif" height="1" width="1" />
            </td>
        </tr>
        <tr>
            <td>
                <img src="/img/s.gif" height="5" width="1" />
            </td>
        </tr>
    </table>
    <xsl:if test="(Description)">
        <br />
        <font
            style='font-family:Tahoma, Verdana, Geneva, sans-serif;
            font-size:14px; color:#c41130'>
            <b>Description</b>
        </font>
        <br />
        <xsl:apply-templates select="Description/Line" />
        <br />
    </xsl:if>
    <br />
</xsl:template>

测试显示html标记而不是呈现它们的HTML。

<b>TEST HEADING</b>
<ul>
    <li></li>
    This should be a list.
</li>
    <li>This should be a list.</li>
    <li>This should be a list.</li>
    <li>This should be a list.</li>
    <li>This should be a list.</li>
    <li>This should be a list.</li>
</ul>

1 个答案:

答案 0 :(得分:3)

您在哪里尝试转换/显示输入/输出?在浏览器中? XSLT的默认输出方法是XML,但您可以使用以下命令指定HTML:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
    <!-- other XSLT goes here -->
</xsl:stylesheet>

在Firefox中,例如,这会导致将输出呈现为网页。