存在XSL文件时未格式化XML

存在XSL文件时未格式化XML,xml,xslt,xml-formatting,Xml,Xslt,Xml Formatting,我曾尝试在Chrome和Safari中显示这一点。我基本上从教程中取出了这两个文件。但是,当它显示所有内容时,它只显示原始xml,而似乎不读取xsl文件。这两个文件都在同一目录下 感谢您的帮助!提前谢谢 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

我曾尝试在Chrome和Safari中显示这一点。我基本上从教程中取出了这两个文件。但是,当它显示所有内容时,它只显示原始xml,而似乎不读取xsl文件。这两个文件都在同一目录下

感谢您的帮助!提前谢谢

    <?xml version="1.0" encoding="ISO-8859-1"?>

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

    <xsl:template match="/">
      <html>
      <body>
      <h2>My CD Collection</h2>
      <table border="1">
        <tr bgcolor="#9acd32">
      <th>Title</th>
      <th>Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>


<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<catalog>
 <cd>
  <title>Empire Burlesque</title>
  <artist>Bob Dylan</artist>
  <country>USA</country>
  <company>Columbia</company>
  <price>10.90</price>
  <year>1985</year>
 </cd>
</catalog>

我的CD收藏
标题
艺术家
皇帝讽刺剧
鲍勃·迪伦
美国
哥伦比亚
10.90
1985

样式表:另存为test.xsl

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns="http://www.w3.org/1999/xhtml">
  <xsl:output method="html"/>

  <xsl:template match="/">
    <html>
      <body>
        <h2>My CD Collection</h2>
        <table border="1">
          <tr bgcolor="#9acd32">
            <th>Title</th>
            <th>Artist</th>
          </tr>
          <xsl:for-each select="catalog/cd">
            <tr>
              <td>
                <xsl:value-of select="title" />
              </td>
              <td>
                <xsl:value-of select="artist" />
              </td>
            </tr>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

我的CD收藏
标题
艺术家
Html页面:另存为索引。xhtml

<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
</catalog>


皇帝讽刺剧
鲍勃·迪伦
美国
哥伦比亚
10.90
1985
将两个文件放在同一文件夹中


在IE10中测试。

尝试在XSL中添加基本命名空间(
xmlns
):

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns="http://www.w3.org/1999/xhtml">
    ...
</xsl:stylesheet>

...

它在IE中对我来说是这样的,没有它就不能工作。

愚蠢的问题,但是你是否将XSLT文件命名为“test.xsl”(并使用大写字母)?哈哈,是的,我只是再次检查以确保。结尾的
标记是missingops,很抱歉代码块中没有包含该部分,但它确实存在。我已经在代码块中进行了编辑。对我有效(在Safari中)。Firefox也将在没有该名称空间的情况下正确呈现它。@rdc Yea,Chrome对我来说都不显示任何内容。XSL支持在不同的浏览器之间似乎差异很大。谢谢大家,这个修正对我来说很有效。将其另存为.xhtml