Author: buildbot
Date: Mon Dec 31 10:53:51 2012
New Revision: 844386

Log:
Staging update by buildbot for ode

Modified:
    websites/staging/ode/trunk/content/   (props changed)
    websites/staging/ode/trunk/content/extensions/process-contexts.html

Propchange: websites/staging/ode/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Dec 31 10:53:51 2012
@@ -1 +1 @@
-1427075
+1427078

Modified: websites/staging/ode/trunk/content/extensions/process-contexts.html
==============================================================================
--- websites/staging/ode/trunk/content/extensions/process-contexts.html 
(original)
+++ websites/staging/ode/trunk/content/extensions/process-contexts.html Mon Dec 
31 10:53:51 2012
@@ -28,7 +28,7 @@
               <li class="">
                 <a href="/getting-ode.html">Getting ODE</a>
               </li>
-              <li class=" dropdown">
+              <li class="active dropdown">
                 <a href="/user-guide.html" class="dropdown-toggle" 
data-toggle="dropdown" data-target="#">Documentation<b class="caret"></b></a>
                 <ul class="dropdown-menu">
                   <li><a href="/userguide/">User Guide</a></li>
@@ -109,65 +109,69 @@ Contexts can be used to classify or tag 
 <h3 id="anchorcontextscontexts">{anchor:contexts}Contexts</h3>
 <p>Contexts are modeled as a bag of metadata information represented as 
key-value pairs <code>(string, string)</code> and are attached to partner 
links. Contexts have a name attribute. Contexts are persisted in ODE's runtime 
database. Long values are stored as a CLOB whereas shorter values (&lt; 250 
characters) are automatically stored in an indexed VARCHAR field.</p>
 <p>Since contexts should also be accessible in BPEL, there is also an 
XML-based representation. It is defined as follows, the according XMLSchema can 
be found <a 
href="http://svn.apache.org/viewvc/ode/trunk/bpel-schemas/src/main/xsd/contexts.xsd?view=markup";>here</a></p>
-<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV 
class="codeHeader panelHeader" style="border-bottom-width: 
1px;border-bottom-style: solid;"><B>"Example: Context data in its XML 
representation"</B></DIV><DIV class="codeContent panelContent">
-    &lt;?xml version="1.0" encoding="UTF-8"?&gt;
-    <ctx:contexts xmlns:ctx="http://www.apache.org/ode/schemas/context/2009"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://www.apache.org/ode/schemas/context/2009 contexts.xsd 
">
-      <ctx:context name="foo">
-        <ctx:value key="bar">baz</ctx:value>
-      </ctx:context>
-      <ctx:context name="tracing">
-        <ctx:value key="id">0815</ctx:value>
-      </ctx:context>
-    </ctx:contexts></p>
+<div class="caption">"Example: Context data in its XML representation"</div>
+
+<div class="codehilite"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;</span>
+<span class="nt">&lt;ctx:contexts</span> <span 
class="na">xmlns:ctx=</span><span 
class="s">&quot;http://www.apache.org/ode/schemas/context/2009&quot;</span> 
<span class="na">xmlns:xsi=</span><span 
class="s">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span> <span 
class="na">xsi:schemaLocation=</span><span 
class="s">&quot;http://www.apache.org/ode/schemas/context/2009 contexts.xsd 
&quot;</span><span class="nt">&gt;</span>
+  <span class="nt">&lt;ctx:context</span> <span class="na">name=</span><span 
class="s">&quot;foo&quot;</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;ctx:value</span> <span class="na">key=</span><span 
class="s">&quot;bar&quot;</span><span class="nt">&gt;</span>baz<span 
class="nt">&lt;/ctx:value&gt;</span>
+  <span class="nt">&lt;/ctx:context&gt;</span>
+  <span class="nt">&lt;ctx:context</span> <span class="na">name=</span><span 
class="s">&quot;tracing&quot;</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;ctx:value</span> <span class="na">key=</span><span 
class="s">&quot;id&quot;</span><span class="nt">&gt;</span>0815<span 
class="nt">&lt;/ctx:value&gt;</span>
+  <span class="nt">&lt;/ctx:context&gt;</span>
+<span class="nt">&lt;/ctx:contexts&gt;</span>
+</pre></div>
+
+
 <p><a name="ProcessContexts-ContextInterceptors"></a></p>
 <h3 id="context-interceptors">Context Interceptors</h3>
 <p>At the transport level, message headers can be translated to context data 
