使用XSL的XML不会在Chrome / FF中输出xml

时间:2012-01-20 02:22:57

标签: xml xslt

我无法让xsl渲染版本显示除Chrome / Firefox中空白页面以外的任何内容。这两个页面都存在于QuickBase中(换句话说,我没有使用导致this thread中的问题的本地文件来测试它)。

如果同时访问数据xml和xsl,它们会正常渲染。呃,求救!

<?xml version="1.0" ?>
<!-- Generated by QuickBase Jan  5 2012 15:49:19 -->
<!-- Created Fri, 20 Jan 2012 02:01:56 -0500 -->
<?xml-stylesheet type="text/xsl" href="bgfn9a4ns?act=DBpage&amp;pagename=test.xsl"?>
<document>
 <dbinfo>
  <name>Contacts</name>
  <desc></desc>
 </dbinfo>
 <variables>
 </variables>
 <chdbids>
 </chdbids>
 <record>
  <name>Bob</name>
  <update_id>1327024286746</update_id>
 </record>
 <record>
  <name>Joe</name>
  <update_id>1327024284265</update_id>
 </record>
 <record>
  <name>John</name>
  <update_id>1327024292753</update_id>
 </record>
 <record>
  <name>Nate</name>
  <update_id>1327024289819</update_id>
 </record>
</document>

以下是XSL的内容:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" version="1.0"/>
 <xsl:template match="/">
  <test>
   <xsl:for-each select="document/record">
    <xsl:attribute name="person"><xsl:value-of select="name"/></xsl:attribute>
   </xsl:for-each>
  </test>
  <FOO>BAR</FOO>
 </xsl:template>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:1)

浏览器正在执行它们所需的操作,但是转换的输出中没有要显示的文本,如下所示

<?xml version="1.0" encoding="utf-8"?>
<test person="Nate"/>

您已为输出声明了一个<test>元素,并且循环遍历所有文档/记录元素,从而为XML中的person元素指定<name>属性。元素不能具有多个具有相同名称的属性,因此它只有一个等于找到的姓氏。