Author: buildbot
Date: Mon Dec 31 10:06:03 2012
New Revision: 844375

Log:
Staging update by buildbot for ode

Modified:
    websites/staging/ode/trunk/content/   (props changed)
    
websites/staging/ode/trunk/content/extensions/activity-failure-and-recovery.html
    websites/staging/ode/trunk/content/extensions/implicit-correlations.html
    websites/staging/ode/trunk/content/extensions/xpath-extensions.html

Propchange: websites/staging/ode/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Dec 31 10:06:03 2012
@@ -1 +1 @@
-1427061
+1427065

Modified: 
websites/staging/ode/trunk/content/extensions/activity-failure-and-recovery.html
==============================================================================
--- 
websites/staging/ode/trunk/content/extensions/activity-failure-and-recovery.html
 (original)
+++ 
websites/staging/ode/trunk/content/extensions/activity-failure-and-recovery.html
 Mon Dec 31 10:06:03 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>
@@ -83,7 +83,8 @@
       
       <div class="row">
         <div class="span12">
-          <p>There are several types of error conditions. In this document we 
introduce a class of error condition called <em>failures</em>, distinct from 
<em>faults</em>, and describe how failures are caught and handled by the 
process engine.</p>
+          <h2 id="overview">Overview</h2>
+<p>There are several types of error conditions. In this document we introduce 
a class of error condition called <em>failures</em>, distinct from 
<em>faults</em>, and describe how failures are caught and handled by the 
process engine.</p>
 <p>A service returns a fault in response to a request it cannot process. A 
process may also raise a fault internally when it encounters a terminal error 
condition, e.g. a faulty expression or false join condition. In addition, 
processes may raise faults in order to terminate normal processing.</p>
 <p>In contrast, failures are non-terminal error conditions that do not affect 
the normal flow of the process. We keep the process definition simple and 
straightforward by delegating failure handling to the process engine and 
administrator.</p>
 <p>For example, when the process is unable to perform DNS resolution to 
determine the service endpoint, it generates a failure. An administrator can 
fix the DNS server and tell the process engine to retry the activity. Had the 
DNS error been reported as a fault, the process would either terminate or 
require complex fault handling and recovery logic to proceed past this point of 
failure.</p>

Modified: 
websites/staging/ode/trunk/content/extensions/implicit-correlations.html
==============================================================================
--- websites/staging/ode/trunk/content/extensions/implicit-correlations.html 
(original)
+++ websites/staging/ode/trunk/content/extensions/implicit-correlations.html 
Mon Dec 31 10:06:03 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>

Modified: websites/staging/ode/trunk/content/extensions/xpath-extensions.html
==============================================================================
--- websites/staging/ode/trunk/content/extensions/xpath-extensions.html 
(original)
+++ websites/staging/ode/trunk/content/extensions/xpath-extensions.html Mon Dec 
31 10:06:03 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>
@@ -83,7 +83,8 @@
       
       <div class="row">
         <div class="span12">
-          <p>Apache ODE extends the default XPath coverage provided by the <a 
href="/ws-bpel-20.html">WS-BPEL</a> specification mostly by adding support for 
<a href="http://www.w3.org/TR/xpath20/";>XPath 2.0</a> and by offering a few 
utility extension functions to make some assignments easier.</p>
+          <h2 id="overview">Overview</h2>
+<p>Apache ODE extends the default XPath coverage provided by the <a 
href="/ws-bpel-20.html">WS-BPEL</a> specification mostly by adding support for 
<a href="http://www.w3.org/TR/xpath20/";>XPath 2.0</a> and by offering a few 
utility extension functions to make some assignments easier.</p>
 <p><a name="XPathExtensions-XPath2.0"></a></p>
 <h3 id="xpath-20">XPath 2.0</h3>
 <p>To use XPath 2.0 in your processes just use the following 
<em>queryLanguage</em> and <em>expressionLanguage</em> attributes:</p>
@@ -99,7 +100,7 @@
 <p><a name="XPathExtensions-insert-before"></a></p>
 <h4 id="insert-before">insert-before</h4>
 <p>This is a function that allows you to insert one or more siblings 
(specified by the $siblings argument in the signature below) before the first 
node of children (specified by the $children argument), all of whose nodes must 
have the same parent (specified by the $context argument).</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>Insert Before</B></DIV><DIV 
class="codeContent panelContent">
+<p><span class="caption">Insert Before</span>
     ode:insert-before($context as node(), $children as node()<em>, $siblings 
as node()</em>) as node() </p>
 <p>By design, this function is non-updating in that it preserves the identity 
