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')
))%>