다음을 통해 공유


노드 형식 테스트

요소 노드 외에 다른 노드 형식을 선택하려면 노드 형식 테스트를 사용합니다. 노드 형식 테스트를 사용하면 지정된 축의 주 노드 형식이 무시됩니다. 예를 들어, 하위 축의 주 노드 형식이 요소인 경우에도 descendant::text()는 컨텍스트 노드의 하위 노드인 모든 텍스트 노드를 찾습니다.

다음 표에서 볼 수 있듯이 네 가지 노드 형식 테스트를 사용할 수 있습니다.

노드 형식

반환 값

예제

comment()

주석 노드에 대해 True

following::comment()는 컨텍스트 노드 다음에 나타나는 모든 주석 노드를 선택합니다.

node()

모든 형식의 노드에 대해 True

preceding::node()는 컨텍스트 노드 앞에 나타나는 모든 노드를 선택합니다.

processing-instruction()

처리 명령 노드에 대해 True

self::processing instruction()는 컨텍스트 노드 내에 있는 모든 처리 명령 노드를 선택합니다.

text()

텍스트 노드에 대해 True

child::text()는 컨텍스트 노드의 자식인 텍스트 노드를 선택합니다.

참고

processing-instruction() 테스트에는 리터럴인 인수가 있을 수 있습니다. 이 경우 이름이 리터럴 값과 같은 모든 처리 명령에 대해 True입니다.자세한 내용은 대상 처리 명령 테스트를 참조하십시오.

노드 형식 테스트의 끝에 괄호 ()를 넣어야 합니다. 그러면 소스 문서에 이름이 comment, text, processing-instruction 또는 node인 노드가 있을 경우 발생할 수 있는 문제를 방지할 수 있습니다. XPath 응용 프로그램에서 이중 괄호를 발견할 경우 이 이름의 노드에 대한 이름 테스트가 아니라 노드 형식 테스트로 인식합니다. 마찬가지로 괄호가 비어 있든 비어 있지 않든 간에 노드 형식 테스트는 괄호를 포함하는 참조인 XPath 함수가 아닙니다.

참고 항목

참조

노드 테스트

이름 테스트

대상 처리 명령 테스트