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 함수가 사용되었습니다.