and contexts can be translated to message headers. Context interceptors define 
how the headers are set to/from contexts and which contexts are affected. 
Interceptors are Java classes that implement the following interface. They can 
be registered either globally in ode's property configuration file or per 
process in the <code>deploy.xml</code>.</p>
-<div class="codehilite"><pre><span class="o">/**</span>
- <span class="o">*</span> <span class="n">Context</span> <span 
class="n">Interceptors</span> <span class="n">can</span> <span 
class="nb">map</span> <span class="n">message</span> <span 
class="n">headers</span> <span class="p">(</span><span class="ow">or</span> 
<span class="n">even</span> <span class="n">payload</span><span 
class="p">)</span> <span class="n">to</span>
- <span class="o">*</span> <span class="n">context</span> <span 
class="n">information</span> <span class="n">that</span> <span 
class="n">is</span> <span class="n">attached</span> <span class="n">to</span> 
<span class="n">process</span> <span class="n">models</span><span 
class="o">.</span>
- <span class="o">*/</span>
-<span class="n">public</span> <span class="n">interface</span> <span 
class="n">ContextInterceptor</span> <span class="p">{</span>
-
-    <span class="o">/**</span>
-     <span class="o">*</span> <span class="n">Configures</span> <span 
class="n">the</span> <span class="n">interceptor</span><span class="o">.</span> 
<span class="n">This</span> <span class="n">method</span> <span 
class="n">will</span> <span class="n">be</span> <span class="n">called</span> 
<span class="n">immediatedly</span> <span class="n">after</span>
-     <span class="o">*</span> <span class="n">instantiation</span> <span 
class="n">of</span> <span class="n">the</span> <span 
class="n">implementing</span> <span class="n">class</span><span 
class="o">.</span> <span class="n">The</span> <span class="n">passed</span> 
<span class="n">element</span> <span class="n">will</span> <span 
class="n">contain</span> <span class="n">the</span>
-     <span class="o">*</span> <span class="n">configuration</span> <span 
class="n">elements</span> <span class="n">given</span> <span 
class="n">in</span> <span class="n">the</span> <span 
class="n">deploy</span><span class="o">.</span><span class="n">xml</span><span 
class="o">.</span> <span class="n">In</span> <span class="k">case</span> <span 
class="n">of</span> <span class="n">a</span> <span class="n">declaration</span> 
<span class="n">in</span>
-     <span class="o">*</span> <span class="n">ode</span><span 
class="o">-</span><span class="n">xxx</span><span class="o">.</span><span 
class="n">properties</span><span class="p">,</span> <span class="n">the</span> 
<span class="n">method</span> <span class="n">won</span><span 
class="err">&#39;</span><span class="n">t</span> <span class="n">be</span> 
<span class="n">called</span><span class="o">.</span>
-     <span class="o">*</span>
-     <span class="o">*</span> <span class="nv">@param</span> <span 
class="n">configuration</span>
-     <span class="o">*/</span>
-    <span class="n">void</span> <span class="n">configure</span><span 
class="p">(</span><span class="n">Element</span> <span 
class="n">configuration</span><span class="p">);</span>
-
-    <span class="o">/**</span>
-     <span class="o">*</span> <span class="n">Translates</span> <span 
class="n">the</span> <span class="n">data</span> <span class="n">stored</span> 
<span class="n">within</span> <span class="n">the</span> <span 
class="n">context</span> <span class="n">object</span> <span 
class="n">into</span> <span class="n">SOAP</span> <span 
class="n">headers</span> <span class="ow">or</span>
-     <span class="o">*</span> <span class="n">vice</span> <span 
class="n">versa</span><span class="o">.</span>
-     <span class="o">*</span>
-     <span class="o">*</span> <span class="n">If</span> <span 
class="n">direction</span> <span class="n">is</span> <span 
class="n">OUTBOUND</span><span class="p">,</span> <span 
class="n">context</span> <span class="n">data</span> <span 
class="n">must</span> <span class="n">be</span> <span 
class="n">converted</span> <span class="n">into</span> <span 
class="n">message</span> <span class="n">headers</span>
-     <span class="o">*</span> <span class="k">if</span> <span 
class="n">direction</span> <span class="n">is</span> <span 
class="n">INBOUND</span><span class="p">,</span> <span class="n">context</span> 
<span class="n">data</span> <span class="n">must</span> <span 
class="n">be</span> <span class="n">extracted</span> <span 
class="n">from</span> <span class="n">the</span> <span 
class="n">message</span><span class="o">.</span>
-     <span class="o">*/</span>
-    <span class="n">void</span> <span class="n">process</span><span 
class="p">(</span><span class="n">ContextData</span> <span 
class="n">ctx</span><span class="p">,</span> <span 
class="n">MessageExchangeDAO</span> <span class="n">mexdao</span><span 
class="p">,</span> <span class="n">IOContext</span><span 
class="o">.</span><span class="n">Direction</span> <span 
class="n">dir</span><span class="p">)</span> <span class="n">throws</span> 
<span class="n">ContextException</span><span class="p">;</span>
-<span class="p">}</span>
+<div class="codehilite"><pre><span class="cm">/**</span>
+<span class="cm"> * Context Interceptors can map message headers (or even 
payload) to</span>
+<span class="cm"> * context information that is attached to process 
models.</span>
+<span class="cm"> */</span>
+<span class="kd">public</span> <span class="kd">interface</span> <span 
class="nc">ContextInterceptor</span> <span class="o">{</span>
+
+    <span class="cm">/**</span>
+<span class="cm">     * Configures the interceptor. This method will be called 
immediatedly after</span>
+<span class="cm">     * instantiation of the implementing class. The passed 
element will contain the</span>
+<span class="cm">     * configuration elements given in the deploy.xml. In 
case of a declaration in</span>
+<span class="cm">     * ode-xxx.properties, the method won&#39;t be 
called.</span>
+<span class="cm">     *</span>
+<span class="cm">     * @param configuration</span>
+<span class="cm">     */</span>
+    <span class="kt">void</span> <span class="nf">configure</span><span 
class="o">(</span><span class="n">Element</span> <span 
class="n">configuration</span><span class="o">);</span>
+
+    <span class="cm">/**</span>
+<span class="cm">     * Translates the data stored within the context object 
into SOAP headers or</span>
+<span class="cm">     * vice versa.</span>
+<span class="cm">     *</span>
+<span class="cm">     * If direction is OUTBOUND, context data must be 
converted into message headers</span>
+<span class="cm">     * if direction is INBOUND, context data must be 
extracted from the message.</span>
+<span class="cm">     */</span>
+    <span class="kt">void</span> <span class="nf">process</span><span 
class="o">(</span><span class="n">ContextData</span> <span 
class="n">ctx</span><span class="o">,</span> <span 
class="n">MessageExchangeDAO</span> <span class="n">mexdao</span><span 
class="o">,</span> <span class="n">IOContext</span><span 
class="o">.</span><span class="na">Direction</span> <span 
class="n">dir</span><span class="o">)</span> <span class="kd">throws</span> 
<span class="n">ContextException</span><span class="o">;</span>
+<span class="o">}</span>
 </pre></div>
 
 
 <p>There is also a more high-level interface defined in terms of an abstract 
