回答
这是一个非常一般形式,但如果你不知道在设计时的名单,只要你能得到一个节点集的引用代表名单,你可以做一个简单的测试,如:
<xsl:when test="$listset/item[@property=$variable]">
哪里说$变量= /富/酒吧/ @财产和$用于XML
<?xml version="1.0"?>
<foo>
<bar property="gb" />
<list>
<item property="gb"/>
<item property="us"/>
</list>
</foo>
尝试使用xsl:choose.(另见the spec here)它提供了一个基本的if/else功能。编辑 - 我做了测试,它的工作原理:
<xsl:choose>
<xsl:when test="domain = 'GB' or domain = 'US' or domain = 'ES' or domain = 'FR'">
print this html
</xsl:when>
<xsl:otherwise>
print other html
</xsl:otherwise>
</xsl:choose>
LISTSET = /富/清单如果你使用XSLT 2.0指定的文件
您可以使用这样的事情:
<xsl:template match="list/item">
Property [<xsl:value-of select="@property"/>] html
</xsl:template>
<xsl:template match="list/item[some $x in ('us', 'gb') satisfies $x eq @property ]">
Property [<xsl:value-of select="@property"/>] HTML
</xsl:template>
另一种解决方案,而不是由目前的3个回答是提到有一串您正在比较domain
的值的选项。然后下面的XPath表达式(在任<xsl:if>
或<xsl:when>
的@test
属性的计算结果为true()
准确时的domain
的值是(我们在本具体例中使用空间分隔符)字符串中的分隔的值中的一个:
contains(' GB US ES ', concat(' ', domain, ' '))
在这里,我们假设有在domain
值没有空格如果不能得到保证,XPath表达式也可以验证这一点要求:
not(contains(domain, ' '))
and
contains(' GB US ES ', concat(' ', domain, ' '))
- 1. 我怎样才能在一个列表
- 2. 我怎样才能做数学项目在Python中的列表?
- 3. 我怎样才能做一个排序复选框列表与数组
- 4. 我怎样才能做多个条件?
- 5. 怎样才能获得一个列表?
- 6. 我怎样才能做一个查询选择嵌套?
- 7. 我怎样才能创建h:selectOneRadio与java列表(JSF)的选项?
- 8. 我怎样才能复制的表项,同时改变一列
- 9. 我怎样才能把一个变量formulaire选项在javascript
- 10. 我怎样才能从列表框中选择一些东西
- 11. 我怎样才能获得列表框
- 12. 我怎样才能用一个segue来做到这一点?
- 13. 我怎样才能做的Symfony2
- 14. 我怎样才能做到在web.py
- 15. 我怎样才能做M2M分页Django
- 16. 我怎样才能得到一个列表中的项目,当我点击它
- 17. 我怎样才能得到我点击的列表项数据?
- 18. 正则表达式 - 我怎样才能做到这一点?
- 19. 我怎样才能从另一个下拉列表中
- 20. 我怎样才能在下拉列表中保留一个值
- 21. 我怎样才能设置列表框在一个枢轴点
- 22. 我怎样才能得到一个Python中的计算列表
- 23. 我怎样才能得到一个类的实例列表
- 24. 我怎样才能
- 25. 我怎样才能
- 26. 我怎样才能
- 27. 我怎样才能
- 28. 我怎样才能做到这个正则表达式?
- 29. 我怎样才能让''中的选项而不是选项?
- 30. 我怎样才能重用一个双