편집 : 또한 ESXLT 함수에 액세스 할 수 있습니다.XPATH 또는 XSL은 사용자 지정 비교를 사용하여 두 노드 집합과 일치합니다.
두 개의 문자열 토큰 세트가 있습니다. 한 세트는 다음과 같은 값을 포함합니다 :
/Geography/North America/California/San Francisco
/Geography/Asia/Japan/Tokyo/Shinjuku
다른 세트는 다음과 같은 값을 포함합니다 :
/Geography/North America/
/Geography/Asia/Japan/
내 목표는 둘 사이에 "일치"를 찾는 것입니다. 세트 1의 문자열이 세트 2의 문자열로 시작하는 경우 일치가 발생합니다. 예를 들어, /지리학/북미/캘리포니아/샌프란시스코 및 /지리/북미/ 사이에서 일치가 발생합니다. 세트 1의 문자열은 세트 2의 문자열로 시작합니다.
제 3 자 확장을 사용하여 와일드 카드를 사용하여 문자열을 비교할 수 있습니다. Xpath 내에서 정규식을 모두 사용할 수도 있습니다.
제 문제는 어떻게 두 세트의 모든 노드 사이에서 함수를 사용하여 선택하려면 Xpath를 구조합니까? XSL도 실행 가능한 옵션입니다.
이 XPATH :
count($set1[.=$set2])
이 SET1 및 설정 2 사이의 교차점의 수를 산출 겠지만,이 1 대 1 비교입니다. 노드를 비교하는 다른 방법을 사용할 수 있습니까?
편집 : 나는이 효과를 얻었지만 동일한 타사 확장을 사용하여 속임수를 사용하고 있습니다. 나는 아직도 다른 방법에 관심이있다.
위의 예에서 일치하는 항목 수를 원하십니까? 따라서 위의 값은 2를 반환해야합니까? –
예, 주어진 예제에서 개수는 2 여야합니다. –
하나의 XPath식이 유일한 옵션입니까? XSLT가 수용 가능합니까? – ChuckB