class:</p>
-<div class="codehilite"><pre><span class="n">public</span> <span 
class="n">abstract</span> <span class="n">class</span> <span 
class="n">AbstractContextInterceptor</span> <span class="n">implements</span> 
<span class="n">ContextInterceptor</span> <span class="p">{</span>
+<div class="codehilite"><pre><span class="kd">public</span> <span 
class="kd">abstract</span> <span class="kd">class</span> <span 
class="nc">AbstractContextInterceptor</span> <span class="kd">implements</span> 
<span class="n">ContextInterceptor</span> <span class="o">{</span>
 
-    <span class="n">public</span> <span class="n">abstract</span> <span 
class="n">void</span> <span class="n">configure</span><span 
class="p">(</span><span class="n">Element</span> <span 
class="n">configuration</span><span class="p">);</span>
+    <span class="kd">public</span> <span class="kd">abstract</span> <span 
class="kt">void</span> <span class="nf">configure</span><span 
class="o">(</span><span class="n">Element</span> <span 
class="n">configuration</span><span class="o">);</span>
 
-    <span class="o">/**</span>
-     <span class="o">*</span> <span class="nv">@see</span> <span 
class="n">org</span><span class="o">.</span><span class="n">apache</span><span 
class="o">.</span><span class="n">ode</span><span class="o">.</span><span 
class="n">bpel</span><span class="o">.</span><span 
class="n">context</span><span class="o">.</span><span 
class="n">ContextInterceptor</span><span 
class="c1">#process(org.apache.ode.bpel.rapi.ContextData, 
org.apache.ode.bpel.dao.MessageExchangeDAO, 
org.apache.ode.bpel.rapi.IOContext.Direction)</span>
-     <span class="o">*/</span>
-    <span class="n">public</span> <span class="n">void</span> <span 
class="n">process</span><span class="p">(</span><span 
class="n">ContextData</span> <span class="n">ctx</span><span class="p">,</span> 
<span class="n">MessageExchangeDAO</span> <span class="n">mexdao</span><span 
class="p">,</span> <span class="n">IOContext</span><span 
class="o">.</span><span class="n">Direction</span> <span 
class="n">dir</span><span class="p">)</span> <span class="n">throws</span> 
<span class="n">ContextException</span> <span class="p">{</span>
-        <span class="sr">//</span> <span class="n">dispatch</span>
-    <span class="p">}</span>
-
-    <span class="n">abstract</span> <span class="n">void</span> <span 
class="n">onPartnerInvoke</span><span class="p">(</span><span 
class="n">ContextData</span> <span class="n">ctx</span><span class="p">,</span> 
<span class="n">Message</span> <span class="n">msg</span><span 
class="p">);</span>
-    <span class="n">abstract</span> <span class="n">void</span> <span 
class="n">onPartnerReply</span><span class="p">(</span><span 
class="n">ContextData</span> <span class="n">ctx</span><span class="p">,</span> 
<span class="n">Message</span> <span class="n">msg</span><span 
class="p">);</span>
-    <span class="n">abstract</span> <span class="n">void</span> <span 
class="n">onProcessInvoke</span><span class="p">(</span><span 
class="n">ContextData</span> <span class="n">ctx</span><span class="p">,</span> 
<span class="n">Message</span> <span class="n">msg</span><span 
class="p">);</span>
-    <span class="n">abstract</span> <span class="n">void</span> <span 
class="n">onProcessReply</span><span class="p">(</span><span 
class="n">ContextData</span> <span class="n">ctx</span><span class="p">,</span> 
<span class="n">Message</span> <span class="n">msg</span><span 
class="p">);</span>
+    <span class="cm">/**</span>
+<span class="cm">     * @see 
org.apache.ode.bpel.context.ContextInterceptor#process(org.apache.ode.bpel.rapi.ContextData,
 org.apache.ode.bpel.dao.MessageExchangeDAO, 
org.apache.ode.bpel.rapi.IOContext.Direction)</span>
+<span class="cm">     */</span>
+    <span class="kd">public</span> <span class="kt">void</span> <span 
class="nf">process</span><span class="o">(</span><span 
class="n">ContextData</span> <span class="n">ctx</span><span class="o">,</span> 
<span class="n">MessageExchangeDAO</span> <span class="n">mexdao</span><span 
class="o">,</span> <span class="n">IOContext</span><span 
class="o">.</span><span class="na">Direction</span> <span 
class="n">dir</span><span class="o">)</span> <span class="kd">throws</span> 
<span class="n">ContextException</span> <span class="o">{</span>
+        <span class="c1">// dispatch</span>
+    <span class="o">}</span>
+
+    <span class="kd">abstract</span> <span class="kt">void</span> <span 
class="nf">onPartnerInvoke</span><span class="o">(</span><span 
class="n">ContextData</span> <span class="n">ctx</span><span class="o">,</span> 
<span class="n">Message</span> <span class="n">msg</span><span 
class="o">);</span>
+    <span class="kd">abstract</span> <span class="kt">void</span> <span 
class="nf">onPartnerReply</span><span class="o">(</span><span 
class="n">ContextData</span> <span class="n">ctx</span><span class="o">,</span> 
<span class="n">Message</span> <span class="n">msg</span><span 
class="o">);</span>
+    <span class="kd">abstract</span> <span class="kt">void</span> <span 
class="nf">onProcessInvoke</span><span class="o">(</span><span 
class="n">ContextData</span> <span class="n">ctx</span><span class="o">,</span> 
<span class="n">Message</span> <span class="n">msg</span><span 
class="o">);</span>
+    <span class="kd">abstract</span> <span class="kt">void</span> <span 
class="nf">onProcessReply</span><span class="o">(</span><span 
class="n">ContextData</span> <span class="n">ctx</span><span class="o">,</span> 
<span class="n">Message</span> <span class="n">msg</span><span 
class="o">);</span>
 
-<span class="p">}</span>
+<span class="o">}</span>
 </pre></div>
 
 
