2012-11-07 120 views
1

我想根据浏览器更改XML中的一些规则。例如,使用IE时,'fontcolor'应该是黑色的。到目前为止,我对它进行了搜索,我发现这可以使用XSLT。但不幸的是,经过1/2天的搜索/尝试&错误之后,我仍然没有弄清楚如何做到这一点。如何通过浏览器更改xml

有人可以帮我解决这个问题吗?任何帮助将不胜感激。谢谢 !!

EetieD。

我目前的XML:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<?xml-stylesheet type="text/xsl" href="test.xsl"?> 
<skin version='1.1' name='player' author='me'> 
    <components> 
     <component name='control'> 
      <settings> 
       <setting name='fontsize' value='10' /> 
       <setting name='fontcolor' value='0xffffff' /> <!-- if IE: 0x000000--> 
       //..... 

我现在的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="/"> 
    <xsl:comment> 
    <![CDATA[[if !IE]>show non-iE text<![endif]]]> 
    </xsl:comment> 

</xsl:template> 

</xsl:stylesheet> 

回答

0

我不认为这是只使用XSLT来检测浏览器的好方法。尽管XSLT最初设计为在浏览器中使用XML来执行,但实际上并非如此。我想你会更好的做你的浏览器检测in Javascript

从那里,您可以有条件地直接从JavaScript输出您想要的XML,或者您可以将浏览器类型作为外部变量传递给您的XSLT,并让它处理条件逻辑。