我有一个 XML 文件,我想在两个单独的网页上显示它,并带有两个不同的样式表。问题是样式表是在 XML 文件中指定的,这通常会排除这种情况。我试图通过从转换本身拆分数据并将其作为单独的文件包含在内来解决此问题。像这样的东西:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="news.xsl" type="text/xsl"?>
<!DOCTYPE doc [
<!ENTITY items SYSTEM "news_items.xml">
]>
<wrapper>
&items;
</wrapper>
这里的 news_items.xml 是一个没有标题的纯 XML 文件,只有一个根节点,如下所示:
<items>
<item>
---
</item>
<item>
---
</item>
<item>
---
</item>
</items>
样式表 news.xsl 遍历重复节点,并产生格式良好的输出。这种安排允许我使用不同的样式表重复练习,而不会复制数据。它适用于 Chrome,但不适用于 IE 或我所针对的任何 webkit 浏览器。
有一个更好的方法吗?我希望能够使用单个 XML 文件,因为内容是相当动态的。
后来:我实际上在服务器端解决了这个问题,使用 PHP XSLTProcessor 类。根据提出的问题的条款,这不是一个选项,为此我深表歉意。这不是我特别熟悉的领域,即使他们提交了完美的解决方案,我也没有能力将赏金奖励给任何人。对于那个很抱歉。