@@ -179,20 +183,30 @@ Contexts can be used to classify or tag 
 <em> Engine-wide registration - the context interceptor will be available for 
all processes that are deployed to this ODE instance.
 </em> Per-process registration - the context interceptor will only be 
available for a particular process model.</p>
 <p>Engine-wide context interceptors are registered in ODE's properties file 
(either <code>ode-axis2.properties</code> or <code>ode-jbi.properties</code>) 
using the properties key <code>context.interceptors</code>.</p>
-<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV 
class="codeHeader panelHeader" style="border-bottom-width: 
1px;border-bottom-style: solid;"><B>ode-axis2.properties</B></DIV><DIV 
class="codeContent panelContent">
-    ...
-    ode-axis2.context.interceptors = 
my.full.qualified.context.interceptor.class.name
-    ...</p>
-<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV 
class="codeHeader panelHeader" style="border-bottom-width: 
1px;border-bottom-style: solid;"><B>ode-jbi.properties</B></DIV><DIV 
class="codeContent panelContent">
-    ...
-    ode-jbi.context.interceptors = 
my.full.qualified.context.interceptor.class.name
-    ...</p>
+<div class="caption">ode-axis2.properties</div>
+
+<div class="codehilite"><pre>...
+ode-axis2.context.interceptors = 
my.full.qualified.context.interceptor.class.name
+...
+</pre></div>
+
+
+<div class="caption">ode-jbi.properties</div>
+
+<div class="codehilite"><pre>...
+ode-jbi.context.interceptors = my.full.qualified.context.interceptor.class.name
+...
+</pre></div>
+
+
 <p>Per-process context interceptors are declared in ODE's deployment 
