XSLT不呈现HTML

XSLT不呈现HTML,html,xslt,Html,Xslt,我有一个XSLT文档,我正试图编辑它,以便它正确地显示HTML,而不是显示实际的HTML标记。下面是XSLT和HTML的一部分。呈现页面时,将显示HTML标记,而不是呈现它们。任何帮助都将不胜感激。很抱歉代码在一行上。如果它是在多行上格式化的,我不知道如何使它工作 <!-- Test Template --> <xsl:template match="TestTemplate"> <table border="0" width="100%">

我有一个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>
测试标题
  • 这应该是一个列表。
  • 这应该是一个列表
  • 这应该是一个列表
  • 这应该是一个列表
  • 这应该是一个列表
  • 这应该是一个列表

您试图在哪里转换/显示输入/输出?在浏览器中?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中,这将导致输出呈现为网页。

您试图在哪里转换/显示输入/输出?在浏览器中?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中,这将导致输出呈现为网页。

您可以发布整个XSLT吗?(整个
xsl:stylesheet
)还请将xsl格式化为多行易读。@Kevin-请等到我用
ctrl-shift-f
:)@bsmith95610:您试图匹配/选择的元素在
中完成用于漂亮打印XML的Greasemonkey脚本(
TestTemplate
Description
Line
JobType
Department
Title
)与您的“测试HTML”(?!)无关……您可以发布整个XSLT吗?(整个
xsl:stylesheet
)还请格式化XSL,使其在多行上清晰可见。@Kevin-请等待我完成Greasemonkey脚本,以便在
中使用
ctrl-shift-f
:)@bsmith95610:您尝试匹配/选择的元素漂亮地打印XML(
TestTemplate
Description
Line
JobType
Department
Title
)与您的“测试HTML”(?!)无关……每个浏览器都将正确显示来自XSLT转换的XHTML(带有PI的XML,不要通过javascript尝试此操作):只要正确声明XHTML名称空间,就可以使用现代浏览器,也就是说,因为它很难认为所有内容都是HTML…lwburk-我正在尝试在浏览器中显示它。我的xslt文件顶部已经有了这些标记。当我从数据库中提取文本时,文本显示得非常重要。如果我用字体标记将其包装并在渲染时更改颜色。它确实会更改颜色,但不会加粗文本。它只是像上面那样编写。@bsmith95610-您能用更完整的示例更新吗?上面的XSL似乎与您的测试HTML输出无关,这令人困惑。每个浏览器都会正确显示来自XSLT trans的XHTML形成(带PI的XML,不要尝试通过javascript…):只要正确声明XHTML名称空间,就可以使用现代浏览器,也就是说,因为它很难认为所有内容都是HTML…lwburk-我正在尝试在浏览器中显示它。我的xslt文件顶部已经有了这些标记。当我从数据库中提取文本时,文本显示得非常重要。如果我用字体标记将其包装并在渲染时更改颜色。它确实会更改颜色,但不会加粗文本。它只是像上面那样编写。@bsmith95610-您能用更完整的示例更新吗?上面的XSL似乎与您的测试HTML输出无关,这令人困惑。