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