descriptor deploy.xml:</p>
-<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV 
class="codeHeader panelHeader" style="border-bottom-width: 
1px;border-bottom-style: solid;"><B>deploy.xml</B></DIV><DIV class="codeContent 
panelContent">
-    <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03";
-        xmlns:pns="http://ode/bpel/unit-test";
-        xmlns:wns="http://ode/bpel/unit-test.wsdl";></p>
-<div class="codehilite"><pre>    <span class="nt">&lt;process</span> <span 
class="na">name=</span><span class="s">&quot;pns:HelloWorld2&quot;</span><span 
class="nt">&gt;</span>
+<div class="caption">deploy.xml</div>
+
+<div class="codehilite"><pre><span class="nt">&lt;deploy</span> <span 
class="na">xmlns=</span><span 
class="s">&quot;http://www.apache.org/ode/schemas/dd/2007/03&quot;</span>
+    <span class="na">xmlns:pns=</span><span 
class="s">&quot;http://ode/bpel/unit-test&quot;</span>
+    <span class="na">xmlns:wns=</span><span 
class="s">&quot;http://ode/bpel/unit-test.wsdl&quot;</span><span 
class="nt">&gt;</span>
+
+    <span class="nt">&lt;process</span> <span class="na">name=</span><span 
class="s">&quot;pns:HelloWorld2&quot;</span><span class="nt">&gt;</span>
         <span class="nt">&lt;active&gt;</span>true<span 
