You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by bu...@apache.org on 2012/12/31 11:27:53 UTC
svn commit: r844382 - in /websites/staging/ode/trunk/content: ./
extensions/external-variables.html
Author: buildbot
Date: Mon Dec 31 10:27:52 2012
New Revision: 844382
Log:
Staging update by buildbot for ode
Modified:
websites/staging/ode/trunk/content/ (props changed)
websites/staging/ode/trunk/content/extensions/external-variables.html
Propchange: websites/staging/ode/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Dec 31 10:27:52 2012
@@ -1 +1 @@
-1427069
+1427070
Modified: websites/staging/ode/trunk/content/extensions/external-variables.html
==============================================================================
--- websites/staging/ode/trunk/content/extensions/external-variables.html (original)
+++ websites/staging/ode/trunk/content/extensions/external-variables.html Mon Dec 31 10:27:52 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>
@@ -85,13 +85,12 @@
<div class="span12">
<p><a name="ExternalVariables-ExternalVariables"></a></p>
<h2 id="external-variables">External Variables</h2>
-<div class="codehilite"><pre> <span class="o">*</span> <span class="p">[</span><span class="n">Declaring</span> <span class="n">External</span> <span class="n">Variables</span> <span class="n">in</span> <span class="n">the</span> <span class="n">Process</span> <span class="n">Definition</span><span class="p">](</span><span class="c1">#ExternalVariables-DeclaringExternalVariablesintheProcessDefinition)</span>
- <span class="o">*</span> <span class="p">[</span><span class="n">Incomplete</span> <span class="n">Keys</span><span class="p">](</span><span class="c1">#ExternalVariables-IncompleteKeys)</span>
- <span class="o">*</span> <span class="p">[</span><span class="n">JDBC</span> <span class="n">Mapping</span><span class="p">](</span><span class="c1">#ExternalVariables-JDBCMapping)</span>
- <span class="o">*</span> <span class="p">[</span><span class="n">REST</span> <span class="n">Mapping</span><span class="p">](</span><span class="c1">#ExternalVariables-RESTMapping)</span>
-</pre></div>
-
-
+<ul>
+<li><a href="#ExternalVariables-DeclaringExternalVariablesintheProcessDefinition">Declaring External Variables in the Process Definition</a></li>
+<li><a href="#ExternalVariables-IncompleteKeys">Incomplete Keys</a></li>
+<li><a href="#ExternalVariables-JDBCMapping">JDBC Mapping</a></li>
+<li><a href="#ExternalVariables-RESTMapping">REST Mapping</a></li>
+</ul>
<p><a name="ExternalVariables-DeclaringExternalVariablesintheProcessDefinition"></a></p>
<h3 id="declaring-external-variables-in-the-process-definition">Declaring External Variables in the Process Definition</h3>
<div class="alert alert-warning">
@@ -115,21 +114,22 @@
<p>In addition to this attribute, an external variable may also define a set of key mappings by nesting <code>xvar:key-map</code> elements within the declaration. The key mappings are a collection of name-expression pairs that is used to create a composite key (identity) for the external variable. This composite key is used to retrieve the correct "instance" of the variable from the underlying storage. The key mappings are BPEL expressions ( i.e. XPath expressions) that are evaluated once, at the time that the scope is instantiated. Therefore, the "identity" of an external variable is determined during scope creation, and cannot be changed by the process (for qualifications see Incomplete Keys below).</p>
<p>Finally, any external variables must be of an "element" type, with a schema conforming to the requirements of the underlying storage mechanism.</p>
<p>Consider the following example:</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>process.bpel</B></DIV><DIV class="codeContent panelContent">
- .
- .
- .
- <scope>
- <variables>
- <variable name="customer" element="myns:CustomerElement" xvar:id="customer1" >
- <xvar:key-map key="customer-id">
- <expression>$order/customerid</expression>
- </xvar:key-map>
- </variables>
- </scope>
- .
- .
- .</p>
+<div class="caption">process.bpel</div>
+
+<div class="codehilite"><pre>...
+<span class="nt"><scope></span>
+ <span class="nt"><variables></span>
+ <span class="nt"><variable</span> <span class="na">name=</span><span class="s">"customer"</span> <span class="na">element=</span><span class="s">"myns:CustomerElement"</span> <span class="na">xvar:id=</span><span class="s">"customer1"</span> <span class="nt">></span>
+ <span class="nt"><xvar:key-map</span> <span class="na">key=</span><span class="s">"customer-id"</span><span class="nt">></span>
+ <span class="nt"><expression></span>$order/customerid<span class="nt"></expression></span>
+ <span class="nt"></xvar:key-map></span>
+ <span class="nt"></variable></span>
+ <span class="nt"></variables></span>
+<span class="nt"></scope></span>
+...
+</pre></div>
+
+
<p>In the above, the "customer" variable is an external variable. The key for the external variable is derived from the value of the <code>customerid</code> element in the "order" variable. Note that the "order" variable must be declared in a scope above the scope declaring the "customer" external variable, otherwise it would not be possible to resolve the identify of the "customer" variable. In this scenario, the external variable can be "read" even if it was never assigned to in the process.</p>
<p><a name="ExternalVariables-IncompleteKeys"></a></p>
<h3 id="incomplete-keys">Incomplete Keys</h3>