1

ブラウザに応じて、XML のいくつかのルールを変更したいと考えています。たとえば、IE を使用する場合、'fontcolor' は黒にする必要があります。これまでグーグルで調べたところ、XSLTを使用してこれが可能であることがわかりました。しかし、残念ながら、1/2日後にグーグル/試行錯誤した後でも、これを行う方法の手がかりが得られませんでした.

誰かがこれを解決する方法を教えてくれますか? どんな助けでも大歓迎です。ありがとう !!

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>
4

1 に答える 1

0

XSLT のみを使用してブラウザーを検出する良い方法はないと思います。XSLT は元々、ブラウザー内の XML で実行されるように設計されていましたが、実際にはそうではありませんでした。Javascript でブラウザの検出を行う方がよいと思います。

そこから、必要な XML を条件付きで JavaScript から直接出力するか、ブラウザーの種類を外部変数として XSLT に渡して、条件付きロジックを処理させることができます。

于 2012-11-07T21:15:31.410 に答える