and properties of its arguments (i.e., they don't try to change the XML 
in-place). Instead, a modified copy of the context node is created, essentially 
giving it a new identity. Further, it returns a single R-value item, as opposed 
to a sequence. The example below illustrates how it may be used in the context 
of an assign activity:</p>
 <div class="codehilite"><pre><span class="nt">&lt;assign&gt;</span>
@@ -112,228 +113,256 @@
 
 
 <p>For those familiar with the <a 
href="http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/";>XQuery Update 
Facility</a>, the above example is semantically equivalent to the expression 
shown below:</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>XQuery Equivalent</B></DIV><DIV 
class="codeContent panelContent">
-    insert nodes $siblings before $parent/child::node[position()=last()] </p>
-<p><a name="XPathExtensions-insert-after"></a></p>
-<h4 id="insert-after">insert-after</h4>
-<p>This is a function that allows you to insert one or more siblings 
(specified by the $siblings argument in the signature below) after the last 
node of children (specified by the $children argument), all of whose nodes must 
have the same parent (specified by the $context argument).</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>Insert After</B></DIV><DIV 
class="codeContent panelContent">
-    ode:insert-after($context as node(), $children as node()<em>, $siblings as 
node()</em>) as node() </p>
-<p>By design, this function is non-updating in that it preserves the identity 
and properties of its arguments (i.e., they don't try to change the XML 
in-place). Instead, a modified copy of the context node is created, essentially 
giving it a new identity. Further, it returns a single R-value item, as opposed 
to a sequence. The example below illustrates how it may be used in the context 
of an assign activity:</p>
-<div class="codehilite"><pre><span class="nt">&lt;assign&gt;</span>
-  <span class="nt">&lt;copy&gt;</span>
-    <span class="nt">&lt;from&gt;</span>ode:insert-after(<span 
class="p">$</span><span class="nv">parent</span>, <span class="p">$</span><span 
class="nv">parent</span>/child::node(), <span class="p">$</span><span 
class="nv">siblings</span>)<span class="nt">&lt;/from&gt;</span>
-    <span class="nt">&lt;to</span> <span class="na">variable=</span><span 
class="s">&quot;parent&quot;</span><span class="nt">/&gt;</span>
-  <span class="nt">&lt;/copy&gt;</span>
-<span class="nt">&lt;/assign&gt;</span>
-</pre></div>
+<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>XQuery Equivalent</b></div><div 
class="codeContent panelContent">
+    insert nodes $siblings before $parent/child::node[position()=last()]
 
+<a name="XPathExtensions-insert-after"></a>
+#### insert-after
 
-<p>For those familiar with the <a 
href="http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/";>XQuery Update 
Facility</a>, the above example is semantically equivalent to the expression 
shown below:</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>XQuery Equivalent</B></DIV><DIV 
class="codeContent panelContent">
-    insert nodes $siblings after $parent/child::node()</p>
-<p><a name="XPathExtensions-insert-as-first-into"></a></p>
-<h4 id="insert-as-first-into">insert-as-first-into</h4>
-<p>This is a function that allows you to insert the node(s) (specified by the 
$children argument in the signature below) as the first child(ren) of a given 
context node (specified by the $context argument).</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>Insert As First Into</B></DIV><DIV 
class="codeContent panelContent">
-    ode:insert-as-first-into($context as node(), $children as node()*) as 
node() </p>
-<p>By design, this function is non-updating in that it preserves the identity 
and properties of its arguments (i.e., they don't try to change the XML 
in-place). Instead, a modified copy of the context node is created, essentially 
giving it a new identity. Further, it returns a single R-value item, as opposed 
to a sequence. The example below illustrates how it may be used in the context 
of an assign activity:</p>
-<div class="codehilite"><pre><span class="nt">&lt;assign&gt;</span>
-  <span class="nt">&lt;copy&gt;</span>
-    <span class="nt">&lt;from&gt;</span>ode:insert-as-first-into(<span 
class="p">$</span><span class="nv">parent</span>, <span class="p">$</span><span 
class="nv">children</span>)<span class="nt">&lt;/from&gt;</span>
-    <span class="nt">&lt;to</span> <span class="na">variable=</span><span 
class="s">&quot;parent&quot;</span><span class="nt">/&gt;</span>
-  <span class="nt">&lt;/copy&gt;</span>
-<span class="nt">&lt;/assign&gt;</span>
-</pre></div>
+This is a function that allows you to insert one or more siblings (specified 
by the $siblings argument in the signature below) after the last node of 
children (specified by the $children argument), all of whose nodes must have 
the same parent (specified by the $context argument).
 
+<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>Insert After</b></div><div 
class="codeContent panelContent">
+    ode:insert-after($context as node(), $children as node()*, $siblings as 
node()*) as node() 
 
