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