如何在xsl:comment中获取动态值

时间:2013-10-08 12:41:53

标签: xml xslt-1.0

以下代码不会加载$ URL_PREFIX的动态值,因为它在cdata中。 请让我知道如何在评论中获取动态值。

    <xsl:comment><![CDATA[[if gte IE 9]>    
        <link href="$URL_PREFIX/Static/resources/common/css/redesign/new-ie.css" rel="stylesheet" type="text/css" />
    <![endif]]]></xsl:comment>

我想要值$ URL_PREFIX。

1 个答案:

答案 0 :(得分:1)

我认为你需要像这样分解你的CDATA ......

    <xsl:comment><![CDATA[[if gte IE 9]>   
    <link href="]]><xsl:value-of select="$URL_PREFIX"/><![CDATA[/Static/resources/common/css/redesign/new-ie.css" rel="stylesheet" type="text/css" />
<![endif]]]></xsl:comment>

完整示例......

XSLT 1.0 (适用于任何XML输入)

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output indent="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="/">
        <xsl:variable name="URL_PREFIX" select="'http://foo.com'"/>
        <xsl:comment><![CDATA[[if gte IE 9]>   
        <link href="]]><xsl:value-of select="$URL_PREFIX"/><![CDATA[/Static/resources/common/css/redesign/new-ie.css" rel="stylesheet" type="text/css" />
    <![endif]]]></xsl:comment>
    </xsl:template>

</xsl:stylesheet>

<强>输出

<!--[if gte IE 9]>   
        <link href="http://foo.com/Static/resources/common/css/redesign/new-ie.css" rel="stylesheet" type="text/css" />
    <![endif]-->