class="nt">&lt;/active&gt;</span>
         <span class="nt">&lt;provide</span> <span 
class="na">partnerLink=</span><span 
class="s">&quot;helloPartnerLink&quot;</span><span class="nt">&gt;</span>
             <span class="nt">&lt;service</span> <span 
class="na">name=</span><span class="s">&quot;wns:HelloService&quot;</span> 
<span class="na">port=</span><span class="s">&quot;HelloPort&quot;</span><span 
class="nt">/&gt;</span>
@@ -221,6 +235,7 @@ Contexts can be used to classify or tag 
     <span class="nt">&lt;ctx:propagate</span> <span 
class="na">ctx:fromPartnerLink=</span><span 
class="s">&quot;testPartnerLink&quot;</span> <span 
class="na">ctx:context=</span><span class="s">&quot;*&quot;</span><span 
class="nt">/&gt;</span>
 <span class="nt">&lt;/bpel:invoke&gt;</span>
 
+:::xml
 <span class="nt">&lt;bpel:reply</span> <span class="err">...</span><span 
class="nt">&gt;</span>
     <span class="nt">&lt;ctx:propagate</span> <span 
class="na">ctx:fromPartnerLink=</span><span 
class="s">&quot;testPartnerLink&quot;</span> <span 
class="na">ctx:context=</span><span class="s">&quot;*&quot;</span><span 
class="nt">/&gt;</span>
 <span class="nt">&lt;/bpel:reply&gt;</span>
@@ -239,16 +254,18 @@ Contexts can be used to classify or tag 
 <p><a name="ProcessContexts-AccessingandAssigningContextData"></a></p>
 <h4 id="accessing-and-assigning-context-data">Accessing and Assigning Context 
Data</h4>
 <p>Context data should be accessible within BPEL processes and from the 
outside, e.g. for management purposes. For the former, the 
<code>&lt;assign&gt;</code> activity has been extended to support copying data 
from and to contexts of a partner link. The according 
<code>from</code>/<code>to</code> specs are defined as follows:</p>
-<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV 
class="codeHeader panelHeader" style="border-bottom-width: 
1px;border-bottom-style: solid;"><B>"from/to specs for the work with context 
data"</B></DIV><DIV class="codeContent panelContent">
-    <assign>
-        <!-- copy 'tracing' and 'security' contexts to a variable. -->
-        <copy>
-            <from partnerLink="pl1" context="tracing security"/>
-            <to>$var</to>
-        </copy></p>
-<div class="codehilite"><pre>    <span class="c">&lt;!-- copy context data 
from </span><span class="p">$</span><span class="nv">var</span><span class="c"> 
to pl1. Only &#39;tracing&#39; and &#39;security&#39; contexts will be written, 
other contexts remain unchanged. --&gt;</span>
+<div class="caption">"from/to specs for the work with context data"</div>
+
+<div class="codehilite"><pre><span class="nt">&lt;assign&gt;</span>
+    <span class="c">&lt;!-- copy &#39;tracing&#39; and &#39;security&#39; 
contexts to a variable. --&gt;</span>
     <span class="nt">&lt;copy&gt;</span>
