我无法让我的 XML 读取我的 XSLT 样式表。我正在使用一个框架 - CodeIgniter - 所以这可能是也可能不是问题的一部分。
这是我的视图代码;
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="<?php echo base_url("assets/style.xsl") ?>" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc><?php echo site_url();?></loc>
<priority>1.0</priority>
</url>
<?php echo $file_list; ?>
<url>
<loc><?php echo site_url("release-calendar/upcoming-releases"); ?></loc>
<priority>0.7</priority>
</url>
<url>
<loc><?php echo site_url("release-calendar/currently-released"); ?></loc>
<priority>0.7</priority>
</url>
<url>
<loc><?php echo site_url("calendar/changes"); ?></loc>
<priority>0.7</priority>
</url>
<?php echo $file_list_2; ?>
<url>
<loc><?php echo site_url("cookies"); ?></loc>
<priority>0.7</priority>
</url>
<url>
<loc><?php echo site_url("contact_us"); ?></loc>
<priority>0.7</priority>
</url>
</urlset>
这是我的 XSLT 代码;
<?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>
<table border="1">
<xsl:for-each select="url">
<tr>
<td><xsl:value-of select="loc"/></td>
<td><xsl:value-of select="priority"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
目前,站点地图网页甚至不会在 IE9 中显示,但在 Firefox 中会显示。在 Firefox 中,它实际上是在渲染 XML(但只是忽略了样式)。
如果这意味着什么,前 3 行是使用 Firefox 的源代码中的红色文本......
并且样式表的链接必须正确,因为我对我的 css 样式表使用几乎完全相同的链接。
编辑 - 一些额外的信息;
这就是我的输出呈现的内容;
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:sm="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/index.php/</loc>
<priority>1.0</priority>
</url>
<url>
<loc>http://www.example.com/index.php/doc1.pdf</loc>
<priority>0.5</priority>
</url>
<url>
<loc>http://www.example.com/index.php/doc2.pdf</loc>
<priority>0.5</priority>
</url>
<url>
<loc>http://www.example.com/index.php/doc3.pdf</loc>
<priority>0.5</priority>
</url>
<url>
<loc>http://www.example.com/index.php/doc4.pdf</loc>
<priority>0.5</priority>
</url>
</urlset>
对我来说似乎很好。。