如何解释XSL中的HTML

时间:2011-04-15 15:54:50

标签: html xml xslt orbeon

我有以下xml

<results>
    <first-name>Carl<first-name>
    <data><b> This is carl's data </b></data>
</results>

如何在&lt; data&gt;中包含粗体标记? tag是输出的一部分,但呈现为HTML

当我说<xsl:value-of select="results/data"/>输出为

<b> This is carl's data </b>

我希望以粗体显示“这是carl的数据”。

2 个答案:

答案 0 :(得分:1)

<xsl:copy-of select="results/data/node()"/>是一个开始但是如果要求是更大问题的一部分那么你最好为data元素编写一个模板,该模板使用apply-templates推送子节点一些用于将HTML元素复制到输出的模板。

答案 1 :(得分:0)

我相信如果我天真,有人会告诉我:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
    <xsl:output method="html" indent="yes"/>

  <xsl:template match="/results">
    <xsl:apply-templates/>
  </xsl:template>

  <xsl:template match="first-name">
    <xsl:value-of select="." />
    <xsl:text>: </xsl:text>
  </xsl:template>

  <xsl:template match="data">
    <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="b">
    <b>
      <xsl:value-of select="." />
    </b>
  </xsl:template>
</xsl:stylesheet>