blob: 56fd0d54afc64be30a81c466b44cb9fbce8cf25e [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="SMILA/Documentation/HowTo/How to filter and access record data in BPEL,SMILA/Glossary" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/SMILA/Development_Guidelines/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (English)" />
<link rel="alternate" type="application/rss+xml" title="Eclipsepedia RSS Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=rss" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=atom" />
<title>SMILA/Documentation/HowTo/How to filter and access record data in BPEL - Eclipsepedia</title>
<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "/skins/eclipsenova/novaWide.css?116"; /*]]>*/</style>
<link rel="stylesheet" type="text/css" media="print" href="http://wiki.eclipse.org/skins/eclipsenova/eclipsenovaPrint.css?116" />
<link rel="stylesheet" type="text/css" media="handheld" href="http://wiki.eclipse.org/skins/eclipsenova/handheld.css?116" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/header.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/tabs.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/visual.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/layout.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/footer.css" media="screen" />
<!--[if IE]><link rel="stylesheet" type="text/css" href="/skins/eclipsenova/IEpngfix.css" media="screen" /><![endif]-->
<!--[if lt IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE50Fixes.css?116";</style> <![endif]-->
<!--[if IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE55Fixes.css?116";</style><![endif]-->
<!--[if IE 6]><style type="text/css">@import "/skins/eclipsenova/IE60Fixes.css?116";</style><![endif]-->
<!--[if IE 7]><style type="text/css">@import "/skins/eclipsenova/IE70Fixes.css?116";</style><![endif]-->
<!--[if lt IE 7]><script type="text/javascript" src="/skins/common/IEFixes.js?116"></script>
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
<script type= "text/javascript">/*<![CDATA[*/
var skin = "eclipsenova";
var stylepath = "/skins";
var wgArticlePath = "/$1";
var wgScriptPath = "";
var wgScript = "/index.php";
var wgServer = "http://wiki.eclipse.org";
var wgCanonicalNamespace = "";
var wgCanonicalSpecialPageName = false;
var wgNamespaceNumber = 0;
var wgPageName = "SMILA/Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL";
var wgTitle = "SMILA/Documentation/HowTo/How to filter and access record data in BPEL";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "16151";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "286123";
var wgVersion = "1.12.0";
var wgEnableAPI = true;
var wgEnableWriteAPI = false;
/*]]>*/</script>
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/wikibits.js?116"><!-- wikibits js --></script>
<!-- Performance mods similar to those for bug 166401 -->
<script type="text/javascript" src="http://wiki.eclipse.org/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=eclipsenova"><!-- site js --></script>
<!-- Head Scripts -->
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/ajax.js?116"></script>
<style type="text/css">/*<![CDATA[*/
.source-xml {line-height: normal; font-size: medium;}
.source-xml li {line-height: normal;}
/**
* GeSHi Dynamically Generated Stylesheet
* --------------------------------------
* Dynamically generated stylesheet for xml
* CSS class: source-xml, CSS id:
* GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter)
*/
.source-xml .de1, .source-xml .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
.source-xml {}
.source-xml .head {}
.source-xml .foot {}
.source-xml .imp {font-weight: bold; color: red;}
.source-xml .ln-xtra {color: #cc0; background-color: #ffc;}
.source-xml li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
.source-xml li.li2 {font-weight: bold;}
.source-xml .coMULTI {color: #808080; font-style: italic;}
.source-xml .es0 {color: #000099; font-weight: bold;}
.source-xml .br0 {color: #66cc66;}
.source-xml .st0 {color: #ff0000;}
.source-xml .nu0 {color: #cc66cc;}
.source-xml .sc0 {color: #00bbdd;}
.source-xml .sc1 {color: #ddbb00;}
.source-xml .sc2 {color: #339933;}
.source-xml .sc3 {color: #009900;}
.source-xml .re0 {color: #000066;}
.source-xml .re1 {font-weight: bold; color: black;}
.source-xml .re2 {font-weight: bold; color: black;}
/*]]>*/
</style>
<style type="text/css">/*<![CDATA[*/
@import "/index.php?title=MediaWiki:Geshi.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000";
/*]]>*/
</style><link rel="stylesheet" type="text/css" href="How_to_filter_and_access_record_data_in_BPEL.html" /> </head>
<body class="mediawiki ns-0 ltr page-SMILA_Documentation_HowTo_How_to_filter_and_access_record_data_in_BPEL">
<div id="globalWrapper">
<div id="column-one">
<!-- Eclipse Additions for the Top Nav start here M. Ward-->
<div id="header">
<div id="header-graphic">
<img src="http://wiki.eclipse.org/skins/eclipsenova/eclipse.png" alt="Eclipse Wiki">
</div>
<!-- Pulled 101409 Mward -->
<div class="portlet" id="p-personal">
<div class="pBody">
<ul>
<li id="pt-login"><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL">Log in</a></li>
</ul>
</div>
</div>
<div id="header-icons">
<div id="sites">
<ul id="sitesUL">
<li><a href="http://www.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/eclipseIcon.png" width="28" height="28" alt="Eclipse Foundation" title="Eclipse Foundation" /><div>Eclipse Foundation</div></a></li>
<li><a href="http://marketplace.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/marketplace.png" width="28" height="28" alt="Eclipse Marketplace" title="Eclipse Marketplace" /><div>Eclipse Marketplace</div></a></li>
<li><a href="https://bugs.eclipse.org/bugs"><img src="http://dev.eclipse.org/custom_icons/system-search-bw.png" width="28" height="28" alt="Bugzilla" title="Bugzilla" /><div>Bugzilla</div></a></li>
<li><a href="http://live.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png" width="28" height="28" alt="Live" title="Live" /><div>Eclipse Live</div></a></li>
<li><a href="http://planeteclipse.org"><img src="http://dev.eclipse.org/large_icons/devices/audio-card.png" width="28" height="28" alt="PlanetEclipse" title="Planet" /><div>Planet Eclipse</div></a></li>
<li><a href="http://portal.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png" width="28" height="28" alt="Portal" title="Portal" /><div>My Foundation Portal</div></a></li>
</ul>
</div>
</div>
</div>
<!-- NEW HEADER STUFF HERE -->
<div id="header-menu">
<div id="header-nav">
<ul> <li><a class="first_one" href="http://wiki.eclipse.org/" target="_self">Home</a></li> <li><a href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li>
<li><a href="http://www.eclipse.org/users/" target="_self">Users</a></li>
<li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>
<li><a href="http://wiki.eclipse.org/index.php/Development_Resources" target="_self">Committers</a></li>
<li><a href="http://www.eclipse.org/resources/" target="_self">Resources</a></li>
<li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li>
<li><a href="http://www.eclipse.org/org/" target="_self">About Us</a></li>
</ul>
</div>
<div id="header-utils">
<!-- moved the search window here -->
<form action="http://wiki.eclipse.org/Special:Search" >
<input class="input" name="search" type="text" accesskey="f" value="" />
<input type='submit' onclick="this.submit();" name="go" id="searchGoButton" class="button" title="Go to a page with this exact name if one exists" value="Go" />&nbsp;
<input type='submit' onclick="this.submit();" name="fulltext" class="button" id="mw-searchButton" title="Search Eclipsepedia for this text" value="Search" />
</form>
</div>
</div>
<!-- Eclipse Additions for the Header stop here -->
<!-- Additions and mods for leftside nav Start here -->
<!--Started nav rip here-->
<!-- these are the nav controls main page, changes etc -->
<div id="novaContent" class="faux">
<div id="leftcol">
<ul id="leftnav">
<!-- these are the page controls, edit history etc -->
<li class="separator"><a class="separator">Navigation &#160;&#160;</li>
<li id="n-mainpage"><a href="http://wiki.eclipse.org/Main_Page">Main Page</a></li>
<li id="n-portal"><a href="http://wiki.eclipse.org/Eclipsepedia:Community_Portal">Community portal</a></li>
<li id="n-currentevents"><a href="http://wiki.eclipse.org/Eclipsepedia:Current_events">Current events</a></li>
<li id="n-recentchanges"><a href="http://wiki.eclipse.org/Special:Recentchanges">Recent changes</a></li>
<li id="n-randompage"><a href="http://wiki.eclipse.org/Special:Random">Random page</a></li>
<li id="n-help"><a href="http://wiki.eclipse.org/Help:Contents">Help</a></li>
<li class="separator"><a class="separator">Toolbox &#160;&#160;</a></li>
<li id="t-whatlinkshere"><a href="http://wiki.eclipse.org/Special:Whatlinkshere/SMILA/Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL">What links here</a></li>
<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL">Related changes</a></li>
<!-- This is the toolbox section -->
<li id="t-upload"><a href="http://wiki.eclipse.org/Special:Upload">Upload file</a></li>
<li id="t-specialpages"><a href="http://wiki.eclipse.org/Special:Specialpages">Special pages</a></li>
<li id="t-print"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL&amp;printable=yes">Printable version</a></li> <li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL&amp;oldid=286123">Permanent link</a></li> </ul>
</div>
<!-- Additions and mods for leftside nav End here -->
<div id="column-content">
<div id="content">
<a name="top" id="top"></a>
<div id="tabs">
<ul class="primary">
<li class="active"><a href="../Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL.html"><span class="tab">Page</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL&amp;action=edit"><span class="tab">Discussion</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL&amp;action=edit"><span class="tab">View source</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL&amp;action=history"><span class="tab">History</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Documentation/HowTo/How%20to%20filter%20and%20access%20record%20data%20in%20BPEL"><span class="tab">Edit</span></a></li>
</ul>
</div>
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
<h1 class="firstHeading">SMILA/Documentation/HowTo/How to filter and access record data in BPEL</h1>
<div id="bodyContent">
<h3 id="siteSub">From Eclipsepedia</h3>
<div id="contentSub"><span class="subpages">&lt; <a href="../../SMILA.html" title="SMILA">SMILA</a> | <a href="../Documentation.1.html" title="SMILA/Documentation">Documentation</a> | <a href="../Documentation/HowTo.html" title="SMILA/Documentation/HowTo">HowTo</a></span>(Redirected from <a href="http://wiki.eclipse.org/index.php?title=SMILA/Development_Guidelines/How_to_filter_and_access_record_data_in_BPEL&amp;redirect=no" title="SMILA/Development Guidelines/How to filter and access record data in BPEL">SMILA/Development Guidelines/How to filter and access record data in BPEL</a>)</div>
<div id="jump-to-nav">Jump to: <a href="How_to_filter_and_access_record_data_in_BPEL.html#column-one">navigation</a>, <a href="How_to_filter_and_access_record_data_in_BPEL.html#searchInput">search</a></div> <!-- start content -->
<p>This tutorial shows how to add <a href="../Glossary.html#R" title="SMILA/Glossary">record</a> <a href="../Glossary.html#A" title="SMILA/Glossary">attributes</a> to a BPEL workflow object and read or write them. Note that this procedure is only necessary if you want to make record data available for being used in BPEL, e.g. to evaluate conditions in the BPEL pipeline or to pass data to external webservices. It is not required for the usage of <a href="../Glossary.html#P" title="SMILA/Glossary">pipelets</a>.
</p>
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="How_to_filter_and_access_record_data_in_BPEL.html#Adding_record_data_to_the_BPEL_workflow_object"><span class="tocnumber">1</span> <span class="toctext">Adding record data to the BPEL workflow object</span></a>
<ul>
<li class="toclevel-2"><a href="How_to_filter_and_access_record_data_in_BPEL.html#Example"><span class="tocnumber">1.1</span> <span class="toctext">Example</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="How_to_filter_and_access_record_data_in_BPEL.html#Using_records_in_BPEL"><span class="tocnumber">2</span> <span class="toctext">Using records in BPEL</span></a>
<ul>
<li class="toclevel-2"><a href="How_to_filter_and_access_record_data_in_BPEL.html#Examples"><span class="tocnumber">2.1</span> <span class="toctext">Examples</span></a>
<ul>
<li class="toclevel-3"><a href="How_to_filter_and_access_record_data_in_BPEL.html#Reading_an_attribute"><span class="tocnumber">2.1.1</span> <span class="toctext">Reading an attribute</span></a></li>
<li class="toclevel-3"><a href="How_to_filter_and_access_record_data_in_BPEL.html#Writing_an_attribute"><span class="tocnumber">2.1.2</span> <span class="toctext">Writing an attribute</span></a></li>
</ul>
</li>
<li class="toclevel-2"><a href="How_to_filter_and_access_record_data_in_BPEL.html#Examples_in_SMILA_source_code"><span class="tocnumber">2.2</span> <span class="toctext">Examples in SMILA source code</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<a name="Adding_record_data_to_the_BPEL_workflow_object"></a><h2> <span class="mw-headline"> Adding record data to the BPEL workflow object</span></h2>
<p>Because the workflow object contains the record IDs only, it is not possible by default to access the data contained in a record. However, you can configure the <a href="../Glossary.html#B" title="SMILA/Glossary">blackboard service</a> to add particular attributes and annotations to the workflow object to make theme available for being used in BPEL. This is achieved by providing the file <tt>org.eclipse.smila.blackboard/RecordFilters.xml</tt> in the global configuration folder and defining a filter named <i>workflow-object</i> that lists all attributes and annotations that you want to have access to in BPEL. The name of this filter is defined by the <i>record.filter</i> parameter set in the configuration file of the processing service found at <tt>org.eclipse.smila.processing.bpel/processor.properties</tt>. If you wish to write data to attributes you will have to add them to the filter likewise.
</p>
<a name="Example"></a><h3> <span class="mw-headline"> Example </span></h3>
<p>The following listing shows an exemplary configuration of the file <tt>RecordFilters.xml</tt>. It adds a couple of attributes (e.g. <i>Filename</i>, <i>Path</i>, <i>LastModifiedData</i>, ...) to the workflow object. For some of the attributes the <i>keepAnnotations</i> parameter is set to <i>"true"</i> to define that the object should include the annotations of the corresponding attribute too.
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;RecordFilters<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Filter</span> <span class="re0">name</span>=<span class="st0">&quot;workflow-object&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Filename&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Path&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">name</span>=<span class="st0">&quot;LastModifiedDate&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Url&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Title&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Extension&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Size&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">name</span>=<span class="st0">&quot;MimeType&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/Filter<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/RecordFilters<span class="re2">&gt;</span></span></span></pre></div>
<a name="Using_records_in_BPEL"></a><h2> <span class="mw-headline"> Using records in BPEL </span></h2>
<p>Next to the configuration of the attribute/annotation filter mentioned above, you will have to make sure that the following requirements are met if you wish to access records in BPEL:
</p>
<ul><li> The XML namespaces for <tt>processor</tt> and <tt>record</tt> must be defined.
</li><li> The processor <i>processor.wsdl</i> must be imported.
</li><li> A variable (e.g. <i>request</i>) must be defined that contains the <i>ProcessorMessage</i>.
</li></ul>
<p>Here are the corresponding XML snippets:
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;process</span> ... <span class="re0">xmlns:proc</span>=<span class="st0">&quot;http://www.eclipse.org/smila/processor&quot;</span> <span class="re0">xmlns:rec</span>=<span class="st0">&quot;http://www.eclipse.org/smila/record&quot;</span> ... <span class="re2">&gt;</span></span>
...
<span class="sc3"><span class="re1">&lt;import</span> <span class="re0">location</span>=<span class="st0">&quot;processor.wsdl&quot;</span> <span class="re0">namespace</span>=<span class="st0">&quot;http://www.eclipse.org/smila/processor&quot;</span>
<span class="re0">importType</span>=<span class="st0">&quot;http://schemas.xmlsoap.org/wsdl/&quot;</span> <span class="re2">/&gt;</span></span>
...
<span class="sc3"><span class="re1">&lt;variables<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;variable</span> <span class="re0">name</span>=<span class="st0">&quot;request&quot;</span> <span class="re0">messageType</span>=<span class="st0">&quot;proc:ProcessorMessage&quot;</span> <span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/variables<span class="re2">&gt;</span></span></span>
...
<span class="sc3"><span class="re1">&lt;/process<span class="re2">&gt;</span></span></span></pre></div>
<p>Provided that you added the filter configuration and ensured the requirements above it is possible to access records and their contents via the variable <i>request</i>. This variable contains an array of records. Each record can be accessed via its index number (starting at 1). So to be able to process all records, you will have to wrap the record access and execution of any business logic in a loop.
</p><p>Here are some templates to access (read or write):
</p>
<ul><li> an attribute value: <tt>$&lt;variable&gt;.records/rec:Record[position()=&lt;index&gt;]/rec:Val[@key="&lt;Attribute-Name&gt;"]</tt>
</li></ul>
<p>For more details on the XML schemas and the WSDL see the files <tt>id.xsd</tt>, <tt>record.xsd</tt>, and <tt>processor.wsdl</tt> in the folder <tt>configuration/org.eclipse.smila.processing.bpel/pipelines</tt>.
</p>
<a name="Examples"></a><h3> <span class="mw-headline"> Examples </span></h3>
<a name="Reading_an_attribute"></a><h4> <span class="mw-headline"> Reading an attribute </span></h4>
<p>The value of the attribute <i>Title</i> is read from the first record and stored in the variable <i>input.param</i>.
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml">...
<span class="sc3"><span class="re1">&lt;assign</span> <span class="re0">name</span>=<span class="st0">&quot;copy-attribute-to-variable&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;copy<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;from<span class="re2">&gt;</span></span></span>$request.records/rec:Record[position()=1]/rec:Val[@key=&quot;Title&quot;]<span class="sc3"><span class="re1">&lt;/from<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;to<span class="re2">&gt;</span></span></span>$input.param<span class="sc3"><span class="re1">&lt;/to<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/copy<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/assign<span class="re2">&gt;</span></span></span>
...</pre></div>
<a name="Writing_an_attribute"></a><h4> <span class="mw-headline"> Writing an attribute </span></h4>
<p>The value of the variable <i>response.param</i> is stored in the attribute <i>Title</i> of the second record.
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml">...
<span class="sc3"><span class="re1">&lt;assign</span> <span class="re0">name</span>=<span class="st0">&quot;copy-variable-to-attribute&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;copy<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;from<span class="re2">&gt;</span></span></span>$response.param<span class="sc3"><span class="re1">&lt;/from<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;to<span class="re2">&gt;</span></span></span>$request.records/rec:Record[position()=2]/rec:Val[@key=&quot;Title&quot;]/text()<span class="sc3"><span class="re1">&lt;/to<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/copy<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/assign<span class="re2">&gt;</span></span></span>
...</pre></div>
<p>Note that in standard BPEL the target element that you want to write data to, must already exist before text can be stored in it, thus it is not possible to add new attributes, literal, and values to the workflow object this simply.
</p>
<a name="Examples_in_SMILA_source_code"></a><h3> <span class="mw-headline"> Examples in SMILA source code </span></h3>
<p>Have a look at the pipelines of the standard configuration in <tt><a href="https://dev.eclipse.org/svnroot/rt/org.eclipse.smila/trunk/core/SMILA.application/configuration/org.eclipse.smila.processing.bpel/pipelines" class="external text" title="https://dev.eclipse.org/svnroot/rt/org.eclipse.smila/trunk/core/SMILA.application/configuration/org.eclipse.smila.processing.bpel/pipelines" rel="nofollow">SMILA.application/configuration/org.eclipse.smila.processing.bpel/pipelines</a></tt> or the test pipelines in bundle <tt><a href="https://dev.eclipse.org/svnroot/rt/org.eclipse.smila/trunk/core/org.eclipse.smila.processing.bpel.test/configuration/org.eclipse.smila.processing.bpel/pipelines" class="external text" title="https://dev.eclipse.org/svnroot/rt/org.eclipse.smila/trunk/core/org.eclipse.smila.processing.bpel.test/configuration/org.eclipse.smila.processing.bpel/pipelines" rel="nofollow">org.eclipse.smila.processing.bpel.test/configuration/org.eclipse.smila.processing.bpel/pipelines</a></tt>. You can find lots of examples for usage of BPEL control structures and XPath queries in there.
</p>
<!--
NewPP limit report
Preprocessor node count: 32/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
#ifexist count: 0/100
-->
<!-- Saved in parser cache with key wikidb:pcache:idhash:16151-0!1!0!!en!2!edit=0 and timestamp 20120203101144 -->
<div class="printfooter">
Retrieved from "<a href="../Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL.html">http://wiki.eclipse.org/SMILA/Documentation/HowTo/How_to_filter_and_access_record_data_in_BPEL</a>"</div>
<!-- end content -->
<div class="visualClear"></div>
</div>
</div>
</div>
<!-- Yoink of toolbox for phoenix moved up -->
</div>
</div>
<div id="clearFooter"/>
<div id="footer" >
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
<li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact</a></li>
<li><a href="http://wiki.eclipse.org/Eclipsepedia:About" title="Eclipsepedia:About">About Eclipsepedia</a></li>
</ul>
<span id="copyright">Copyright &copy; 2012 The Eclipse Foundation. All Rights Reserved</span>
<p id="footercredit">This page was last modified 13:28, 24 January 2012 by <a href="http://wiki.eclipse.org/index.php?title=User:Juergen.schumacher.attensity.com&amp;action=edit" class="new" title="User:Juergen.schumacher.attensity.com">Juergen Schumacher</a>. Based on work by <a href="http://wiki.eclipse.org/index.php?title=User:Pwissel.brox.de&amp;action=edit" class="new" title="User:Pwissel.brox.de">Peter Wissel</a>, <a href="http://wiki.eclipse.org/User:Daniel.stucky.empolis.com" title="User:Daniel.stucky.empolis.com">Daniel Stucky</a> and <a href="http://wiki.eclipse.org/User:Juergen.schumacher.empolis.com" title="User:Juergen.schumacher.empolis.com">Juergen Schumacher</a>.</p>
<p id="footerviews">This page has been accessed 3,251 times.</p>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-910670-4");
pageTracker._trackPageview();
</script>
<!-- <div class="visualClear"></div> -->
<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
</div>
<!-- Served in 0.105 secs. --></body></html>