-<p>For those familiar with the <a 
href="http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/";>XQuery Update 
Facility</a>, the above example is semantically equivalent to the expression 
shown below:</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>XQuery Equivalent</B></DIV><DIV 
class="codeContent panelContent">
-    insert nodes $children as first into $parent </p>
-<p><a name="XPathExtensions-insert-as-last-into"></a></p>
-<h4 id="insert-as-last-into">insert-as-last-into</h4>
-<p>This is a function that allows you to insert the node(s) (specified by the 
$children argument in the signature below) as the last child(ren) of a given 
context node (specified by the $context argument).</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>Insert As Last Into</B></DIV><DIV 
class="codeContent panelContent">
-    ode:insert-as-last-into($context as node(), $children as node()*) as 
node() </p>
-<p>By design, this function is non-updating in that it preserves the identity 
and properties of its arguments (i.e., they don't try to change the XML 
in-place). Instead, a modified copy of the context node is created, essentially 
giving it a new identity. Further, it returns a single R-value item, as opposed 
to a sequence. The example below illustrates how it may be used in the context 
of an assign activity:</p>
-<div class="codehilite"><pre><span class="nt">&lt;assign&gt;</span>
-  <span class="nt">&lt;copy&gt;</span>
-    <span class="nt">&lt;from&gt;</span>ode:insert-as-last-into(<span 
class="p">$</span><span class="nv">parent</span>, <span class="p">$</span><span 
class="nv">children</span>)<span class="nt">&lt;/from&gt;</span>
-    <span class="nt">&lt;to</span> <span class="na">variable=</span><span 
class="s">&quot;parent&quot;</span><span class="nt">/&gt;</span>
-  <span class="nt">&lt;/copy&gt;</span>
-<span class="nt">&lt;/assign&gt;</span>
-</pre></div>
+By design, this function is non-updating in that it preserves the identity and 
properties of its arguments (i.e., they don't try to change the XML in-place). 
Instead, a modified copy of the context node is created, essentially giving it 
a new identity. Further, it returns a single R-value item, as opposed to a 
sequence. The example below illustrates how it may be used in the context of an 
assign activity:
 
+    <assign>
+      <copy>
+        <from>ode:insert-after($parent, $parent/child::node(), 
$siblings)</from>
+        <to variable="parent"/>
+      </copy>
+    </assign> 
 
-<p>For those familiar with the <a 
href="http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/";>XQuery Update 
Facility</a>, the above example is semantically equivalent to the expression 
shown below:</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>XQuery Equivalent</B></DIV><DIV 
class="codeContent panelContent">
-    insert nodes $children as last into $parent </p>
-<p><a name="XPathExtensions-delete"></a></p>
-<h4 id="delete">delete</h4>
-<p>This is a function that allows you to delete one or more node(s) (specified 
by the $children argument in the signature below) from its parent (specified by 
the $context argument).</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>Delete</B></DIV><DIV class="codeContent 
panelContent">
-    ode:delete($context as node(), $children as node()*) as node() </p>
-<p>By design, this function is non-updating in that it preserves the identity 
and properties of its arguments (i.e., they don't try to change the XML 
in-place). Instead, a modified copy of the context node is created, essentially 
giving it a new identity. Further, it returns a single R-value item, as opposed 
to a sequence. The example below illustrates how it may be used in the context 
of an assign activity:</p>
-<div class="codehilite"><pre><span class="nt">&lt;assign&gt;</span>
-  <span class="nt">&lt;copy&gt;</span>
-    <span class="nt">&lt;from&gt;</span>ode:delete(<span 
class="p">$</span><span class="nv">parent</span>, <span class="p">$</span><span 
class="nv">children</span>)<span class="nt">&lt;/from&gt;</span>
-    <span class="nt">&lt;to</span> <span class="na">variable=</span><span 
class="s">&quot;parent&quot;</span><span class="nt">/&gt;</span>
-  <span class="nt">&lt;/copy&gt;</span>
-<span class="nt">&lt;/assign&gt;</span>
-</pre></div>
+For those familiar with the [XQuery Update 
Facility](http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/), the above 
example is semantically equivalent to the expression shown below:
 
+<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>XQuery Equivalent</b></div><div 
class="codeContent panelContent">
+    insert nodes $siblings after $parent/child::node()
 
-<p>For those familiar with the <a 
href="http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/";>XQuery Update 
Facility</a>, the above example is semantically equivalent to the expression 
shown below:</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>XQuery Equivalent</B></DIV><DIV 
class="codeContent panelContent">
-    delete nodes $children </p>
-<p><a name="XPathExtensions-rename"></a></p>
-<h4 id="rename">rename</h4>
-<p>This is a function that allows you to rename the context node (specified by 
the $context argument in the signature below) as per the given name (specified 
by $item, which is either a QName, Element or String).</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>Rename</B></DIV><DIV class="codeContent 
panelContent">
-    ode:rename($context as node(), $name as item()) as node() </p>
-<p>By design, this function is non-updating in that it preserves the identity 
and properties of its arguments (i.e., they don't try to change the XML 
in-place). Instead, a modified copy of the context node is created, essentially 
giving it a new identity. Further, it returns a single R-value item, as opposed 
to a sequence. The example below illustrates how it may be used in the context 
of an assign activity:</p>
-<div class="codehilite"><pre><span class="nt">&lt;assign&gt;</span>
-  <span class="nt">&lt;copy&gt;</span>
-    <span class="nt">&lt;from&gt;</span>ode:rename(<span 
class="p">$</span><span class="nv">person</span>, 
fn:QName(&quot;http://www.example.com/example&quot;, &quot;manager&quot;))<span 
class="nt">&lt;/from&gt;</span>
-    <span class="nt">&lt;to</span> <span class="na">variable=</span><span 
class="s">&quot;person&quot;</span><span class="nt">/&gt;</span>
-  <span class="nt">&lt;/copy&gt;</span>
-<span class="nt">&lt;/assign&gt;</span>
-</pre></div>
+<a name="XPathExtensions-insert-as-first-into"></a>
+#### insert-as-first-into
 
+This is a function that allows you to insert the node(s) (specified by the 
$children argument in the signature below) as the first child(ren) of a given 
context node (specified by the $context argument).
+
+<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>Insert As First Into</b></div><div 
class="codeContent panelContent">
+    ode:insert-as-first-into($context as node(), $children as node()*) as 
node() 
+
+By design, this function is non-updating in that it preserves the identity and 
properties of its arguments (i.e., they don't try to change the XML in-place). 
Instead, a modified copy of the context node is created, essentially giving it 
a new identity. Further, it returns a single R-value item, as opposed to a 
sequence. The example below illustrates how it may be used in the context of an 
assign activity:
+
+    <assign>
+      <copy>
+        <from>ode:insert-as-first-into($parent, $children)</from>
+        <to variable="parent"/>
+      </copy>
+    </assign> 
+
+For those familiar with the [XQuery Update 
Facility](http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/), the above 
example is semantically equivalent to the expression shown below:
+
+<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>XQuery Equivalent</b></div><div 
class="codeContent panelContent">
+    insert nodes $children as first into $parent 
+
+<a name="XPathExtensions-insert-as-last-into"></a>
+#### insert-as-last-into
+
+This is a function that allows you to insert the node(s) (specified by the 
$children argument in the signature below) as the last child(ren) of a given 
context node (specified by the $context argument).
+
+<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>Insert As Last Into</b></div><div 
class="codeContent panelContent">
+    ode:insert-as-last-into($context as node(), $children as node()*) as 
node() 
+
+By design, this function is non-updating in that it preserves the identity and 
properties of its arguments (i.e., they don't try to change the XML in-place). 
Instead, a modified copy of the context node is created, essentially giving it 
a new identity. Further, it returns a single R-value item, as opposed to a 
sequence. The example below illustrates how it may be used in the context of an 
assign activity:
+
+    <assign>
+      <copy>
+        <from>ode:insert-as-last-into($parent, $children)</from>
+        <to variable="parent"/>
+      </copy>
+    </assign> 
+
+For those familiar with the [XQuery Update 
Facility](http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/), the above 
example is semantically equivalent to the expression shown below:
+
+<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>XQuery Equivalent</b></div><div 
class="codeContent panelContent">
+    insert nodes $children as last into $parent 
+
+<a name="XPathExtensions-delete"></a>
+#### delete
+
+This is a function that allows you to delete one or more node(s) (specified by 
the $children argument in the signature below) from its parent (specified by 
the $context argument).
+
+<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>Delete</b></div><div class="codeContent 
panelContent">
+    ode:delete($context as node(), $children as node()*) as node() 
+
+By design, this function is non-updating in that it preserves the identity and 
properties of its arguments (i.e., they don't try to change the XML in-place). 
Instead, a modified copy of the context node is created, essentially giving it 
a new identity. Further, it returns a single R-value item, as opposed to a 
sequence. The example below illustrates how it may be used in the context of an 
assign activity:
+
+    <assign>
+      <copy>
+        <from>ode:delete($parent, $children)</from>
+        <to variable="parent"/>
+      </copy>
+    </assign> 
+
+For those familiar with the [XQuery Update 
Facility](http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/), the above 
example is semantically equivalent to the expression shown below:
+
+<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>XQuery Equivalent</b></div><div 
class="codeContent panelContent">
+    delete nodes $children 
+
+<a name="XPathExtensions-rename"></a>
+#### rename
+
+This is a function that allows you to rename the context node (specified by 
the $context argument in the signature below) as per the given name (specified 
by $item, which is either a QName, Element or String).
+
+<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>Rename</b></div><div class="codeContent 
panelContent">
+    ode:rename($context as node(), $name as item()) as node() 
+
+By design, this function is non-updating in that it preserves the identity and 
properties of its arguments (i.e., they don't try to change the XML in-place). 
Instead, a modified copy of the context node is created, essentially giving it 
a new identity. Further, it returns a single R-value item, as opposed to a 
sequence. The example below illustrates how it may be used in the context of an 
assign activity:
+
+    <assign>
+      <copy>
+        <from>ode:rename($person, fn:QName("http://www.example.com/example";, 
"manager"))</from>
+        <to variable="person"/>
+      </copy>
+    </assign> 
+
+For those familiar with the [XQuery Update 
Facility](http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/), the above 
example is semantically equivalent to the expression shown below:
+
+<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>XQuery Equivalent</b></div><div 
class="codeContent panelContent">
+    rename $person as fn:QName("http://www.example.com/example";, "manager")
 
-<p>For those familiar with the <a 
href="http://www.w3.org/TR/2008/CR-xquery-update-10-20080801/";>XQuery Update 
Facility</a>, the above example is semantically equivalent to the expression 
shown below:</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>XQuery Equivalent</B></DIV><DIV 
class="codeContent panelContent">
-    rename $person as fn:QName("http://www.example.com/example";, "manager")</p>
 <div class="alert alert-warning"><h4 class="alert-heading">Assign 
Assumptions</h4>
     The WS-BPEL requires that "for a copy operation to be valid, the data 
referred to by the from-spec and the to-spec MUST be of compatible types." 
Hence, make sure that when you rename an element, the new name refers to a type 
that is compatible with the target variable. In other words, it should be of a 
substitutable (essentially stronger) complex type.
 </div>
 
-<p><a name="XPathExtensions-split-to-elements"></a></p>
-<h4 id="split-to-elements">split-to-elements</h4>
-<p>It's impossible to split a given string into a sequence of elements using 
assignments. The only possible alternative is XSL which is a lot of complexity 
for a very simple usage pattern. The <em>ode:splitToElements</em> function 
splits a given string (that can be a variable reference) into several elements 
by using a specific separators. Here is an example:</p>
-<div class="codehilite"><pre><span class="nt">&lt;assign&gt;</span>
-  <span class="nt">&lt;from&gt;</span>ode:split-to-elements(<span 
class="p">$</span><span class="nv">authorizeMessage</span><span 
class="p">.</span><span class="nv">credential</span>/userList, &#39;,&#39;, 
&#39;user&#39;)<span class="nt">&lt;/from&gt;</span>
-  <span class="nt">&lt;to&gt;</span><span class="p">$</span><span 
class="nv">authorizedUsers</span><span class="nt">&lt;/to&gt;</span>
-<span class="nt">&lt;/assign&gt;</span>
-</pre></div>
+<a name="XPathExtensions-split-to-elements"></a>
+#### split-to-elements 
 
+It's impossible to split a given string into a sequence of elements using 
assignments. The only possible alternative is XSL which is a lot of complexity 
for a very simple usage pattern. The _ode:splitToElements_ function splits a 
given string (that can be a variable reference) into several elements by using 
a specific separators. Here is an example:
 
-<p>If the source element contains a list like "joe, paul, fred" the target 
variable will be assigned the sequence of elements:</p>
-<div class="codehilite"><pre><span class="nt">&lt;user&gt;</span>joe<span 
class="nt">&lt;/user&gt;</span>
-<span class="nt">&lt;user&gt;</span>paul<span class="nt">&lt;/user&gt;</span>
-<span class="nt">&lt;user&gt;</span>fred<span class="nt">&lt;/user&gt;</span>
-</pre></div>
+    <assign>
+      <from>ode:split-to-elements($authorizeMessage.credential/userList, ',', 
'user')</from>
+      <to>$authorizedUsers</to>
+    </assign>
 
+If the source element contains a list like "joe, paul, fred" the target 
variable will be assigned the sequence of elements:
 
-<p>Alternatively this function can take a fourth parameter that would be the 
namespace of the elements used to wrap the split strings:</p>
-<div class="codehilite"><pre><span 
class="err">ode:split-to-elements(stringToSplit,</span> <span 
class="err">separator,</span> <span class="err">targetElement,</span> <span 
class="err">targetNamespace)</span>
-</pre></div>
+    <user>joe</user>
+    <user>paul</user>
+    <user>fred</user>
 
+Alternatively this function can take a fourth parameter that would be the 
namespace of the elements used to wrap the split strings:
+
+    ode:split-to-elements(stringToSplit, separator, targetElement, 
targetNamespace)
 
 <div class="alert alert-info"><h4 class="alert-heading">Deprecated Name</h4>
     This function was formerly known as splitToElements, which may still be 
used, but is deprecated.
 </div>
 
-<p><a name="XPathExtensions-combine-url(base,relative)"></a></p>
-<h4 id="combine-urlbase-relative">combine-url(base, relative)</h4>
-<p>Takes the relative URL and combines it with the base URL to return a new 
absolute URL. If the relative parameter is an absolute URL, returns it instead.
-This function is similar to <a 
href="http://www.w3.org/TR/2004/WD-xpath-functions-20040723/#func-resolve-uri";>func-resolve-uri</a>.
 However the latter is available in XPath 2.0 only.</p>
-<p><a 
name="XPathExtensions-compose-url(template,\[name,value\](name,value\.html)*)"></a></p>
-<h4 id="compose-urltemplate-91name-value93">compose-url(template, [name, 
value]*)</h4>
-<p><a name="XPathExtensions-compose-url(template,pairs)"></a></p>
-<h4 id="compose-urltemplate-pairs">compose-url(template, pairs)</h4>
-<p>Expands the template URL by substituting place holders in the template, for 
example, ('/order/{id}', 'id', 5) returns '/order/5'. Substitute values are 
either name/value pairs passed as separate parameters, or a node-set returning 
elements with name mapping to value. The functions applies proper encoding to 
the mapped values. Undefined variables are replaced with an empty string. This 
function returns an URL.
-See also the <a 
href="http://bitworking.org/projects/URI-Templates/spec/draft-gregorio-uritemplate-03.html";>URI
 Template spec</a>.</p>
-<p><a 
name="XPathExtensions-expand-template(template,\[name,value\](name,value\.html)*)"></a></p>
-<h4 id="expand-templatetemplate-91name-value93">expand-template(template, 
[name, value]*)</h4>
-<p><a name="XPathExtensions-expand-template(template,pairs)"></a></p>
-<h4 id="expand-templatetemplate-pairs">expand-template(template, pairs)</h4>
-<p>Similar to <code>composeURL</code> but undefined variables are 
<em><em>not</em></em> replaced with an empty string. They are ignored. As a 
result with incomplete mapping may return a new URL template.</p>
-<p><a name="XPathExtensions-dom-to-string"></a></p>
-<h4 id="dom-to-string">dom-to-string</h4>
-<p>This is a function that serializes a DOM node (specified by the $node 
argument in the signature below) into a string.</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>Dom To String</B></DIV><DIV 
class="codeContent panelContent">
-    ode:dom-to-string($node as node()) as xs:string</p>
-<p><a name="XPathExtensions-process-property"></a></p>
-<h4 id="process-property">process-property</h4>
-<p>This is a function that allows you to retrieve the value of a property, 
defined in deploy.xml for the current process, with the given name (specified 
by the $name argument in the signature below, which is either a QName, String, 
Element or Single-Valued List).</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 Property</B></DIV><DIV 
class="codeContent panelContent">
-    ode:process-property($name as item()) as node() </p>
-<p>Basically, this method gives you a way to reference properties, defined in 
deploy.xml for a given process, directly in the BPEL code for that process. The 
$name argument refers to any schema item that resolves to a QName. The return 
value is the child node of the property element with the given name.</p>
-<p>The example below illustrates how it may be used in the context of an 
assign activity:</p>
-<div class="codehilite"><pre><span class="nt">&lt;assign&gt;</span>
-  <span class="nt">&lt;copy&gt;</span>
-    <span 
class="nt">&lt;from&gt;</span>ode:process-property(&quot;auctionEpr&quot;)<span 
class="nt">&lt;/from&gt;</span>
-    <span class="nt">&lt;to</span> <span class="na">partnerLink=</span><span 
class="s">&quot;partnerLink&quot;</span><span class="nt">/&gt;</span>
-  <span class="nt">&lt;/copy&gt;</span>
-<span class="nt">&lt;/assign&gt;</span>
-</pre></div>
-
+<a name="XPathExtensions-combine-url(base,relative)"></a>
+#### combine-url(base, relative)
 
-<p>where, the property called "epr" is defined in the corresponding deploy.xml 
as follows:</p>
-<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:tns=</span><span 
class="s">&quot;http://ode/bpel/process&quot;</span><span class="nt">&gt;</span>
-   <span class="nt">&lt;process</span> <span class="na">name=</span><span 
class="s">&quot;tns:negotiate&quot;</span><span class="nt">&gt;</span>
-       <span class="nt">&lt;property</span> <span class="na">name=</span><span 
class="s">&quot;auctionEpr&quot;</span><span class="nt">&gt;</span>
-           <span class="nt">&lt;sref:service-ref</span>
-                <span class="na">xmlns:sref=</span><span class="s">&quot; 
http://docs.oasis-open.org/wsbpel/2.0/serviceref&quot;</span>
-                <span class="na">xmlns:addr=</span><span 
class="s">&quot;http://example.com/addressing&quot;</span>
-                <span class="na">xmlns:as=</span><span 
class="s">&quot;http://example.com/auction/wsdl/auctionService/&quot;</span><span
 class="nt">&gt;</span>
-                <span class="nt">&lt;addr:EndpointReference&gt;</span>
-                    <span 
class="nt">&lt;addr:Address&gt;</span>http://example.com/auction/RegistrationService<span
 class="ni">&amp;lt;</span>/addr:Address&gt;
-                    <span 
class="nt">&lt;addr:ServiceName&gt;</span>as:RegistrationService<span 
class="nt">&lt;/addr:ServiceName&gt;</span>
-                <span class="nt">&lt;/addr:EndpointReference&gt;</span>
-            <span class="nt">&lt;/sref:service-ref&gt;</span>
-        <span class="nt">&lt;/property&gt;</span>...
-    <span class="nt">&lt;/process&gt;</span>
-<span class="nt">&lt;/deploy&gt;</span>
-</pre></div>
+Takes the relative URL and combines it with the base URL to return a new 
absolute URL. If the relative parameter is an absolute URL, returns it instead.
+This function is similar to 
[func-resolve-uri](http://www.w3.org/TR/2004/WD-xpath-functions-20040723/#func-resolve-uri).
 However the latter is available in XPath 2.0 only.
 
+<a 
name="XPathExtensions-compose-url(template,\[name,value\](name,value\.html)*)"></a>
+#### compose-url(template, \[name, value\]*)
+<a name="XPathExtensions-compose-url(template,pairs)"></a>
+#### compose-url(template, pairs)
+
+Expands the template URL by substituting place holders in the template, for 
example, ('/order/\{id\}', 'id', 5) returns '/order/5'. Substitute values are 
either name/value pairs passed as separate parameters, or a node-set returning 
elements with name mapping to value. The functions applies proper encoding to 
the mapped values. Undefined variables are replaced with an empty string. This 
function returns an URL.
+See also the [URI Template 
spec](http://bitworking.org/projects/URI-Templates/spec/draft-gregorio-uritemplate-03.html).
+
+<a 
name="XPathExtensions-expand-template(template,\[name,value\](name,value\.html)*)"></a>
+#### expand-template(template, \[name, value\]*)
+<a name="XPathExtensions-expand-template(template,pairs)"></a>
+#### expand-template(template, pairs)
+
+Similar to `composeURL` but undefined variables are *_not_* replaced with an 
empty string. They are ignored. As a result with incomplete mapping may return 
a new URL template.
+
+<a name="XPathExtensions-dom-to-string"></a>
+#### dom-to-string
+
+This is a function that serializes a DOM node (specified by the $node argument 
in the signature below) into a string.
+
+<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>Dom To String</b></div><div 
class="codeContent panelContent">
+    ode:dom-to-string($node as node()) as xs:string
+
+<a name="XPathExtensions-process-property"></a>
+#### process-property
+
+This is a function that allows you to retrieve the value of a property, 
defined in deploy.xml for the current process, with the given name (specified 
by the $name argument in the signature below, which is either a QName, String, 
Element or Single-Valued List).
+
+<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 Property</b></div><div 
class="codeContent panelContent">
+    ode:process-property($name as item()) as node() 
+
+Basically, this method gives you a way to reference properties, defined in 
deploy.xml for a given process, directly in the BPEL code for that process. The 
$name argument refers to any schema item that resolves to a QName. The return 
value is the child node of the property element with the given name.
+
+The example below illustrates how it may be used in the context of an assign 
activity:
+
+    <assign>
+      <copy>
+        <from>ode:process-property("auctionEpr")</from>
+        <to partnerLink="partnerLink"/>
+      </copy>
+    </assign> 
+
+where, the property called "epr" is defined in the corresponding deploy.xml as 
follows:
+
+    <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03";
+                       xmlns:tns="http://ode/bpel/process";>
+       <process name="tns:negotiate">
+           <property name="auctionEpr">
+               <sref:service-ref
+                    xmlns:sref=" 
http://docs.oasis-open.org/wsbpel/2.0/serviceref";
+                    xmlns:addr="http://example.com/addressing";
+                    xmlns:as="http://example.com/auction/wsdl/auctionService/";>
+                    <addr:EndpointReference>
+                        
<addr:Address>http://example.com/auction/RegistrationService&lt;/addr:Address>
+                        
<addr:ServiceName>as:RegistrationService</addr:ServiceName>
+                    </addr:EndpointReference>
+                </sref:service-ref>
+            </property>...
+        </process>
+    </deploy>
 
 <div class="alert alert-info"><h4 class="alert-heading">Release 
Information</h4>
     This function will be available in the 1.3 or higher version of ODE.
 </div>
 
-<p><a name="XPathExtensions-PredefinedProcessProperties"></a></p>
-<h4 id="predefined-process-properties">Predefined Process Properties</h4>
-<p><a name="XPathExtensions-Localhostinfo(nameandIPaddress)"></a></p>
-<h5 id="localhost-info-name-and-ip-address">Localhost info (name and IP 
address)</h5>
-<div class="codehilite"><pre><span class="nt">&lt;bpws:assign&gt;</span>
-  <span class="nt">&lt;bpws:copy&gt;</span>
-    <span 
class="nt">&lt;bpws:from&gt;</span>ode:process-property(&#39;ode.localhost.name&#39;)<span
 class="nt">&lt;/bpws:from&gt;</span>
-    <span class="nt">&lt;bpws:to&gt;</span><span class="p">$</span><span 
class="nv">output</span><span class="p">.</span><span 
class="nv">payload</span><span class="nt">&lt;/bpws:to&gt;</span>
-  <span class="nt">&lt;/bpws:copy&gt;</span>
-<span class="nt">&lt;/bpws:assign&gt;</span>
-
-<span class="nt">&lt;bpws:assign&gt;</span>
-  <span class="nt">&lt;bpws:copy&gt;</span>
-    <span 
class="nt">&lt;bpws:from&gt;</span>ode:process-property(&#39;ode.localhost.address&#39;)<span
 class="nt">&lt;/bpws:from&gt;</span>
-    <span class="nt">&lt;bpws:to&gt;</span><span class="p">$</span><span 
class="nv">output</span><span class="p">.</span><span 
class="nv">payload</span><span class="nt">&lt;/bpws:to&gt;</span>
-  <span class="nt">&lt;/bpws:copy&gt;</span>
-<span class="nt">&lt;/bpws:assign&gt;</span>
-</pre></div>
+<a name="XPathExtensions-PredefinedProcessProperties"></a>
+#### Predefined Process Properties
 
+<a name="XPathExtensions-Localhostinfo(nameandIPaddress)"></a>
+##### Localhost info (name and IP address)
 
-<p><a name="XPathExtensions-ExtensionVariables"></a></p>
-<h3 id="extension-variables">Extension Variables</h3>
-<p><a name="XPathExtensions-InstanceId"></a></p>
-<h4 id="instance-id">Instance Id</h4>
-<div class="codehilite"><pre><span class="nv">$ode:pid</span>
-</pre></div>
+    <bpws:assign>
+      <bpws:copy>
+        <bpws:from>ode:process-property('ode.localhost.name')</bpws:from>
+        <bpws:to>$output.payload</bpws:to>
+      </bpws:copy>
+    </bpws:assign>
 
+    <bpws:assign>
+      <bpws:copy>
+        <bpws:from>ode:process-property('ode.localhost.address')</bpws:from>
+        <bpws:to>$output.payload</bpws:to>
+      </bpws:copy>
+    </bpws:assign>
 
-<p><a name="XPathExtensions-ProcessQName"></a></p>
-<h4 id="process-qname">Process QName</h4>
-<div class="codehilite"><pre><span class="nv">$ode:processQName</span>
-</pre></div>
+<a name="XPathExtensions-ExtensionVariables"></a>
+### Extension Variables
 
+<a name="XPathExtensions-InstanceId"></a>
+#### Instance Id
 
-<p><a name="XPathExtensions-CurrentEventDateTime"></a></p>
-<h4 id="currenteventdatetime">CurrentEventDateTime</h4>
-<p>This is equivalent to current-dateTime() XPath function, which works with 
instance replayer. </p>
-<div class="codehilite"><pre><span class="nv">$ode:currentEventDateTime</span>
-</pre></div>
+    $ode:pid
+
+<a name="XPathExtensions-ProcessQName"></a>
+#### Process QName
+
+    $ode:processQName
+
+<a name="XPathExtensions-CurrentEventDateTime"></a>
+#### CurrentEventDateTime
+This is equivalent to current-dateTime() XPath function, which works with 
instance replayer. 
 
+    $ode:currentEventDateTime
 
 <div class="alert alert-info"><h4 class="alert-heading">Release 
Information</h4>
     1.3.4 or higher


Reply via email to