Xslt url条件

时间:2014-08-22 15:58:20

标签: xslt

如果url包含/ market / 3,我想知道是否有任何url逻辑。像:

<xsl:variable name="cultureRequest" select="concat('http://',MAIN_URL)"  />
<xsl:if test="contains($cultureRequest, '/market/3')" >
</xsl:if>

1 个答案:

答案 0 :(得分:0)

  

嗯,有没有办法检查网址是否包含/ market / 3 /?

正如我在评论中所说,是的,这是可能的。只要URL是字符串即可。但是你必须要知道,意味着XSLT将此字符串视为URL。它仍然认为它是一个字符串。

例如,您的代码段使用以下输入:

<?xml version="1.0" encoding="UTF-8"?>
<MAIN_URL>www.main-url.com/market/3/xs.htm</MAIN_URL>

然后,您可以应用如下所示的样式表。如果yes函数返回true,则输出contains元素。

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:output method="xml" encoding="UTF-8" indent="yes" />

    <xsl:template match="/">
      <xsl:variable name="cultureRequest" select="concat('http://',MAIN_URL)"  />
      <xsl:if test="contains($cultureRequest, '/market/3')" >
        <yes>!</yes>
      </xsl:if>
    </xsl:template>

</xsl:transform>

XML输出

网址包含/market/3,因此输出为:

<?xml version="1.0" encoding="UTF-8"?>
<yes>!</yes>

注意:有两件事我对你的问题不了解,我试着在评论中询问:

  • 我不确定为什么在处理之前将URL连接到http;// 它到contains
  • 为什么要参考&#34; url logic&#34;?