기본 XPath 표현식

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/Item

PackingSlip 루트 노드에 있는 PONumber 안에서 발견된 항목 요소를 식별합니다.

노드 이름 및 XML 네임스페이스

노드 이름은 네임스페이스와 함께 나타날 수도 있습니다(예: tns:OrderNumber 또는 *:Item). 콜론까지의 이름 부분은 네임스페이스를 식별하는 접두부이고 콜론은 네임스페이스와 노드의 로컬 이름 사이의 구분 기호입니다.

네임스페이스는 문서가 여러 스키마의 컨텐츠를 공유할 때 요소 또는 속성을 고유하게 식별하는 데 사용되는 XML 표준입니다. Cast Iron® Studio는 구성 문서에 사용된 XML 스키마의 네임스페이스를 자동으로 지정하고 관리합니다.  

참고: WSDL 정의에 있는 각 스키마를 네임스페이스로 정의할 수 있습니다.

술어를 사용하여 조건부로 노드 선택

특정 조건이 충족될 때만 노드를 선택해야 하는 경우가 있습니다. 이러한 선택 조건을 술어라고 합니다.

술어는 다음과 같이 대괄호 안에 정의합니다.

/PV1/PatientDepartment[text()='Nursery']

이 표현식은 노드의 데이터가 Nursery일 때만 PatientDepartment 노드를 선택합니다.

/Order/OrderDetail/Item[5]

이 표현식은 OrderDetail 내에서 5번째 항목 노드를 선택합니다.

조건의 올바른 연산자

XPath 표현식을 값이 true 또는 false인 부울 조건으로 사용할 수도 있습니다. 이러한 표현식을 사용하여 특정 노드를 선택하거나 충족해야 할 조건을 간단하게 식별할 수 있습니다. 표현식 빌더를 사용하면 조건을 정의하는 데 유용합니다. 표현식에 포함할 수 있는 XPath 연산자는 다음과 같습니다.

XPath 표현식의 함수

XPath에는 노드의 데이터를 조작할 수 있는 함수도 포함됩니다. 함수는 일부 상수 텍스트와 메시지의 동적 데이터를 포함하는 제목 행을 작성하는 데 유용합니다. XPath 함수를 사용하여 요구사항을 처리할 수도 있습니다. 예를 들어, 공백을 트리밍하거나 작업 키가 문자열 데이터 유형인지 확인합니다. 다음은 몇 가지 공통 XPath 함수입니다.
concat()
매개변수를 지정하는 순서대로 노드의 데이터와 필요한 만큼의 문자열을 결합할 수 있습니다. XPath 경로를 매개변수로 지정할 수 있습니다. 상수 텍스트 문자열은 따옴표 안에 지정하십시오. 예를 들면 다음과 같습니다.

concat('New Order # ',/Orders/Order/OrdNumber)

count()
지정하는 매개변수에 있는 노드의 수를 셀 수 있습니다. 일반적으로, 매개변수는 여러 노드(예: PODetail의 하위인 모든 항목 노드)를 식별하는 XPath 경로 표현식입니다. 예:

count(/Orders/Order)

normalize-space()
입력 매개변수의 모든 선행 및 후미 공백 문자를 트리밍하며, 입력 내에 있는 모든 공백을 단일 공백 문자 및 단일 행 피드로 표준화합니다. 예:

normalize-space(/Job/Address/Line1)

number()
매개변수를 숫자 데이터 유형으로 변환합니다. 이 함수를 사용하여 문자열이 숫자로 처리되도록 할 수 있습니다. 예:

number(/PurchaseOrder/POTotal)

string()
매개변수를 문자열 데이터 유형으로 변환합니다. 이 함수를 사용하여 숫자 또는 데이터 노드가 문자열로 처리되도록 할 수 있습니다. 예:

string(/PurchaseOrder/VendorID)

translate()
개별 문자를 사용자가 지정하는 첫 번째 매개변수의 다른 문자로 바꿉니다. 두 번째 매개변수는 바꿀 문자이며 세 번째 매개변수는 대체 문자입니다. 이 함수는 작업 키를 모두 대문자로 사용하려는 경우에 유용합니다. 예를 들면 다음과 같습니다.

translate(/Issue/ShortDescr,

'abcdefghijklmnopqrstuvwxyz',

'ABCDEFGHIJKLMNOPQRSTUVWXYZ')

전체 XPath 함수 목록을 보려면 XPath 스펙( http://www.w3.org/TR/xpath)을 참조하십시오.

XPath 표현식 테스트

XPath 평가 프로그램을 사용하여 XML 테스트에 대해 XPath 표현식을 테스트할 수 있습니다.




피드백 | 주의사항


시간소인 아이콘 마지막 업데이트 날짜: 2013년 11월 6일 수요일