다음을 통해 공유


위치 경로 지정(SQLXML 4.0)

적용 대상: SQL Server Azure SQL Database

XPath 쿼리는 식 형식으로 지정됩니다. 다양한 종류의 식이 있습니다. 위치 경로는 컨텍스트 노드를 기준으로 노드 집합을 선택하는 식입니다. 위치 경로에 대한 평가 결과는 노드 집합입니다.

위치 경로 유형

위치 경로는 다음 형식 중 하나를 사용할 수 있습니다.

  • 절대 위치 경로

    절대 위치 경로는 문서의 루트 노드에서 시작됩니다. 필요에 따라 슬래시 표시(/)와 상대 위치 경로로 구성됩니다. 슬래시 표시(/)는 문서의 루트 노드를 선택합니다.

  • 상대 위치 경로

    상대 위치 경로는 문서의 컨텍스트 노드에서 시작됩니다. 위치 경로는 슬래시 표시(/)로 구분된 하나 이상의 위치 단계 시퀀스로 구성됩니다. 각 단계에서 컨텍스트 노드를 기준으로 노드 집합을 선택합니다. 단계의 초기 시퀀스는 컨텍스트 노드를 기준으로 노드 집합을 선택합니다. 해당 집합의 각 노드는 다음 단계에 대한 컨텍스트 노드로 사용됩니다. 해당 단계에서 식별된 노드 집합이 조인됩니다. 예를 들어 child::Order/child::OrderDetail<컨텍스트 노드의 Order 요소 자식에 대한 <OrderDetail>> 요소 자식을 선택합니다.

    참고 항목

    XPath의 SQLXML 4.0 구현에서는 XPath가 명시적으로 절대적이지 않더라도 모든 XPath 쿼리가 루트 컨텍스트에서 시작됩니다. 예를 들어 "Customer"로 시작하는 XPath 쿼리는 "/Customer"로 처리됩니다. XPath 쿼리 Customer[Order]에서 고객은 루트 컨텍스트에서 시작하지만 주문은 고객 컨텍스트에서 시작됩니다. 자세한 내용은 XPath 쿼리 사용 소개(SQLXML 4.0)를 참조하세요.

위치 단계

위치 경로(절대 또는 상대)는 다음 세 부분을 포함하는 위치 단계로 구성됩니다.

  • 축은 위치 단계에서 선택되는 노드와 컨텍스트 노드 간의 트리 관계를 지정합니다. 부모, 자식, 특성자체 축이 지원됩니다. 자식 축이 위치 경로에 지정된 경우 쿼리에서 선택한 모든 노드는 컨텍스트 노드의 자식입니다. 부모 축을 지정하면 선택한 노드는 컨텍스트 노드의 부모 노드입니다. 특성 축을 지정하면 선택한 노드는 컨텍스트 노드의 특성입니다.

  • 노드 테스트

    노드 테스트는 위치 단계에서 선택한 노드 유형을 지정합니다. 모든 축(자식, 부모, 특성자체)에는 주 노드 유형이 있습니다. 특성 축의 경우 주 노드 유형은 특성>입니다<. 부모, 자식자체 축의 경우 주 노드 형식은 요소>입니다<.

    예를 들어 위치 경로가 child::Customer<지정하는 경우 컨텍스트 노드의 Customer> 요소 자식이 선택됩니다. 자식 축에는 <요소가> 주 노드 형식이므로 Customer가 요소> 노드인 경우 노드 테스트인 Customer는 TRUE입니다<.

  • 선택 조건자(0개 이상)

    조건자는 축과 관련하여 노드 집합을 필터링합니다. XPath 식에서 선택 조건자를 지정하는 것은 SELECT 문에서 WHERE 절을 지정하는 것과 비슷합니다. 조건자는 대괄호 사이에 지정됩니다. 선택 조건자에 지정된 테스트를 적용하면 노드 테스트에서 반환되는 노드가 필터링됩니다. 노드 집합의 각 노드를 필터링하기 위해 해당 노드가 컨텍스트 노드로 사용되고 노드 집합의 노드 수가 컨텍스트 크기로 사용되어 조건자 식이 평가됩니다. 조건자 식이 해당 노드에 대해 TRUE로 평가되면 노드가 결과 노드 집합에 포함됩니다.

    위치 단계의 구문은 두 개의 콜론(::)으로 구분된 축 이름과 노드 테스트, 그리고 각각 대괄호로 묶인 0개 이상의 식으로 구성됩니다. 예를 들어 XPath 식(위치 경로) 자식::Customer[@CustomerID='ALFKI'] 는 컨텍스트 노드의 모든 <Customer> 요소 자식을 선택합니다. 그런 다음 조건자의 테스트가 노드 집합에 적용되어 CustomerID 특성에 <대한 특성 값이 'ALFKI'인 Customer> 요소 노드만 반환합니다.

섹션 내용

축 지정(SQLXML 4.0)
축을 지정하는 예제를 제공합니다.

위치 경로에서 노드 테스트 지정(SQLXML 4.0)
노드 테스트를 지정하는 예를 제공합니다.

위치 경로에서 선택 조건자 지정(SQLXML 4.0)
선택 조건자를 지정하는 예를 제공합니다.