CDATA関数を必要とするメッセージ・コンテンツに対する動的HTMLの使用

emailアクティビティのメッセージ・コンテンツについてHTMLが動的に生成される場合は、(XSLT、ファイルの読取りなどと同様に)そのHTMLをCDATA関数にラップする必要があります。これにより、メッセージ本文のXML/HTMLコンテンツとBPELの内部XMLデータ構造の間の競合が回避されます。

たとえば、次の例に示すように、emailアクティビティ内のメッセージ・コンテンツに対してappend操作を使用すると仮定します。

<bpelx:append> 
  <bpelx:from 
    expression="ora:processXSLT('xsl/email.xslt',bpws:getVariableData('Variable_1'
    ))"/> 
  <bpelx:to variable="varNotificationReq" part="EmailPayload"
    query="/EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart/ns1:BodyPart[1]
    /ns1:ContentBody"/>
</bpelx:append>

正しく機能するためには、次の例に示すように、processXSLT()関数の出力をCDATA()関数に渡す必要があります。

<%ora:toCDATA(xdk:processXSLT('xsl/email.xslt', 
 bpws:getVariableData('inputVariable','payload','/client:process/client:input') 
 ))%>