Author: buildbot
Date: Mon Dec 31 10:22:30 2012
New Revision: 844380

Log:
Staging update by buildbot for ode

Modified:
    websites/staging/ode/trunk/content/   (props changed)
    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:22:30 2012
@@ -1 +1 @@
-1427068
+1427069

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:22:30 2012
@@ -117,256 +117,280 @@
 
 
 <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>
-<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()]
+<div class="caption">XQuery Equivalent</div>
 
-<a name="XPathExtensions-insert-after"></a>
-#### insert-after
+<div class="codehilite"><pre>insert nodes $siblings before 
$parent/child::node[position()=last()]
+</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><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>
+<div class="caption">Insert After</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:
+<div class="codehilite"><pre>ode:insert-after($context as node(), $children as 
node()*, $siblings as node()*) as node()
+</pre></div>
 
-    <assign>
-      <copy>
-        <from>ode:insert-after($parent, $parent/child::node(), 
$siblings)</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:
+<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 after $parent/child::node()
 
-<a name="XPathExtensions-insert-as-first-into"></a>
-#### insert-as-first-into
+<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>
+<div class="caption">XQuery Equivalent</div>
 
-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="codehilite"><pre>insert nodes $siblings after $parent/child::node()
+</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>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:
+<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>
+<div class="caption">Insert As First Into</div>
 
-    <assign>
-      <copy>
-        <from>ode:insert-as-first-into($parent, $children)</from>
-        <to variable="parent"/>
-      </copy>
-    </assign> 
+<div class="codehilite"><pre>ode:insert-as-first-into($context as node(), 
$children as node()*) as node()
+</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 $children as first into $parent 
+<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>
 
-<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).
+<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>
+<div class="caption">XQuery Equivalent</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>Insert As Last Into</b></div><div 
class="codeContent panelContent">
-    ode:insert-as-last-into($context as node(), $children as node()*) as 
node() 
+<div class="codehilite"><pre>insert nodes $children as first into $parent
+</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-as-last-into($parent, $children)</from>
-        <to variable="parent"/>
-      </copy>
-    </assign> 
+<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>
+<div class="caption">Insert As Last Into</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="codehilite"><pre>ode:insert-as-last-into($context as node(), 
$children as node()*) as node()
+</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 $children as last into $parent 
 
-<a name="XPathExtensions-delete"></a>
-#### delete
+<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>
 
-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() 
+<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>
+<div class="caption">XQuery Equivalent</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:
+<div class="codehilite"><pre>insert nodes $children as last into $parent
+</pre></div>
 
-    <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:
+<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>
+<div class="caption">Delete</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">
-    delete nodes $children 
+<div class="codehilite"><pre>ode:delete($context as node(), $children as 
node()*) as node()
+</pre></div>
 
-<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).
+<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>
 
-<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:
+<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>
+<div class="caption">XQuery Equivalent</div>
 
-    <assign>
-      <copy>
-        <from>ode:rename($person, fn:QName("http://www.example.com/example";, 
"manager"))</from>
-        <to variable="person"/>
-      </copy>
-    </assign> 
+<div class="codehilite"><pre>delete nodes $children
+</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">
-    rename $person as fn:QName("http://www.example.com/example";, "manager")
+<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>
+<div class="caption">Rename</div>
+
+<div class="codehilite"><pre>ode:rename($context as node(), $name as item()) 
as node()
+</pre></div>
 
-<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>
 
-<a name="XPathExtensions-split-to-elements"></a>
-#### split-to-elements 
+<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>
 
-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:
 
-    <assign>
-      <from>ode:split-to-elements($authorizeMessage.credential/userList, ',', 
'user')</from>
-      <to>$authorizedUsers</to>
-    </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>
+<div class="caption">XQuery Equivalent</div>
 
-If the source element contains a list like "joe, paul, fred" the target 
variable will be assigned the sequence of elements:
+<div class="codehilite"><pre>rename $person as 
fn:QName(&quot;http://www.example.com/example&quot;, &quot;manager&quot;)
+</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:
+<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>
+
+
+<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>
+
+
+<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>ode:split-to-elements(stringToSplit, separator, 
targetElement, targetNamespace)
+</pre></div>
 
-    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>
 
-<a name="XPathExtensions-combine-url(base,relative)"></a>
-#### combine-url(base, relative)
-
-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.
+<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>
+<div class="caption">Dom To String</div>
+
+<div class="codehilite"><pre>ode:dom-to-string($node as node()) as xs:string
+</pre></div>
+
+
+<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>
+<div class="caption">Process Property</div>
+
+<div class="codehilite"><pre>ode:process-property($name as item()) as node()
+</pre></div>
+
+
+<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>
+
+
+<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>
 
-<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>
 
-<a name="XPathExtensions-PredefinedProcessProperties"></a>
-#### Predefined Process Properties
-
-<a name="XPathExtensions-Localhostinfo(nameandIPaddress)"></a>
-##### Localhost info (name and IP address)
-
-    <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>
-
-<a name="XPathExtensions-ExtensionVariables"></a>
-### Extension Variables
-
-<a name="XPathExtensions-InstanceId"></a>
-#### Instance Id
-
-    $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. 
+<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>
+
+
+<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>$ode:pid
+</pre></div>
+
+
+<p><a name="XPathExtensions-ProcessQName"></a></p>
+<h4 id="process-qname">Process QName</h4>
+<div class="codehilite"><pre>$ode:processQName
+</pre></div>
+
+
+<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>$ode:currentEventDateTime
+</pre></div>
 
-    $ode:currentEventDateTime
 
 <div class="alert alert-info"><h4 class="alert-heading">Release 
Information</h4>
     1.3.4 or higher


Reply via email to