Share via


위치 경로는 축을 사용하여 위치 단계에서 선택한 노드와 컨텍스트 노드 간의 관계를 지정합니다.

설명

ancestor::

컨텍스트 노드의 상위 노드

컨텍스트 노드의 상위 노드는 컨텍스트 노드의 부모, 부모의 부모 등으로 구성되므로, 컨텍스트 노드가 루트 노드가 아닌 경우에는 ancestor:: 축에 항상 루트 노드가 포함됩니다.

ancestor-or-self::

컨텍스트 노드 및 해당 상위 노드

ancestor-or-self:: 축에는 항상 루트 노드가 포함됩니다.

attribute::

컨텍스트 노드의 특성

컨텍스트 노드가 요소가 아닌 경우 이 축은 비어 있게 됩니다.

child::

컨텍스트 노드의 자식

자식은 트리에서 컨텍스트 노드 바로 아래에 있는 모든 노드입니다.그러나 특성 또는 네임스페이스 노드는 모두 컨텍스트 노드의 자식으로 간주되지 않습니다.

descendant::

컨텍스트 노드의 하위 노드

하위 노드에는 자식이나 자식의 자식이 해당되므로, descendant:: 축에는 특성 또는 네임스페이스 노드가 포함되지 않습니다.

descendant-or-self::

컨텍스트 노드 및 해당 하위 노드

following::

트리에서 컨텍스트 노드 뒤에 있는 모든 노드입니다. 단, 모든 하위 노드, 특성 노드 및 네임스페이스 노드는 제외됩니다.

following-sibling::

컨텍스트 노드 다음에 오는 모든 형제 노드

following-sibling:: 축은 트리에서 컨텍스트 노드 뒤에 나오는 부모 노드의 자식만 식별합니다.컨텍스트 노드 앞에 나오는 다른 모든 자식은 이 축에서 제외됩니다.

컨텍스트 노드가 특성 노드 또는 네임스페이스 노드인 경우 following-sibling:: 축은 비어 있습니다.

namespace::

컨텍스트 노드의 네임스페이스 노드

컨텍스트 노드의 범위에 있는 모든 네임스페이스에 대한 네임스페이스 노드가 있습니다.

컨텍스트 노드가 요소가 아닌 경우 이 축은 비어 있게 됩니다.

parent::

하나만 있는 경우, 컨텍스트 노드의 부모

부모는 트리에서 컨텍스트 노드 바로 위에 있는 노드입니다.

preceding::

트리에서 컨텍스트 노드 뒤에 있는 모든 노드입니다. 단, 상위 노드, 특성 노드 및 네임스페이스 노드는 제외됩니다.

앞의 축을 컨텍스트 노드의 시작 부분 앞에 내용이 전체적으로 나타나는 모든 노드로 생각할 수도 있습니다.

preceding-sibling::

컨텍스트 노드 앞에 오는 모든 형제 노드

preceding-sibling:: 축은 트리에서 컨텍스트 노드 앞에 나오는 부모 노드의 자식만 식별합니다.컨텍스트 노드 뒤에 나오는 다른 모든 자식은 이 축에서 제외됩니다.

컨텍스트 노드가 특성 노드 또는 네임스페이스 노드인 경우 preceding-sibling:: 축은 비어 있습니다.

self::

컨텍스트 노드 자체

주의

  • namespace
    각 요소에는 네임스페이스 노드 집합이 연결되어 있으며 하나는 요소의 범위에 있는 각 네임스페이스 접두사(XML 네임스페이스 권장 사항에서 암시적으로 선언한 xml 접두사 포함)에 대한 노드 집합이고 하나는 요소의 범위 내에 있을 경우 기본 네임스페이스에 대한 노드 집합입니다.요소는 이러한 네임스페이스 노드 각각의 부모이지만 네임스페이스 노드는 해당 부모 요소의 자식이 아닙니다.요소는 네임스페이스 노드를 공유하지 않습니다. 즉, 한 요소 노드가 다른 요소 노드와 다른 노드일 경우 한 요소 노드의 네임스페이스 노드는 다른 요소 노드의 네임스페이스 노드와 다릅니다.즉, 하나의 요소는 하나의 네임스페이스 노드를 갖게 됩니다.

    • 이름이 xmlns:로 시작하는 요소의 모든 특성

    • 요소 자체 또는 가까운 상위 요소가 접두사를 다시 선언하지 않는 경우, 이름이 xmlns:로 시작하는 상위 요소의 모든 특성입니다.

    • 요소 또는 일부 상위 요소에 xmlns 특성이 있고 이러한 요소 중 가장 가까이 있는 요소의 xmlns 특성 값이 비어 있지 않은 경우의 xmlns 특성

다음 인스턴스의 <sample> 요소입니다.

<A xmlns="urn:A">
  <B xmlns:test="sample">
    <sample xmlns:sampletest="sampletest"/>
  </B>
</A>

다음 네임스페이스 노드가 포함됩니다.

xmlns="urn:A"
xmlns:test="sample"
xmlns:sampletest="sampletest"

다음 인스턴스의 <sample> 요소입니다.

<A xmlns="urn:A">
  <B  xmlns:test="sample">
    <sample xmlns:sampletest="sampletest" xmlns:bar="test"/>
  </B>
</A>

다음 네임스페이스 노드가 포함됩니다.

xmlns:sampletest="sampletest"

xmlns:test="test"

참고

특성은 기본 네임스페이스 선언을 취소합니다.

네임스페이스 노드는 확장 이름을 가집니다. 즉, 로컬 부분은 네임스페이스 접두사입니다. 네임스페이스 노드가 기본 네임스페이스에 대한 노드인 경우에는 비어 있습니다. 네임스페이스 URI(Uniform Resource Identifier)는 항상 null입니다.

네임스페이스 노드의 문자열 값은 네임스페이스 접두사에 바인딩되는 네임스페이스 URI입니다. 이 값이 상대적인 경우 확장 이름의 네임스페이스 URI와 똑같이 확인되어야 합니다.

예제

following::

following:: 축에 대한 예제는 이 인스턴스 문서를 참조합니다.

<A>
  <B>
    <C>sample</C>
    <C>sample2</C>
  </B>
  <B>
    <C>sample</C>
    <C>sample2</C>
    <D>sample3</D>
  </B>
</A>

쿼리

반환된 노드

A/B[1]/following::*

A/B[1]/following::node()

preceding::

preceding:: 축에 대한 예제는 이 인스턴스 문서를 참조합니다.

<A>
  <B>
    <C test="sampletest">sample</C>
    <C>sample2</C>
  </B>
  <B>
    <C>sample</C>
    <C>sample2</C>
    <D>sample3</D>
  </B>
</A>

쿼리

반환된 노드

A/B[2]/preceding::*

following-sibling::

following-sibling:: 축에 대한 예제는 이 인스턴스 문서를 참조합니다.

<A>
  <B>
    <C test="sampletest">sample</C>
    <C>sample2</C>
  </B>
  <B>
    <C>sample</C>
    <C>sample2</C>
    <D>sample3</D>
  </B>
</A>

쿼리

반환된 노드

A/B[1]/following-sibling::*

preceding-sibling::

preceding-sibling:: 축에 대한 예제는 이 인스턴스 문서를 참조합니다.

<A>
  <B>
    <C test="sampletest">sample</C>
    <C>sample2</C>
  </B>
  <B>
    <C>sample</C>
    <C>sample2</C>
    <D>sample3</D>
  </B>
</A>

쿼리

반환된 노드

A/B[2]/preceding-sibling::*

참고 항목

참조

위치 단계

노드 테스트

조건자