2011-08-16 5 views
0

목록에 다음과 같이 작동 할 xpath 함수가 있어야합니다.XPath에서 목록에 특정 항목이 있는지 어떻게 확인할 수 있습니까?

//*[contains(("one", "two", "three"), "one") 

이 같은 것이 있습니까?

그냥 컨텍스트에 대한,이 문제를 해결할 노력하고있어 :

DOM 트리

<element blah="one two three"> 

<element blah="bone two three"> 

<element blah="two three one"> 

원뿔을 포함하기 때문에 첫 번째 및 세 번째 선택하고 싶습니다.

//*[contains(tokenize(@blah,'\s+'),'one')] 

이것은 지금까지 가지고있는 것이지만 유효한 XPath 쿼리가 아닌 것 같습니다.

나는 tokenize가 다음과 같은 형식으로 어떤 것을 반환한다는 것을 알고있다 :

("one", "two", "three") 

내가 필요한 것은 그 목록에 무엇이 있는지를 확인하는 것이다.

답변

1

간단한 :

"one" = ("one", "two", "three") 

또는 더 긴 :

some $i in ("one", "two", "three") satisfies $i eq "one" 
+0

.//* // * [(CONCAT를 (''포함 [(@ 클래스, 'ibmPortalControl')가 포함] @class, ''), 'decoration-title')] 내가 필요한 것입니다. '장식 제목'을 양쪽에 공백으로 묶음으로써 쉽게 찾을 수 있었고 결과 세트를 검색해야한다는 것을 의미하지는 않았습니다. –

관련 문제