필터 및 필터 패턴

컬렉션에 필터 절 [pattern]을 추가하여 제약 조건 및 분기를 적용할 수 있습니다.필터는 SQL WHERE 절과 유사합니다.필터에는 필터 패턴이라는 패턴이 포함되어 있습니다.필터 패턴은 부울 값으로 평가되며 컬렉션의 각 요소에 대해 테스트됩니다.필터 패턴 테스트에 실패한 컬렉션의 요소는 결과 컬렉션에 포함되지 않습니다.

편의상 컬렉션을 필터 내에 배치할 경우 컬렉션에 멤버가 포함되어 있으면 부울 TRUE가 생성되고 컬렉션이 비어 있으면 FALSE가 생성됩니다.author/degree와 같은 식은 컬렉션에서 부울로 변환하는 함수를 의미하며 <degree>라는 자식 요소가 있는 <author> 요소가 있을 경우 TRUE로 평가됩니다.

지정된 식 수준에서 필요한 수만큼 필터를 표시할 수 있습니다.빈 필터는 사용할 수 없습니다.

필터는 항상 컨텍스트와 관련하여 평가됩니다.즉, book[author] 식은 발견한 모든 <book> 요소에 대해 <author> 자식 요소가 있는지 여부를 테스트합니다.마찬가지로 book[author = 'Bob'] 식은 발견한 모든 <book> 요소에 대해 값이 Bob인 <author> 자식 요소가 있는지 여부를 테스트합니다.마침표(.)를 사용하여 컨텍스트 값을 확인할 수도 있습니다.예를 들어, book[. = 'Trenton'] 식은 현재 컨텍스트에서 발견한 모든 책에 대해 값이 Trenton인지 여부를 테스트합니다.

예제

참조 항목

book[excerpt]

<excerpt> 요소가 하나 이상 포함된 모든 <book> 요소

book[excerpt]/title

<excerpt> 요소가 하나 이상 포함된 <book> 요소 내의 모든 <title> 요소

book[excerpt]/author[degree]

<excerpt> 요소가 하나 이상 포함된 <book> 요소 내에 있으며 <degree> 요소가 하나 이상 포함된 모든 <author> 요소

book[author/degree]

<degree> 자식 요소가 하나 이상 있는 <author> 요소가 하나 이상 포함된 모든 <book> 요소

book[excerpt][title]

<excerpt> 요소와 <title> 요소가 하나 이상 포함된 모든 <book> 요소

참고 항목

참조

XPath 예제

개념

XPath 구문에 대한 샘플 XML 파일(inventory.xml)