在xml中我有元素的屬性包含一個類別列表,例如:cat =「ABCD」xpath 1.0:子集匹配屬性列表?
xpath 1.0(我在Firefox中使用xslt)有任何可能性返回所有元素一個類別的子集匹配列表?
例如:
子集(AC)貓(ABC)真
子集(d)貓(AC)假
子集(AC)貓(AB)假
謝謝你的幫助。
在xml中我有元素的屬性包含一個類別列表,例如:cat =「ABCD」xpath 1.0:子集匹配屬性列表?
xpath 1.0(我在Firefox中使用xslt)有任何可能性返回所有元素一個類別的子集匹配列表?
例如:
子集(AC)貓(ABC)真
子集(d)貓(AC)假
子集(AC)貓(AB)假
謝謝你的幫助。
下面是一些基本上應該做的事情的代碼。 XSLT包裝只是設置變量。
<xsl:variable name="subset" select="A C" />
<xsl:variable name="matches"
select="//*[translate($subset, concat(@cat, ' '), '') = '']" />
當然,你可能需要根據什麼樣的你想匹配的元素來調整//*
。
只有在子集字符串'D'
不包含空格的情況下,才需要將空間連接到@cat
。
此代碼還假定所有類別名稱都是單個字母。如果情況並非如此,請告訴我。
感謝您的代碼。
事實上,我的類別通常包含多個字母,並且可能有子類別(例如:AB.CD,其中點是子類別的定界符)。這將是很好,如果我也可以搜索類別的只是其中的一部分(例如:
子集(A ZY)貓(AB ZY)真
另外,還可以使用撒克遜CE在Firefox中,它提供了XSLT 2.0(包括XPath 2.0),然後你可以使用tokenize(),這對分類名稱不是單個字母會有幫助。 – LarsH 2014-10-08 21:35:45