BPEL-XML 데이터 조작
XPath는 주로 BPEL 프로세스에서 XML을 조작하는 데 사용됩니다. XML 조작에 사용할 수있는 몇 가지 중요한 Xpath 함수가 있습니다. 아래 기능을 살펴 보겠습니다.
bpel : getVaribleData (varName, partName, xpathStr)
XPath 표현식을 사용하여 변수에서 요소 세트를 추출하는 데 사용할 수 있습니다.
<bpel:copy>
<bpel:from>
<![CDATA[count(bpel:getVariableData(‘$Variable','$partName')/ns:return)]]>
</bpel:from>
<bpel:to variable = "itemNumber">
</bpel:to>
</bpel:copy>
bpel : getLinkStatus ()
특정 링크가 활성인지 비활성인지 여부를 평가하고 반환하는 데 사용할 수 있습니다.: getVariableProperty (문자열, 문자열)
이것은 변수에서 속성을 추출하는 데 유용합니다.: doXSLTTransform ()
이것은 XSLT 변환을 수행합니다.문자열 ()
/ text ()를 사용하는 대신 요소에서 텍스트 콘텐츠를 추출하는 데 사용할 수 있습니다.문자열 길이 ()
이 함수는 문자열의 길이를 계산하는 데 사용됩니다. 그러나! = 연산자는이 함수의 출력과 함께 작동하지 않는 것 같습니다. 따라서 사용하는 대신> 또는 <을 사용할 수 있습니다! =.부울 값
XPath 부울 함수를 사용하여 부울 값을 할당 할 수 있습니다.
<assign>
<!-- copy from boolean expression function to the variable -->
<copy>
<from expression = "true()"/>
<to variable = "output" part = "payload" query="/result/approved"/>
</copy>
</assign>
날짜 또는 시간 지정
Oracle BPEL XPath 함수 getCurrentDate, getCurrentTime 또는 getCurrentDateTime을 각각 사용하여 날짜 또는 시간 필드의 현재 값을 지정할 수 있습니다.
<!-- execute the XPath extension function getCurrentDate() -->
<assign>
<copy>
<from expression = "xpath20:getCurrentDate()"/>
<to variable = "output" part = "payload"
query = "/invoice/invoiceDate"/>
</copy>
</assign>
문자열 연결
한 문자열 변수 (또는 변수 부분 또는 필드)의 값을 다른 문자열에 복사하는 대신 먼저 여러 문자열 연결과 같은 문자열 조작을 수행 할 수 있습니다.
<assign>
<!-- copy from XPath expression to the variable -->
<copy>
<from expression = "concat('Hello ',
bpws:getVariableData('input', 'payload', '/p:name'))"/>
<to variable = "output" part = "payload" query = "/p:result/p:message"/>
</copy>
</assign>
문자열 리터럴 할당
BPEL의 변수에 문자열 리터럴을 할당 할 수 있습니다.
<assign>
<!-- copy from string expression to the variable -->
<copy>
<from expression = "'GE'"/>
<to variable = "output" part = "payload" query = "/p:result/p:symbol"/>
</copy>
</assign>
숫자 값 할당
XPath 표현식에 숫자 값을 할당 할 수 있습니다.
<assign>
<!-- copy from integer expression to the variable -->
<copy>
<from expression = "100"/>
<to variable = "output" part = "payload" query = "/p:result/p:quantity"/>
</copy>
</assign>
Note − XML 문서를 변환하는 데 몇 가지 XSLT 함수가 사용되었습니다.