使用value-of标签指定自定义彩色超链接

时间:2016-11-23 09:41:33

标签: css xml xslt

我在使用以下旧代码片段时遇到问题,这些代码允许自定义指定的超链接颜色。将应用程序从当前的32位升级到64位时,64位版本在执行验证规则方面更加严格,xsl不希望以相同的方式呈现。

我已尝试清理代码,这使我可以将问题缩小到使用标记。我假设是由于更严格的验证,我只是不确定如何重做它,所以我们保留升级后的自定义彩色超链接。

适用于旧版32位解析器的原始代码

  

A:visited{ color: Blue; }   

    A#actionHyperlink{ 
<xsl:text>color: #</xsl:text>
<xsl:value-of select="//mytest/systemConfig/hyperlinkActionColour"/>
<xsl:text>;</xsl:text>                  padding-right: 5px;
                 }

A#dataHyperlinkNoPadding{ 
<xsl:text>color: #</xsl:text>
<xsl:value-of select="//mytest/systemConfig/hyperlinkDataColour"/>
<xsl:text>;</xsl:text>}

已检查,以下内容适用于64位版本的解析器

  

a:visited{ color: Blue; }

a#actionHyperlink{ color: Green; padding-right: 5px; }

a#dataHyperlinkNoPadding{ color: Orange; }

但只要包含标签,就像

一样

  

a:visited{ color: Blue; }                    

a#actionHyperlink{ 
     <xsl:text>color: Green;</xsl:text> 
      padding-right: 5px; }     

a#dataHyperlinkNoPadding{ color: Orange; }       

XSL似乎采用了第一个遇到的标记,在这种情况下是actionHyperlink,将它移到代码的后面,并将所有其他标记拉入其中。因为我试图使用value-of标签来添加自定义颜色,所以我最终得到了一个包含所有value-of标签的超链接。所以XSL已经失去了形状,看起来像下面的东西(没有一个超链接最终得到正确的自定义颜色)

  

a:visited{ color: Blue; }

a#dataHyperlinkNoPadding{ }

a#navigationHyperlink{ }

a#otherHyperlinkWithPadding{ padding-right: 5px; }

a#actionHyperlink{ 
<xsl:value-of select="//mytest/systemConfig/hyperlinkActionColour"/>
<xsl:value-of select="//mytest/systemConfig/dataHyperlinkNoPadding"/>
<xsl:value-of select="//mytest/systemConfig/navigationHyperlink"/>
<xsl:value-of select="//mytest/systemConfig/otherHyperlinkWithPadding"/>

}

那么我是否仍然可以使用标签,如果没有,那么如何解决这个问题呢?

0 个答案:

没有答案