在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
谢谢你的帮助 .
这里有一些基本上应该做的代码 . XSLT包装器只是设置变量 .
<xsl:variable name="subset" select="A C" /> <xsl:variable name="matches" select="//*[translate($subset, concat(@cat, ' '), '') = '']" />
当然,您可能需要调整 //* ,具体取决于您尝试匹配的元素类型 .
//*
只有在 'D' 之类的子集字符串不包含空格时,才需要将空格连接到 @cat .
'D'
@cat
此代码还假定所有类别名称都是单个字母 . 如果不是这样,请告诉我 .
谢谢你的代码 .
实际上,我的类别通常包含多个字母,并且可能存在子类别(例如:AB.CD,其中该点是子类别的分隔符) . 如果我也只能搜索某一类别的一部分会很好(例如:
子集(A Z.Y)cat(A.B Z.Y)为真
2 回答
这里有一些基本上应该做的代码 . XSLT包装器只是设置变量 .
当然,您可能需要调整
//*
,具体取决于您尝试匹配的元素类型 .只有在
'D'
之类的子集字符串不包含空格时,才需要将空格连接到@cat
.此代码还假定所有类别名称都是单个字母 . 如果不是这样,请告诉我 .
谢谢你的代码 .
实际上,我的类别通常包含多个字母,并且可能存在子类别(例如:AB.CD,其中该点是子类别的分隔符) . 如果我也只能搜索某一类别的一部分会很好(例如:
子集(A Z.Y)cat(A.B Z.Y)为真