为什么XML文件标签不在firefox中显示?

时间:2014-08-20 09:26:39

标签: xml firefox xslt

我有xslt文件看起来像:

<xsl:stylesheet version='2.0'
    xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

  <xsl:output
       method="xml"
       encoding="utf-8"
       media-type="application/xml"
       cdata-section-elements="shortdescription"
  />
  <xsl:template match='/'>

    <items>
         <xsl:apply-templates select="response/result/doc"/>
    </items>

  </xsl:template>

  <!-- search results xslt -->
  <xsl:template match="doc">

      <Id><xsl:value-of select="$Id"/></Id>

</xsl:template>

</xsl:stylesheet>

及其在firefox 31中的显示ID如下:

52256

预期输出如:

<Id>52256</Id>

注意: - 在Google Chrome浏览器中,其工作正常

请帮帮我

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您在浏览器中运行XSLT,那么大多数浏览器都假定您要呈现转换结果,Firefox会使用XSLT转换结果执行此操作,如果您呈现包含文本节点的元素,则会显示文本节点的内容。 Firefox根本不会序列化XSLT转换的结果树,除非您使用Javascript来运行转换并在Javascript中明确使用XMLSerializer来序列化DOM树。

另请注意,您的整个示例看起来很奇怪,它使用version="2.0"虽然浏览器仅支持XSLT 1.0,但它引用了未声明的变量。