代码之家  ›  专栏  ›  技术社区  ›  Anders Sandvig

在浏览器中可选择单个XML文档的多个样式表?

  •  2
  • Anders Sandvig  · 技术社区  · 17 年前

    我有一个XML文件,我希望用户能够看到两个不同的样式表。样式表是互斥的,因此一次只应激活其中的一个。

    我尝试将以下内容添加到XML文件的顶部:

    <?xml-stylesheet type="text/xsl" href="brief.xsl" title="Breif" ?>
    <?xml-stylesheet type="text/xsl" href="detailed.xsl" title="Detailed" alternate="yes" ?>
    

    我希望发生的是 brief.xsl 将用作默认样式表,“详细”将作为项目显示在“视图->页面样式”菜单中,但Firefox似乎忽略了第二个样式表(我只获取项目“无样式”和“基本页面样式”,这是每个页面的默认样式)。

    火狐不支持 alternate 属性,还是我做错了什么?其他浏览器支持吗?

    2 回复  |  直到 11 年前
        1
  •  1
  •   Mister Lucky    17 年前

    firefox 3.5 nightly支持这个替代方案,但是没有内置的功能来交换XML样式表,它只是试图将样式表交换为结果文档。

    IE 6.0-8.0不支持XML样式表处理规则中的alternate=“yes”。 所以它将处理第一个,忽略第二个。

        2
  •  0
  •   YenTheFirst    17 年前

    我不知道XML的具体情况,但我见过它与HTML的替代样式表一起工作。

    举个例子,看看这个站点: http://www.thesitewizard.com/javascripts/change-style-sheets.shtml

    它使用以下代码:

    
    link rel="stylesheet" type="text/css" href="../include/style.css" title="blue" media="screen" /
    link rel="alternate stylesheet" type="text/css" href="../include/change-style-sheets/style-alternate.css" title="grey" media="screen" /
    

    我使用的是火狐2.0.0.19,而“视图-页面样式”显示“无样式”、“蓝色”和“灰色”。 因此,至少在HTML中,Firefox可以处理多个备选样式表。

    推荐文章