-        <span class="nt">&lt;from&gt;</span><span class="p">$</span><span 
class="nv">var</span><span class="nt">&lt;/from&gt;</span>
+        <span class="nt">&lt;from</span> <span 
class="na">partnerLink=</span><span class="s">&quot;pl1&quot;</span> <span 
class="na">context=</span><span class="s">&quot;tracing 
security&quot;</span><span class="nt">/&gt;</span>
+        <span class="nt">&lt;to&gt;</span>$var<span 
class="nt">&lt;/to&gt;</span>
+    <span class="nt">&lt;/copy&gt;</span>
+
+    <span class="c">&lt;!-- copy context data from $var to pl1. Only 
&#39;tracing&#39; and &#39;security&#39; contexts will be written, other 
contexts remain unchanged. --&gt;</span>
+    <span class="nt">&lt;copy&gt;</span>
+        <span class="nt">&lt;from&gt;</span>$var<span 
class="nt">&lt;/from&gt;</span>
         <span class="nt">&lt;to</span> <span 
class="na">partnerLink=</span><span class="s">&quot;pl1&quot;</span> <span 
class="na">context=</span><span class="s">&quot;tracing 
security&quot;</span><span class="nt">/&gt;</span>
     <span class="nt">&lt;/copy&gt;</span>
 
@@ -275,22 +292,28 @@ Contexts can be used to classify or tag 
 
 
 <div class="alert alert-info">
-    - `context="*"` in `from`\-specs selects all contexts.
-    - `context="*"` in `to`\-specs replaces existing contexts with context 
data selected by the `from`\-spec.
-    - `context="+"` in `to`\-specs merges existing contexts with context data 
selected by the `from`\-spec.
+    <ul>
+        <li><code>context="*"</code> in <code>from</code>-specs selects all 
contexts.</li>
+        <li><code>context="*"</code> in <code>to</code>-specs replaces 
existing contexts with context data selected by the <code>from</code>-spec.</li>
+        <li><code>context="+"</code> in <code>to</code>-specs merges existing 
contexts with context data selected by the <code>from</code>-spec.</li>
+    <ul>
 </div>
 
 <p>When assigning context data to variables, the variable should be declared 
to be an instance of the context XSD (see <a href="#contexts.html">Contexts 
section</a>). It is also possible to copy only fragments of a context data set 
by applying an XPath query to the <code>from</code>-spec:</p>
-<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV 
class="codeHeader panelHeader" style="border-bottom-width: 
1px;border-bottom-style: solid;"><B>"Applying XPath-query to context 
data"</B></DIV><DIV class="codeContent panelContent">
-    <assign>
-        <!-- copy tracing id to a string variable. -->
-        <copy>
-            <from partnerLink="pl1" context="*">
-                
<query>/ctx:contexts/ctx:context[@name='tracing']/ctx:value[@key='id']</query>
-            </from>
-            <to>$tracingId</to>
-        </copy>
-    </assign></p>
+<div class="caption">"Applying XPath-query to context data"</div>
+
+<div class="codehilite"><pre><span class="nt">&lt;assign&gt;</span>
+    <span class="c">&lt;!-- copy tracing id to a string variable. --&gt;</span>
+    <span class="nt">&lt;copy&gt;</span>
+        <span class="nt">&lt;from</span> <span 
class="na">partnerLink=</span><span class="s">&quot;pl1&quot;</span> <span 
class="na">context=</span><span class="s">&quot;*&quot;</span><span 
class="nt">&gt;</span>
+            <span 
class="nt">&lt;query&gt;</span>/ctx:contexts/ctx:context[@name=&#39;tracing&#39;]/ctx:value[@key=&#39;id&#39;]<span
 class="nt">&lt;/query&gt;</span>
+        <span class="nt">&lt;/from&gt;</span>
+        <span class="nt">&lt;to&gt;</span><span class="p">$</span><span 
class="nv">tracingId</span><span class="nt">&lt;/to&gt;</span>
+    <span class="nt">&lt;/copy&gt;</span>
+<span class="nt">&lt;/assign&gt;</span>
+</pre></div>
+
+
 <p>In order to make context data accessible for external management tools, the 
ProcessManagement-API has been extended. TODO: to be completed.</p>
         </div>
       </div>


Reply via email to