首页 文章

xpath 1.0:子集匹配属性列表?

提问于
浏览
0

在xml中,我有一个元素,其属性包含一个类别列表,例如:cat =“A B C D”

xpath 1.0(我在Firefox中使用xslt)是否有可能返回类别子集与列表匹配的所有元素?

例如 :

子集(A C)cat(A B C)为真

子集(D)cat(A C)false

子集(A C)cat(A B)false

谢谢你的帮助 .

2 回答

  • 0

    这里有一些基本上应该做的代码 . XSLT包装器只是设置变量 .

    <xsl:variable name="subset" select="A C" />
    <xsl:variable name="matches"
        select="//*[translate($subset, concat(@cat, ' '), '') = '']" />
    

    当然,您可能需要调整 //* ,具体取决于您尝试匹配的元素类型 .

    只有在 'D' 之类的子集字符串不包含空格时,才需要将空格连接到 @cat .

    此代码还假定所有类别名称都是单个字母 . 如果不是这样,请告诉我 .

  • 1

    谢谢你的代码 .

    实际上,我的类别通常包含多个字母,并且可能存在子类别(例如:AB.CD,其中该点是子类别的分隔符) . 如果我也只能搜索某一类别的一部分会很好(例如:

    子集(A Z.Y)cat(A.B Z.Y)为真

相关问题