XPath 표현식은 데이터에 액세스하거나 조건이 충족되었는지 판별하기 위해 메시지 또는 변수에서 하나 이상의 노드를 식별해야 할 경우 오케스트레이션 및 플랫 파일 스키마 정의에 사용됩니다.
XPath는 XML 문서에서 노드 또는 노드 세트를 식별하는 문법을 정의하는 XML 표준입니다.
다음과 같은 분할창에 생성되는 기본 XPath 표현식을 편집할 수 있습니다.
XPath 2.0이 지원됩니다.
XPath는 XML 요소 및 속성의 위치를 URL과 비슷한 경로 또는 로컬 파일 시스템의 디렉토리로 나타냅니다. 각 요소 또는 속성은 루트 노드로 시작되는 트리의 노드입니다. 루트 노드에는 전체 트리가 포함되어 있으므로 분기의 경로를 따라 트리 내에 있는 모든 노드를 찾을 수 있습니다.
기본 구문은 다음과 같습니다.
/root-node/child-node/.../final-element-node/root-node/child-node/.../final-element-node/@attribute-node
메시지를 설명하는 XML 스키마에서 이 경로를 판별합니다.
XPath에서는 @ 기호를 속기로 사용하여 속성을 식별합니다. @ 기호 또는 attribute:: 접두부가 없는 경로에서는 기본적으로 요소를 식별합니다. 예를 들면 다음과 같습니다.
/PackingSlip/PONumber/ItemPackingSlip 루트 노드에 있는 PONumber 안에서 발견된 항목 요소를 식별합니다.
노드 이름은 네임스페이스와 함께 나타날 수도 있습니다(예: tns:OrderNumber 또는 *:Item). 콜론까지의 이름 부분은 네임스페이스를 식별하는 접두부이고 콜론은 네임스페이스와 노드의 로컬 이름 사이의 구분 기호입니다.
네임스페이스는 문서가 여러 스키마의 컨텐츠를 공유할 때 요소 또는 속성을 고유하게 식별하는 데 사용되는 XML 표준입니다. Cast Iron® Studio는 구성 문서에 사용된 XML 스키마의 네임스페이스를 자동으로 지정하고 관리합니다.
특정 조건이 충족될 때만 노드를 선택해야 하는 경우가 있습니다. 이러한 선택 조건을 술어라고 합니다.
술어는 다음과 같이 대괄호 안에 정의합니다.
/PV1/PatientDepartment[text()='Nursery']이 표현식은 노드의 데이터가 Nursery일 때만 PatientDepartment 노드를 선택합니다.
/Order/OrderDetail/Item[5]이 표현식은 OrderDetail 내에서 5번째 항목 노드를 선택합니다.
XPath 표현식을 값이 true 또는 false인 부울 조건으로 사용할 수도 있습니다. 이러한 표현식을 사용하여 특정 노드를 선택하거나 충족해야 할 조건을 간단하게 식별할 수 있습니다. 표현식 빌더를 사용하면 조건을 정의하는 데 유용합니다. 표현식에 포함할 수 있는 XPath 연산자는 다음과 같습니다.
concat('New Order # ',/Orders/Order/OrdNumber)
count(/Orders/Order)
normalize-space(/Job/Address/Line1)
number(/PurchaseOrder/POTotal)
string(/PurchaseOrder/VendorID)
translate(/Issue/ShortDescr,
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
전체 XPath 함수 목록을 보려면 XPath 스펙( http://www.w3.org/TR/xpath)을 참조하십시오.
XPath 평가 프로그램을 사용하여 XML 테스트에 대해 XPath 표현식을 테스트할 수 있습니다.