在一组节点上进行 XSL 测试?
我有一组带有类型属性的“文件”节点,
<files>
<file type="main">asdf</file>
<file type="main_en">asdf</file>
<file type="main_fr">asdf</file>
<file type="pdf">asdf</file>
</files>
如果其中一个节点至少有 1 个以“main”开头的属性,如何检查这组文件。 我在想:
<xsl:when test="contains(string(files/file[@type]),'main')">
但是我知道的所有功能或测试似乎仅适用于特定节点,而不是一组节点。 我宁愿避免使用 for every type 解决方案。
I have a set of "file" nodes with a type attribute
<files>
<file type="main">asdf</file>
<file type="main_en">asdf</file>
<file type="main_fr">asdf</file>
<file type="pdf">asdf</file>
</files>
How do I check on the set of files if one of the nodes has at least 1 attribute that starts with "main".
I was thinking something like:
<xsl:when test="contains(string(files/file[@type]),'main')">
But all the functions or tests I know seem to only be for a specific node and not a set of nodes.
I would rather avoid using a for each type solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用:
当至少有一个
file
元素是 XML 文档顶部元素的子元素时,其计算结果为true()
并且至少有一个属性,其字符串值以字符串"main"
开头当在
test
属性中使用时(
或
) 或作为谓词,对boolean()
函数的引用不是必需的,可以省略:Use:
This evaluates to
true()
exactly when there is at least onefile
element that is a child of the top element of the XML document and that has at least one attribute, whose string value starts with the string"main"
When used in a
test
attribute (of<xsl:if>
or<xsl:when>
) or as a predicate, the reference to theboolean()
function is not necessary and may be omitted:或者,甚至更好:
Or, even better:
不知道你的真正目的,但这个例子可能对你有帮助:
Don't know your real purpose, but this example might help you: