<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://gvwiki.greenvulcano.com/gvwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=C.romano</id>
	<title>GreenVulcano Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://gvwiki.greenvulcano.com/gvwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=C.romano"/>
	<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Special:Contributions/C.romano"/>
	<updated>2026-04-13T08:36:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.7</generator>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4516</id>
		<title>VulCon</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4516"/>
		<updated>2017-03-27T11:39:52Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Configuration 3.6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
[[File:VulconWorkingArea.jpg|thumb|{{VULCON}} working area]]&lt;br /&gt;
{{VULCON}} is a graphical console that helps the users to design and configure {{GVESB}} business flows.&lt;br /&gt;
It's an [http://www.eclipse.org/Eclipse] plug-in.&lt;br /&gt;
&lt;br /&gt;
The actors involved in {{GVESB}} business flows implementation are:&lt;br /&gt;
*Business Analyst: designs the business flow regardless how to interface systems.&lt;br /&gt;
*Technical specialist: configures the flow designed by Business Analyst, adding all technical information needed to interface systems.&lt;br /&gt;
&lt;br /&gt;
At the end of design and configuration job, the user is able to generate a zip file containing all necessary {{GVESB}} files, in order to deploy and test the business flows by means of {{L_GVCONSOLE}}.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
In order to install and run {{VULCON}} plug-in, you must accomplish the following requirements:&lt;br /&gt;
*Java JDK SE (v.1.6 or higher) [http://www.oracle.com/technetwork/java/javase/downloads/index.html download]&lt;br /&gt;
*Eclipse IDE for Java EE Developers (v.3.5 or higher) [http://www.eclipse.org/downloads/ download]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
[[File:VulConPlugin.jpg|thumb|{{VULCON}} plug-in installation]]&lt;br /&gt;
The installation procedure consists in decompressing the vulcon-(Version Number).zip file and then copying the jar file into [http://www.eclipse.org/ Eclipse] dropins folder. After starting Eclipse, you can check if the plug-in has been installed correctly, following the menu item &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Help --&amp;gt; About Eclipse Platform --&amp;gt; Installation Details.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the plug-in list check if &amp;quot;{{VULCON}} Editor&amp;quot; is present, in this case it has been successfully installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} plugin is changed. To install or update the {{VULCON}} plugin, an Eclipse update site is now available at the following URL:&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;nowiki&amp;gt;http://www.greenvulcano.com/download/vulcon/update-site&amp;lt;/nowiki&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
To install or update the {{VULCON}} plugin, follow the following steps:&lt;br /&gt;
# Select Help &amp;gt; Install New Software...&lt;br /&gt;
# In the Work with field, type the update site and click Add...&lt;br /&gt;
# Enter a name for the update site (e.g. ''{{VULCON}} update site'') and click Ok&lt;br /&gt;
# Check the ''GreenVulcano'' checkbox and click Next. Then follow the dialogs to install the provided features.&lt;br /&gt;
&lt;br /&gt;
At installation completion, check if it was successful looking at menu, &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to see {{VULCON}} license information&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Open Windows --&amp;gt; Preferences --&amp;gt; VulCon License.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
From this section you can see:&lt;br /&gt;
*the product expiration date&lt;br /&gt;
*max {{VULCON}} service's operation&lt;br /&gt;
*max {{VULCON}} system's operation&lt;br /&gt;
*max {{VULCON}} services&lt;br /&gt;
*max {{VULCON}} systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
[[File:licensevulcon.png|thumb|{{VULCON}} License]]&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} license can be done using the following form:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon --&amp;gt; VulCon License --&amp;gt; Install License File.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
here you can upload the license received by email.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Next steps==&lt;br /&gt;
In order to learn more about {{VULCON}} user interface see [[Example Creating a new VulCon project]] and [[{{VULCON}} perspective]] section. Otherwise, if you already know the user interface, you may want to design and configure your [[{{VULCON}} first flow]]. Once implemented your business flow you may visit the [[{{VULCON}} deploy]], and to test it you must use {{L_GVCONSOLE}} deploy. If you have an existing {{VULCON}} project you can [[import]] it. To manage the life cycle of your application you can use [[HP Systinet]]. &lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
See the amazing [[Debugger]] available from {{GVESB}} v3.3, the essential tool for your productivity.&lt;br /&gt;
Find [[WizardConfiguration|here]] the new {{VULCON}} configuration wizard.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.6&amp;quot;&amp;gt;&lt;br /&gt;
==Version 3.6==&lt;br /&gt;
Version 3.6 has the following new features:&lt;br /&gt;
*It is unlicensed&lt;br /&gt;
*There are four tabs: Services, console, and core Adapter&lt;br /&gt;
*you can configure the debug of different versions of GreenVulcano ESB server&lt;br /&gt;
==Configuration 3.6==&lt;br /&gt;
[[File:configTab.jpeg|thumb|{{VULCON}} working area]]&lt;br /&gt;
[[File:configDebug.jpeg|thumb|{{VULCON}} working area]]&lt;br /&gt;
go to: Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
configure object in Tree Tab and Debug parameter &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4515</id>
		<title>VulCon</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4515"/>
		<updated>2017-03-27T11:39:13Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Configuration 3.6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
[[File:VulconWorkingArea.jpg|thumb|{{VULCON}} working area]]&lt;br /&gt;
{{VULCON}} is a graphical console that helps the users to design and configure {{GVESB}} business flows.&lt;br /&gt;
It's an [http://www.eclipse.org/Eclipse] plug-in.&lt;br /&gt;
&lt;br /&gt;
The actors involved in {{GVESB}} business flows implementation are:&lt;br /&gt;
*Business Analyst: designs the business flow regardless how to interface systems.&lt;br /&gt;
*Technical specialist: configures the flow designed by Business Analyst, adding all technical information needed to interface systems.&lt;br /&gt;
&lt;br /&gt;
At the end of design and configuration job, the user is able to generate a zip file containing all necessary {{GVESB}} files, in order to deploy and test the business flows by means of {{L_GVCONSOLE}}.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
In order to install and run {{VULCON}} plug-in, you must accomplish the following requirements:&lt;br /&gt;
*Java JDK SE (v.1.6 or higher) [http://www.oracle.com/technetwork/java/javase/downloads/index.html download]&lt;br /&gt;
*Eclipse IDE for Java EE Developers (v.3.5 or higher) [http://www.eclipse.org/downloads/ download]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
[[File:VulConPlugin.jpg|thumb|{{VULCON}} plug-in installation]]&lt;br /&gt;
The installation procedure consists in decompressing the vulcon-(Version Number).zip file and then copying the jar file into [http://www.eclipse.org/ Eclipse] dropins folder. After starting Eclipse, you can check if the plug-in has been installed correctly, following the menu item &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Help --&amp;gt; About Eclipse Platform --&amp;gt; Installation Details.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the plug-in list check if &amp;quot;{{VULCON}} Editor&amp;quot; is present, in this case it has been successfully installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} plugin is changed. To install or update the {{VULCON}} plugin, an Eclipse update site is now available at the following URL:&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;nowiki&amp;gt;http://www.greenvulcano.com/download/vulcon/update-site&amp;lt;/nowiki&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
To install or update the {{VULCON}} plugin, follow the following steps:&lt;br /&gt;
# Select Help &amp;gt; Install New Software...&lt;br /&gt;
# In the Work with field, type the update site and click Add...&lt;br /&gt;
# Enter a name for the update site (e.g. ''{{VULCON}} update site'') and click Ok&lt;br /&gt;
# Check the ''GreenVulcano'' checkbox and click Next. Then follow the dialogs to install the provided features.&lt;br /&gt;
&lt;br /&gt;
At installation completion, check if it was successful looking at menu, &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to see {{VULCON}} license information&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Open Windows --&amp;gt; Preferences --&amp;gt; VulCon License.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
From this section you can see:&lt;br /&gt;
*the product expiration date&lt;br /&gt;
*max {{VULCON}} service's operation&lt;br /&gt;
*max {{VULCON}} system's operation&lt;br /&gt;
*max {{VULCON}} services&lt;br /&gt;
*max {{VULCON}} systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
[[File:licensevulcon.png|thumb|{{VULCON}} License]]&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} license can be done using the following form:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon --&amp;gt; VulCon License --&amp;gt; Install License File.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
here you can upload the license received by email.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Next steps==&lt;br /&gt;
In order to learn more about {{VULCON}} user interface see [[Example Creating a new VulCon project]] and [[{{VULCON}} perspective]] section. Otherwise, if you already know the user interface, you may want to design and configure your [[{{VULCON}} first flow]]. Once implemented your business flow you may visit the [[{{VULCON}} deploy]], and to test it you must use {{L_GVCONSOLE}} deploy. If you have an existing {{VULCON}} project you can [[import]] it. To manage the life cycle of your application you can use [[HP Systinet]]. &lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
See the amazing [[Debugger]] available from {{GVESB}} v3.3, the essential tool for your productivity.&lt;br /&gt;
Find [[WizardConfiguration|here]] the new {{VULCON}} configuration wizard.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.6&amp;quot;&amp;gt;&lt;br /&gt;
==Version 3.6==&lt;br /&gt;
Version 3.6 has the following new features:&lt;br /&gt;
*It is unlicensed&lt;br /&gt;
*There are four tabs: Services, console, and core Adapter&lt;br /&gt;
*you can configure the debug of different versions of GreenVulcano ESB server&lt;br /&gt;
==Configuration 3.6==&lt;br /&gt;
[[File:configTab.jpeg|thumb|{{VULCON}} working area]]&lt;br /&gt;
[[File:configDebug.jpeg|thumb|{{VULCON}} working area]]&lt;br /&gt;
go to: Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
configure object in Tree Tab and Debug parameter &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4514</id>
		<title>VulCon</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4514"/>
		<updated>2017-03-27T11:38:41Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Configuration 3.6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
[[File:VulconWorkingArea.jpg|thumb|{{VULCON}} working area]]&lt;br /&gt;
{{VULCON}} is a graphical console that helps the users to design and configure {{GVESB}} business flows.&lt;br /&gt;
It's an [http://www.eclipse.org/Eclipse] plug-in.&lt;br /&gt;
&lt;br /&gt;
The actors involved in {{GVESB}} business flows implementation are:&lt;br /&gt;
*Business Analyst: designs the business flow regardless how to interface systems.&lt;br /&gt;
*Technical specialist: configures the flow designed by Business Analyst, adding all technical information needed to interface systems.&lt;br /&gt;
&lt;br /&gt;
At the end of design and configuration job, the user is able to generate a zip file containing all necessary {{GVESB}} files, in order to deploy and test the business flows by means of {{L_GVCONSOLE}}.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
In order to install and run {{VULCON}} plug-in, you must accomplish the following requirements:&lt;br /&gt;
*Java JDK SE (v.1.6 or higher) [http://www.oracle.com/technetwork/java/javase/downloads/index.html download]&lt;br /&gt;
*Eclipse IDE for Java EE Developers (v.3.5 or higher) [http://www.eclipse.org/downloads/ download]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
[[File:VulConPlugin.jpg|thumb|{{VULCON}} plug-in installation]]&lt;br /&gt;
The installation procedure consists in decompressing the vulcon-(Version Number).zip file and then copying the jar file into [http://www.eclipse.org/ Eclipse] dropins folder. After starting Eclipse, you can check if the plug-in has been installed correctly, following the menu item &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Help --&amp;gt; About Eclipse Platform --&amp;gt; Installation Details.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the plug-in list check if &amp;quot;{{VULCON}} Editor&amp;quot; is present, in this case it has been successfully installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} plugin is changed. To install or update the {{VULCON}} plugin, an Eclipse update site is now available at the following URL:&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;nowiki&amp;gt;http://www.greenvulcano.com/download/vulcon/update-site&amp;lt;/nowiki&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
To install or update the {{VULCON}} plugin, follow the following steps:&lt;br /&gt;
# Select Help &amp;gt; Install New Software...&lt;br /&gt;
# In the Work with field, type the update site and click Add...&lt;br /&gt;
# Enter a name for the update site (e.g. ''{{VULCON}} update site'') and click Ok&lt;br /&gt;
# Check the ''GreenVulcano'' checkbox and click Next. Then follow the dialogs to install the provided features.&lt;br /&gt;
&lt;br /&gt;
At installation completion, check if it was successful looking at menu, &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to see {{VULCON}} license information&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Open Windows --&amp;gt; Preferences --&amp;gt; VulCon License.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
From this section you can see:&lt;br /&gt;
*the product expiration date&lt;br /&gt;
*max {{VULCON}} service's operation&lt;br /&gt;
*max {{VULCON}} system's operation&lt;br /&gt;
*max {{VULCON}} services&lt;br /&gt;
*max {{VULCON}} systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
[[File:licensevulcon.png|thumb|{{VULCON}} License]]&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} license can be done using the following form:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon --&amp;gt; VulCon License --&amp;gt; Install License File.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
here you can upload the license received by email.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Next steps==&lt;br /&gt;
In order to learn more about {{VULCON}} user interface see [[Example Creating a new VulCon project]] and [[{{VULCON}} perspective]] section. Otherwise, if you already know the user interface, you may want to design and configure your [[{{VULCON}} first flow]]. Once implemented your business flow you may visit the [[{{VULCON}} deploy]], and to test it you must use {{L_GVCONSOLE}} deploy. If you have an existing {{VULCON}} project you can [[import]] it. To manage the life cycle of your application you can use [[HP Systinet]]. &lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
See the amazing [[Debugger]] available from {{GVESB}} v3.3, the essential tool for your productivity.&lt;br /&gt;
Find [[WizardConfiguration|here]] the new {{VULCON}} configuration wizard.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.6&amp;quot;&amp;gt;&lt;br /&gt;
==Version 3.6==&lt;br /&gt;
Version 3.6 has the following new features:&lt;br /&gt;
*It is unlicensed&lt;br /&gt;
*There are four tabs: Services, console, and core Adapter&lt;br /&gt;
*you can configure the debug of different versions of GreenVulcano ESB server&lt;br /&gt;
==Configuration 3.6==&lt;br /&gt;
[[File:configTab.jpeg|thumb|{{VULCON}} working area]]&lt;br /&gt;
[[File:configDebug.jpeg|thumb|{{VULCON}} working area]]&lt;br /&gt;
go to: Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
configure object in Tree Tab and Debug paramter &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4513</id>
		<title>VulCon</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4513"/>
		<updated>2017-03-27T11:37:19Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
[[File:VulconWorkingArea.jpg|thumb|{{VULCON}} working area]]&lt;br /&gt;
{{VULCON}} is a graphical console that helps the users to design and configure {{GVESB}} business flows.&lt;br /&gt;
It's an [http://www.eclipse.org/Eclipse] plug-in.&lt;br /&gt;
&lt;br /&gt;
The actors involved in {{GVESB}} business flows implementation are:&lt;br /&gt;
*Business Analyst: designs the business flow regardless how to interface systems.&lt;br /&gt;
*Technical specialist: configures the flow designed by Business Analyst, adding all technical information needed to interface systems.&lt;br /&gt;
&lt;br /&gt;
At the end of design and configuration job, the user is able to generate a zip file containing all necessary {{GVESB}} files, in order to deploy and test the business flows by means of {{L_GVCONSOLE}}.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
In order to install and run {{VULCON}} plug-in, you must accomplish the following requirements:&lt;br /&gt;
*Java JDK SE (v.1.6 or higher) [http://www.oracle.com/technetwork/java/javase/downloads/index.html download]&lt;br /&gt;
*Eclipse IDE for Java EE Developers (v.3.5 or higher) [http://www.eclipse.org/downloads/ download]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
[[File:VulConPlugin.jpg|thumb|{{VULCON}} plug-in installation]]&lt;br /&gt;
The installation procedure consists in decompressing the vulcon-(Version Number).zip file and then copying the jar file into [http://www.eclipse.org/ Eclipse] dropins folder. After starting Eclipse, you can check if the plug-in has been installed correctly, following the menu item &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Help --&amp;gt; About Eclipse Platform --&amp;gt; Installation Details.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the plug-in list check if &amp;quot;{{VULCON}} Editor&amp;quot; is present, in this case it has been successfully installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} plugin is changed. To install or update the {{VULCON}} plugin, an Eclipse update site is now available at the following URL:&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;nowiki&amp;gt;http://www.greenvulcano.com/download/vulcon/update-site&amp;lt;/nowiki&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
To install or update the {{VULCON}} plugin, follow the following steps:&lt;br /&gt;
# Select Help &amp;gt; Install New Software...&lt;br /&gt;
# In the Work with field, type the update site and click Add...&lt;br /&gt;
# Enter a name for the update site (e.g. ''{{VULCON}} update site'') and click Ok&lt;br /&gt;
# Check the ''GreenVulcano'' checkbox and click Next. Then follow the dialogs to install the provided features.&lt;br /&gt;
&lt;br /&gt;
At installation completion, check if it was successful looking at menu, &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to see {{VULCON}} license information&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Open Windows --&amp;gt; Preferences --&amp;gt; VulCon License.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
From this section you can see:&lt;br /&gt;
*the product expiration date&lt;br /&gt;
*max {{VULCON}} service's operation&lt;br /&gt;
*max {{VULCON}} system's operation&lt;br /&gt;
*max {{VULCON}} services&lt;br /&gt;
*max {{VULCON}} systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
[[File:licensevulcon.png|thumb|{{VULCON}} License]]&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} license can be done using the following form:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon --&amp;gt; VulCon License --&amp;gt; Install License File.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
here you can upload the license received by email.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Next steps==&lt;br /&gt;
In order to learn more about {{VULCON}} user interface see [[Example Creating a new VulCon project]] and [[{{VULCON}} perspective]] section. Otherwise, if you already know the user interface, you may want to design and configure your [[{{VULCON}} first flow]]. Once implemented your business flow you may visit the [[{{VULCON}} deploy]], and to test it you must use {{L_GVCONSOLE}} deploy. If you have an existing {{VULCON}} project you can [[import]] it. To manage the life cycle of your application you can use [[HP Systinet]]. &lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
See the amazing [[Debugger]] available from {{GVESB}} v3.3, the essential tool for your productivity.&lt;br /&gt;
Find [[WizardConfiguration|here]] the new {{VULCON}} configuration wizard.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.6&amp;quot;&amp;gt;&lt;br /&gt;
==Version 3.6==&lt;br /&gt;
Version 3.6 has the following new features:&lt;br /&gt;
*It is unlicensed&lt;br /&gt;
*There are four tabs: Services, console, and core Adapter&lt;br /&gt;
*you can configure the debug of different versions of GreenVulcano ESB server&lt;br /&gt;
==Configuration 3.6==&lt;br /&gt;
[[File:VulconWorkingArea.jpg|thumb|{{VULCON}} working area]]&lt;br /&gt;
go to: Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
configure object in Tree Tab and Debug paramter &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ConfigDebug.jpeg&amp;diff=4512</id>
		<title>File:ConfigDebug.jpeg</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ConfigDebug.jpeg&amp;diff=4512"/>
		<updated>2017-03-27T11:06:57Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ConfigTab.jpeg&amp;diff=4511</id>
		<title>File:ConfigTab.jpeg</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ConfigTab.jpeg&amp;diff=4511"/>
		<updated>2017-03-27T11:05:49Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4510</id>
		<title>VulCon</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4510"/>
		<updated>2017-03-27T11:01:22Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
[[File:VulconWorkingArea.jpg|thumb|{{VULCON}} working area]]&lt;br /&gt;
{{VULCON}} is a graphical console that helps the users to design and configure {{GVESB}} business flows.&lt;br /&gt;
It's an [http://www.eclipse.org/Eclipse] plug-in.&lt;br /&gt;
&lt;br /&gt;
The actors involved in {{GVESB}} business flows implementation are:&lt;br /&gt;
*Business Analyst: designs the business flow regardless how to interface systems.&lt;br /&gt;
*Technical specialist: configures the flow designed by Business Analyst, adding all technical information needed to interface systems.&lt;br /&gt;
&lt;br /&gt;
At the end of design and configuration job, the user is able to generate a zip file containing all necessary {{GVESB}} files, in order to deploy and test the business flows by means of {{L_GVCONSOLE}}.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
In order to install and run {{VULCON}} plug-in, you must accomplish the following requirements:&lt;br /&gt;
*Java JDK SE (v.1.6 or higher) [http://www.oracle.com/technetwork/java/javase/downloads/index.html download]&lt;br /&gt;
*Eclipse IDE for Java EE Developers (v.3.5 or higher) [http://www.eclipse.org/downloads/ download]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
[[File:VulConPlugin.jpg|thumb|{{VULCON}} plug-in installation]]&lt;br /&gt;
The installation procedure consists in decompressing the vulcon-(Version Number).zip file and then copying the jar file into [http://www.eclipse.org/ Eclipse] dropins folder. After starting Eclipse, you can check if the plug-in has been installed correctly, following the menu item &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Help --&amp;gt; About Eclipse Platform --&amp;gt; Installation Details.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the plug-in list check if &amp;quot;{{VULCON}} Editor&amp;quot; is present, in this case it has been successfully installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} plugin is changed. To install or update the {{VULCON}} plugin, an Eclipse update site is now available at the following URL:&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;nowiki&amp;gt;http://www.greenvulcano.com/download/vulcon/update-site&amp;lt;/nowiki&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
To install or update the {{VULCON}} plugin, follow the following steps:&lt;br /&gt;
# Select Help &amp;gt; Install New Software...&lt;br /&gt;
# In the Work with field, type the update site and click Add...&lt;br /&gt;
# Enter a name for the update site (e.g. ''{{VULCON}} update site'') and click Ok&lt;br /&gt;
# Check the ''GreenVulcano'' checkbox and click Next. Then follow the dialogs to install the provided features.&lt;br /&gt;
&lt;br /&gt;
At installation completion, check if it was successful looking at menu, &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to see {{VULCON}} license information&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Open Windows --&amp;gt; Preferences --&amp;gt; VulCon License.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
From this section you can see:&lt;br /&gt;
*the product expiration date&lt;br /&gt;
*max {{VULCON}} service's operation&lt;br /&gt;
*max {{VULCON}} system's operation&lt;br /&gt;
*max {{VULCON}} services&lt;br /&gt;
*max {{VULCON}} systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
[[File:licensevulcon.png|thumb|{{VULCON}} License]]&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} license can be done using the following form:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon --&amp;gt; VulCon License --&amp;gt; Install License File.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
here you can upload the license received by email.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Next steps==&lt;br /&gt;
In order to learn more about {{VULCON}} user interface see [[Example Creating a new VulCon project]] and [[{{VULCON}} perspective]] section. Otherwise, if you already know the user interface, you may want to design and configure your [[{{VULCON}} first flow]]. Once implemented your business flow you may visit the [[{{VULCON}} deploy]], and to test it you must use {{L_GVCONSOLE}} deploy. If you have an existing {{VULCON}} project you can [[import]] it. To manage the life cycle of your application you can use [[HP Systinet]]. &lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
See the amazing [[Debugger]] available from {{GVESB}} v3.3, the essential tool for your productivity.&lt;br /&gt;
Find [[WizardConfiguration|here]] the new {{VULCON}} configuration wizard.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.6&amp;quot;&amp;gt;&lt;br /&gt;
==Version 3.6==&lt;br /&gt;
Version 3.6 has the following new features:&lt;br /&gt;
*It is unlicensed&lt;br /&gt;
*There are four tabs: Services, console, and core Adapter&lt;br /&gt;
*you can configure the debug of different versions of GreenVulcano ESB server&lt;br /&gt;
==Configuration 3.6==&lt;br /&gt;
go to: Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
configure object in Tree Tab and Debug paramter &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4509</id>
		<title>VulCon</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4509"/>
		<updated>2017-03-27T10:56:05Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
[[File:VulconWorkingArea.jpg|thumb|{{VULCON}} working area]]&lt;br /&gt;
{{VULCON}} is a graphical console that helps the users to design and configure {{GVESB}} business flows.&lt;br /&gt;
It's an [http://www.eclipse.org/Eclipse] plug-in.&lt;br /&gt;
&lt;br /&gt;
The actors involved in {{GVESB}} business flows implementation are:&lt;br /&gt;
*Business Analyst: designs the business flow regardless how to interface systems.&lt;br /&gt;
*Technical specialist: configures the flow designed by Business Analyst, adding all technical information needed to interface systems.&lt;br /&gt;
&lt;br /&gt;
At the end of design and configuration job, the user is able to generate a zip file containing all necessary {{GVESB}} files, in order to deploy and test the business flows by means of {{L_GVCONSOLE}}.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
In order to install and run {{VULCON}} plug-in, you must accomplish the following requirements:&lt;br /&gt;
*Java JDK SE (v.1.6 or higher) [http://www.oracle.com/technetwork/java/javase/downloads/index.html download]&lt;br /&gt;
*Eclipse IDE for Java EE Developers (v.3.5 or higher) [http://www.eclipse.org/downloads/ download]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
[[File:VulConPlugin.jpg|thumb|{{VULCON}} plug-in installation]]&lt;br /&gt;
The installation procedure consists in decompressing the vulcon-(Version Number).zip file and then copying the jar file into [http://www.eclipse.org/ Eclipse] dropins folder. After starting Eclipse, you can check if the plug-in has been installed correctly, following the menu item &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Help --&amp;gt; About Eclipse Platform --&amp;gt; Installation Details.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the plug-in list check if &amp;quot;{{VULCON}} Editor&amp;quot; is present, in this case it has been successfully installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} plugin is changed. To install or update the {{VULCON}} plugin, an Eclipse update site is now available at the following URL:&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;nowiki&amp;gt;http://www.greenvulcano.com/download/vulcon/update-site&amp;lt;/nowiki&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
To install or update the {{VULCON}} plugin, follow the following steps:&lt;br /&gt;
# Select Help &amp;gt; Install New Software...&lt;br /&gt;
# In the Work with field, type the update site and click Add...&lt;br /&gt;
# Enter a name for the update site (e.g. ''{{VULCON}} update site'') and click Ok&lt;br /&gt;
# Check the ''GreenVulcano'' checkbox and click Next. Then follow the dialogs to install the provided features.&lt;br /&gt;
&lt;br /&gt;
At installation completion, check if it was successful looking at menu, &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to see {{VULCON}} license information&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Open Windows --&amp;gt; Preferences --&amp;gt; VulCon License.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
From this section you can see:&lt;br /&gt;
*the product expiration date&lt;br /&gt;
*max {{VULCON}} service's operation&lt;br /&gt;
*max {{VULCON}} system's operation&lt;br /&gt;
*max {{VULCON}} services&lt;br /&gt;
*max {{VULCON}} systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
[[File:licensevulcon.png|thumb|{{VULCON}} License]]&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} license can be done using the following form:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon --&amp;gt; VulCon License --&amp;gt; Install License File.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
here you can upload the license received by email.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Next steps==&lt;br /&gt;
In order to learn more about {{VULCON}} user interface see [[Example Creating a new VulCon project]] and [[{{VULCON}} perspective]] section. Otherwise, if you already know the user interface, you may want to design and configure your [[{{VULCON}} first flow]]. Once implemented your business flow you may visit the [[{{VULCON}} deploy]], and to test it you must use {{L_GVCONSOLE}} deploy. If you have an existing {{VULCON}} project you can [[import]] it. To manage the life cycle of your application you can use [[HP Systinet]]. &lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
See the amazing [[Debugger]] available from {{GVESB}} v3.3, the essential tool for your productivity.&lt;br /&gt;
Find [[WizardConfiguration|here]] the new {{VULCON}} configuration wizard.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.6&amp;quot;&amp;gt;&lt;br /&gt;
==Version 3.6==&lt;br /&gt;
Version 3.6 has the following new features:&lt;br /&gt;
*It is unlicensed&lt;br /&gt;
*There are four tabs: Services, console, and core Adapter&lt;br /&gt;
*you can configure the debug of different versions of GreenVulcano ESB server&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4508</id>
		<title>VulCon</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=VulCon&amp;diff=4508"/>
		<updated>2017-03-27T09:04:22Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
[[File:VulconWorkingArea.jpg|thumb|{{VULCON}} working area]]&lt;br /&gt;
{{VULCON}} is a graphical console that helps the users to design and configure {{GVESB}} business flows.&lt;br /&gt;
It's an [http://www.eclipse.org/Eclipse] plug-in.&lt;br /&gt;
&lt;br /&gt;
The actors involved in {{GVESB}} business flows implementation are:&lt;br /&gt;
*Business Analyst: designs the business flow regardless how to interface systems.&lt;br /&gt;
*Technical specialist: configures the flow designed by Business Analyst, adding all technical information needed to interface systems.&lt;br /&gt;
&lt;br /&gt;
At the end of design and configuration job, the user is able to generate a zip file containing all necessary {{GVESB}} files, in order to deploy and test the business flows by means of {{L_GVCONSOLE}}.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
In order to install and run {{VULCON}} plug-in, you must accomplish the following requirements:&lt;br /&gt;
*Java JDK SE (v.1.6 or higher) [http://www.oracle.com/technetwork/java/javase/downloads/index.html download]&lt;br /&gt;
*Eclipse IDE for Java EE Developers (v.3.5 or higher) [http://www.eclipse.org/downloads/ download]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
[[File:VulConPlugin.jpg|thumb|{{VULCON}} plug-in installation]]&lt;br /&gt;
The installation procedure consists in decompressing the vulcon-(Version Number).zip file and then copying the jar file into [http://www.eclipse.org/ Eclipse] dropins folder. After starting Eclipse, you can check if the plug-in has been installed correctly, following the menu item &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Help --&amp;gt; About Eclipse Platform --&amp;gt; Installation Details.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the plug-in list check if &amp;quot;{{VULCON}} Editor&amp;quot; is present, in this case it has been successfully installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} plugin is changed. To install or update the {{VULCON}} plugin, an Eclipse update site is now available at the following URL:&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;nowiki&amp;gt;http://www.greenvulcano.com/download/vulcon/update-site&amp;lt;/nowiki&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
To install or update the {{VULCON}} plugin, follow the following steps:&lt;br /&gt;
# Select Help &amp;gt; Install New Software...&lt;br /&gt;
# In the Work with field, type the update site and click Add...&lt;br /&gt;
# Enter a name for the update site (e.g. ''{{VULCON}} update site'') and click Ok&lt;br /&gt;
# Check the ''GreenVulcano'' checkbox and click Next. Then follow the dialogs to install the provided features.&lt;br /&gt;
&lt;br /&gt;
At installation completion, check if it was successful looking at menu, &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to see {{VULCON}} license information&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Open Windows --&amp;gt; Preferences --&amp;gt; VulCon License.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
From this section you can see:&lt;br /&gt;
*the product expiration date&lt;br /&gt;
*max {{VULCON}} service's operation&lt;br /&gt;
*max {{VULCON}} system's operation&lt;br /&gt;
*max {{VULCON}} services&lt;br /&gt;
*max {{VULCON}} systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
[[File:licensevulcon.png|thumb|{{VULCON}} License]]&lt;br /&gt;
Unlike the previous version, the installation of the {{VULCON}} license can be done using the following form:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Windows --&amp;gt; Preferences --&amp;gt; VulCon --&amp;gt; VulCon License --&amp;gt; Install License File.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
here you can upload the license received by email.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Next steps==&lt;br /&gt;
In order to learn more about {{VULCON}} user interface see [[Example Creating a new VulCon project]] and [[{{VULCON}} perspective]] section. Otherwise, if you already know the user interface, you may want to design and configure your [[{{VULCON}} first flow]]. Once implemented your business flow you may visit the [[{{VULCON}} deploy]], and to test it you must use {{L_GVCONSOLE}} deploy. If you have an existing {{VULCON}} project you can [[import]] it. To manage the life cycle of your application you can use [[HP Systinet]]. &lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
See the amazing [[Debugger]] available from {{GVESB}} v3.3, the essential tool for your productivity.&lt;br /&gt;
Find [[WizardConfiguration|here]] the new {{VULCON}} configuration wizard.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4371</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4371"/>
		<updated>2015-02-24T09:58:57Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
===Import Function===&lt;br /&gt;
The import function is a top-level element that is used to import the contents of one style sheet into another.&lt;br /&gt;
Is it possible to assign a value to a parameter of an imported stylesheet.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
*uri: attribute whose value is a URI reference identifying the stylesheet to be imported&lt;br /&gt;
*param-name: parameter of imported stylesheet (otional)&lt;br /&gt;
&lt;br /&gt;
[[File:Import.png|thumb|Import Function without parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImportWithParam.png|thumb|Import Function with parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
          exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:with-param name=&amp;quot;param&amp;quot; select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:import&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
*none: has not created any link&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
           exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
If you need to map the node and add a value you can use the link-and-value&lt;br /&gt;
[[File:Link-and-value.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
      exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4370</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4370"/>
		<updated>2015-02-24T09:58:04Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
===Import Function===&lt;br /&gt;
The import function is a top-level element that is used to import the contents of one style sheet into another.&lt;br /&gt;
Is it possible to assign a value to a parameter of an imported stylesheet.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
*uri: attribute whose value is a URI reference identifying the stylesheet to be imported&lt;br /&gt;
*param-name: parameter of imported stylesheet (otional)&lt;br /&gt;
&lt;br /&gt;
[[File:Import.png|thumb|Import Function without parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImportWithParam.png|thumb|Import Function with parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
          exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:with-param name=&amp;quot;param&amp;quot; select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:import&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
*none: has not created any link&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
           exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
If you need to map the node and add a value you can use the link-and-value&lt;br /&gt;
[[File:Link-and-value.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4369</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4369"/>
		<updated>2015-02-24T09:53:56Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
===Import Function===&lt;br /&gt;
The import function is a top-level element that is used to import the contents of one style sheet into another.&lt;br /&gt;
Is it possible to assign a value to a parameter of an imported stylesheet.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
*uri: attribute whose value is a URI reference identifying the stylesheet to be imported&lt;br /&gt;
*param-name: parameter of imported stylesheet (otional)&lt;br /&gt;
&lt;br /&gt;
[[File:Import.png|thumb|Import Function without parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImportWithParam.png|thumb|Import Function with parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
          exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:with-param name=&amp;quot;param&amp;quot; select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:import&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
*none: has not created any link&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
           exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
If you need to map the node and add a value you can use the link-and-value&lt;br /&gt;
[[File:Link-and-value.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4368</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4368"/>
		<updated>2015-02-24T09:52:14Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
===Import Function===&lt;br /&gt;
The import function is a top-level element that is used to import the contents of one style sheet into another.&lt;br /&gt;
Is it possible to assign a value to a parameter of an imported stylesheet.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
*uri: attribute whose value is a URI reference identifying the stylesheet to be imported&lt;br /&gt;
*param-name: parameter of imported stylesheet (otional)&lt;br /&gt;
&lt;br /&gt;
[[File:Import.png|thumb|Import Function without parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImportWithParam.png|thumb|Import Function with parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
          exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:with-param name=&amp;quot;param&amp;quot; select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:import&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
*none: has not created any link&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
           exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
If you need to map the node and add a value you can use the link-and-value&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:Link-and-value.png&amp;diff=4367</id>
		<title>File:Link-and-value.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:Link-and-value.png&amp;diff=4367"/>
		<updated>2015-02-24T09:51:49Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4366</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4366"/>
		<updated>2015-02-24T09:09:12Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
===Import Function===&lt;br /&gt;
The import function is a top-level element that is used to import the contents of one style sheet into another.&lt;br /&gt;
Is it possible to assign a value to a parameter of an imported stylesheet.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
*uri: attribute whose value is a URI reference identifying the stylesheet to be imported&lt;br /&gt;
*param-name: parameter of imported stylesheet (otional)&lt;br /&gt;
&lt;br /&gt;
[[File:Import.png|thumb|Import Function without parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImportWithParam.png|thumb|Import Function with parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
          exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:with-param name=&amp;quot;param&amp;quot; select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:import&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
*none: has not created any link&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
           exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4365</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4365"/>
		<updated>2015-02-24T09:06:20Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
===Import Function===&lt;br /&gt;
The import function is a top-level element that is used to import the contents of one style sheet into another.&lt;br /&gt;
Is it possible to assign a value to a parameter of an imported stylesheet.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
*uri: attribute whose value is a URI reference identifying the stylesheet to be imported&lt;br /&gt;
*param-name: parameter of imported stylesheet (otional)&lt;br /&gt;
&lt;br /&gt;
[[File:Import.png|thumb|Import Function without parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImportWithParam.png|thumb|Import Function with parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
          exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:with-param name=&amp;quot;param&amp;quot; select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:import&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
           exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4364</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4364"/>
		<updated>2015-02-24T09:05:20Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Import Function */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
===Import Function===&lt;br /&gt;
The import function is a top-level element that is used to import the contents of one style sheet into another.&lt;br /&gt;
Is it possible to assign a value to a parameter of an imported stylesheet.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
*uri: attribute whose value is a URI reference identifying the stylesheet to be imported&lt;br /&gt;
*param-name: parameter of imported stylesheet (otional)&lt;br /&gt;
&lt;br /&gt;
[[File:Import.png|thumb|Import Function without parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
         exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImportWithParam.png|thumb|Import Function with parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; &lt;br /&gt;
          exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:with-param name=&amp;quot;param&amp;quot; select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:import&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4211</id>
		<title>Parallel Flow</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4211"/>
		<updated>2014-05-15T11:06:20Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Parallel nodes are:&lt;br /&gt;
[[File:ParallelNode.png|thumb|{{GVESB}} Paraleel Nodes]]&lt;br /&gt;
*Spawn SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flow as spawned process.&lt;br /&gt;
*Parallel SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
*Split SubFlow :  Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as splitted parallel process.&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} Configuration==&lt;br /&gt;
&lt;br /&gt;
You might insert into your workflow one of the Nodes described above by drag and drop it into the {{VULCON}} Editor View.&lt;br /&gt;
&lt;br /&gt;
When one of these nodes is inserted into the editor, a new element will appear into the element [[Flow]] (or [[SubFlow]]) of your Service [[Operation]]. This element will contain a sub-element which variates depending on the Iteration Node you selected. The following table shows this:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot;&lt;br /&gt;
! Parallel node !! GVCore element !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowParallelNode  || [[GVSubFlowParallelNode  ]] || Parallel Flow&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowSpawnNode|| [[GVSubFlowSpawnNode]] || Parallel Flow&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowSplittedNode|| [[GVSubFlowSplittedNode]] || Parallel Flow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} Editor SubFlow==&lt;br /&gt;
&lt;br /&gt;
[[File:EditorSubFlow.png|thumb|{{GVESB}} Editor parallel SubFlow]]&lt;br /&gt;
For GVSubFlowParallelNode and  GVSubFlowSpawnNode you can edited parallel subflow with specific editor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4210</id>
		<title>Parallel Flow</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4210"/>
		<updated>2014-05-15T11:04:54Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Parallel nodes are:&lt;br /&gt;
[[File:ParallelNode.png|thumb|{{GVESB}} Paraleel Nodes]]&lt;br /&gt;
*Spawn SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flow as spawned process.&lt;br /&gt;
*Parallel SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
*Split SubFlow :  Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} Configuration==&lt;br /&gt;
&lt;br /&gt;
You might insert into your workflow one of the Nodes described above by drag and drop it into the {{VULCON}} Editor View.&lt;br /&gt;
&lt;br /&gt;
When one of these nodes is inserted into the editor, a new element will appear into the element [[Flow]] (or [[SubFlow]]) of your Service [[Operation]]. This element will contain a sub-element which variates depending on the Iteration Node you selected. The following table shows this:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot;&lt;br /&gt;
! Parallel node !! GVCore element !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowParallelNode  || [[GVSubFlowParallelNode  ]] || Parallel Flow&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowSpawnNode|| [[GVSubFlowSpawnNode]] || Parallel Flow&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowSplittedNode|| [[GVSubFlowSplittedNode]] || Parallel Flow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} Editor SubFlow==&lt;br /&gt;
&lt;br /&gt;
[[File:EditorSubFlow.png|thumb|{{GVESB}} Editor parallel SubFlow]]&lt;br /&gt;
For GVSubFlowParallelNode and  GVSubFlowSpawnNode you can edited parallel subflow with specific editor.&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:EditorSubFlow.png&amp;diff=4209</id>
		<title>File:EditorSubFlow.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:EditorSubFlow.png&amp;diff=4209"/>
		<updated>2014-05-15T10:56:52Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4207</id>
		<title>Parallel Flow</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4207"/>
		<updated>2014-05-15T10:48:19Z</updated>

		<summary type="html">&lt;p&gt;C.romano: moved Parallel to Parallel Flow&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Parallel nodes are:&lt;br /&gt;
[[File:ParallelNode.png|thumb|{{GVESB}} Paraleel Nodes]]&lt;br /&gt;
*Spawn SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flow as spawned process.&lt;br /&gt;
*Parallel SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
*Split SubFlow :  Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} Configuration==&lt;br /&gt;
&lt;br /&gt;
You might insert into your workflow one of the Nodes described above by drag and drop it into the {{VULCON}} Editor View.&lt;br /&gt;
&lt;br /&gt;
When one of these nodes is inserted into the editor, a new element will appear into the element [[Flow]] (or [[SubFlow]]) of your Service [[Operation]]. This element will contain a sub-element which variates depending on the Iteration Node you selected. The following table shows this:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot;&lt;br /&gt;
! Parallel node !! GVCore element !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowParallelNode  || [[GVSubFlowParallelNode  ]] || Parallel Flow&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowSpawnNode|| [[GVSubFlowSpawnNode]] || Parallel Flow&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowSplittedNode|| [[GVSubFlowSplittedNode]] || Parallel Flow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel&amp;diff=4208</id>
		<title>Parallel</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel&amp;diff=4208"/>
		<updated>2014-05-15T10:48:19Z</updated>

		<summary type="html">&lt;p&gt;C.romano: moved Parallel to Parallel Flow&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Parallel Flow]]&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4206</id>
		<title>Parallel Flow</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4206"/>
		<updated>2014-05-15T10:47:16Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Parallel nodes are:&lt;br /&gt;
[[File:ParallelNode.png|thumb|{{GVESB}} Paraleel Nodes]]&lt;br /&gt;
*Spawn SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flow as spawned process.&lt;br /&gt;
*Parallel SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
*Split SubFlow :  Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} Configuration==&lt;br /&gt;
&lt;br /&gt;
You might insert into your workflow one of the Nodes described above by drag and drop it into the {{VULCON}} Editor View.&lt;br /&gt;
&lt;br /&gt;
When one of these nodes is inserted into the editor, a new element will appear into the element [[Flow]] (or [[SubFlow]]) of your Service [[Operation]]. This element will contain a sub-element which variates depending on the Iteration Node you selected. The following table shows this:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot;&lt;br /&gt;
! Parallel node !! GVCore element !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowParallelNode  || [[GVSubFlowParallelNode  ]] || Parallel Flow&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowSpawnNode|| [[GVSubFlowSpawnNode]] || Parallel Flow&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowSplittedNode|| [[GVSubFlowSplittedNode]] || Parallel Flow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4205</id>
		<title>Parallel Flow</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4205"/>
		<updated>2014-05-15T10:45:11Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Iterations nodes are:&lt;br /&gt;
[[File:ParallelNode.png|thumb|{{GVESB}} Paraleel Nodes]]&lt;br /&gt;
*Spawn SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flow as spawned process.&lt;br /&gt;
*Parallel SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
*Split SubFlow :  Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} Configuration==&lt;br /&gt;
&lt;br /&gt;
You might insert into your workflow one of the Nodes described above by drag and drop it into the {{VULCON}} Editor View.&lt;br /&gt;
&lt;br /&gt;
When one of these nodes is inserted into the editor, a new element will appear into the element [[Flow]] (or [[SubFlow]]) of your Service [[Operation]]. This element will contain a sub-element which variates depending on the Iteration Node you selected. The following table shows this:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot;&lt;br /&gt;
! Parallel node !! GVCore element !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowParallelNode  || [[GVSubFlowParallelNode  ]] || Parallel Flow&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowSpawnNode|| [[GVSubFlowSpawnNode]] || Parallel Flow&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowSplittedNode|| [[GVSubFlowSplittedNode]] || Parallel Flow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4204</id>
		<title>Parallel Flow</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4204"/>
		<updated>2014-05-15T10:36:15Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Iterations nodes are:&lt;br /&gt;
[[File:ParallelNode.png|thumb|{{GVESB}} Paraleel Nodes]]&lt;br /&gt;
*Spawn SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flow as spawned process.&lt;br /&gt;
*Parallel SubFlow: Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
*Split SubFlow :  Node that allows direct invocation of a GreenVulcanoESB core workflow sub-flows as parallel process.&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} Configuration==&lt;br /&gt;
&lt;br /&gt;
You might insert into your workflow one of the Nodes described above by drag and drop it into the {{VULCON}} Editor View.&lt;br /&gt;
&lt;br /&gt;
When one of these nodes is inserted into the editor, a new element [[GVIteratorOperationNode]] will appear into the element [[Flow]] (or [[SubFlow]]) of your Service [[Operation]]. This element will contain a sub-element which variates depending on the Iteration Node you selected. The following table shows this:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot;&lt;br /&gt;
! GVSubFlowSpawnNode !! GVSubFlowSpawnNode  Sub-element !! Description&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowParallelNode  || [[GVSubFlowParallelNode ]] || Sets a proxy to other Enqueue operation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4203</id>
		<title>Parallel Flow</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4203"/>
		<updated>2014-05-15T10:15:07Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Iterations nodes are:&lt;br /&gt;
[[File:ParallelNode.png|thumb|{{GVESB}} Paraleel Nodes]]&lt;br /&gt;
*Spawn SubFlow: xxx.&lt;br /&gt;
*Parallel SubFlow: .&lt;br /&gt;
*Split SubFlow : Allows you to perform a synchronous iteratively.&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} Configuration==&lt;br /&gt;
&lt;br /&gt;
You might insert into your workflow one of the Nodes described above by drag and drop it into the {{VULCON}} Editor View.&lt;br /&gt;
&lt;br /&gt;
When one of these nodes is inserted into the editor, a new element [[GVIteratorOperationNode]] will appear into the element [[Flow]] (or [[SubFlow]]) of your Service [[Operation]]. This element will contain a sub-element which variates depending on the Iteration Node you selected. The following table shows this:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot;&lt;br /&gt;
! GVSubFlowSpawnNode !! GVSubFlowSpawnNode  Sub-element !! Description&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowParallelNode  || [[GVSubFlowParallelNode ]] || Sets a proxy to other Enqueue operation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParallelNode.png&amp;diff=4202</id>
		<title>File:ParallelNode.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParallelNode.png&amp;diff=4202"/>
		<updated>2014-05-15T10:14:01Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4201</id>
		<title>Parallel Flow</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Parallel_Flow&amp;diff=4201"/>
		<updated>2014-05-15T10:03:44Z</updated>

		<summary type="html">&lt;p&gt;C.romano: Created page with &amp;quot;The Iterations nodes are: {{GVESB}} Iterator Nodes *Spawn SubFlow: xxx. *Parallel SubFlow: . *Split SubFlow : Allows you to perform a synchronou...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Iterations nodes are:&lt;br /&gt;
[[File:iterationsNode.png|thumb|{{GVESB}} Iterator Nodes]]&lt;br /&gt;
*Spawn SubFlow: xxx.&lt;br /&gt;
*Parallel SubFlow: .&lt;br /&gt;
*Split SubFlow : Allows you to perform a synchronous iteratively.&lt;br /&gt;
&lt;br /&gt;
=={{VULCON}} Configuration==&lt;br /&gt;
&lt;br /&gt;
You might insert into your workflow one of the Nodes described above by drag and drop it into the {{VULCON}} Editor View.&lt;br /&gt;
&lt;br /&gt;
When one of these nodes is inserted into the editor, a new element [[GVIteratorOperationNode]] will appear into the element [[Flow]] (or [[SubFlow]]) of your Service [[Operation]]. This element will contain a sub-element which variates depending on the Iteration Node you selected. The following table shows this:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot;&lt;br /&gt;
! GVSubFlowSpawnNode !! GVSubFlowSpawnNode  Sub-element !! Description&lt;br /&gt;
|-&lt;br /&gt;
| GVSubFlowParallelNode  || [[GVSubFlowParallelNode ]] || Sets a proxy to other Enqueue operation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=License&amp;diff=4123</id>
		<title>License</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=License&amp;diff=4123"/>
		<updated>2013-11-14T10:31:09Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
{{GVESB}} is available under distributions LGPL and is suitable for production use.&lt;br /&gt;
For more information about download, please visit our [http://www.greenvulcano.com/en/download.html offering] page.&lt;br /&gt;
&lt;br /&gt;
==Community license==&lt;br /&gt;
{{GVESB}} ''Community'' is released under [http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html LGPL] license. Also, it includes the following third-party software as part of the source code, examples, or as dependencies:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;gvtable&amp;quot;&lt;br /&gt;
!Name||License&lt;br /&gt;
|-&lt;br /&gt;
|Avalon-Frame-Api||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Axiom-api||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Axiom-Impl||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Axis2-adb||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Axis2-kernel||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Axis2-transport-http||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Axis2-transport-local||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|axis||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-anim||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-awt||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-bridge||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-css||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-dom||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-extension||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-ext||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-gvt||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-parser||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-script||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-svg-dom||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-svggen||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-transcoder||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-util||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Batik-xml||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Bcprov-jdk16||[http://www.bouncycastle.org/licence.html Legion of the Bouncy Castle]&lt;br /&gt;
|-&lt;br /&gt;
|Common-bean-utils||[http://apache.org/licenses/LICENSE-1.1 Apache 1.1]&lt;br /&gt;
|-&lt;br /&gt;
|Common-cli||[http://apache.org/licenses/LICENSE-1.1 Apache 1.1]&lt;br /&gt;
|-&lt;br /&gt;
|Common-codec||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Common-collection||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Common-dbcp||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Common-digester||[http://apache.org/licenses/LICENSE-1.1 Apache 1.1]&lt;br /&gt;
|-&lt;br /&gt;
|Common-discovery||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Common-fileupload||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Common-http-client||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Common-io||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Common-logging-api||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Commons-logging||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Commons-modeler||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Commons-net||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Commons-pool||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|dom4j||[http://dom4j.sourceforge.net/dom4j-1.6.1/license.html DOM4J]&lt;br /&gt;
|-&lt;br /&gt;
|fop||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Geronimo-activation||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Geronimo-stax||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|hapi||[http://www.mozilla.org/MPL/MPL-1.1.html Mozilla Pub 1.1]&lt;br /&gt;
|-&lt;br /&gt;
|hsql||[http://hsqldb.org/web/hsqlLicense.html HSQL]&lt;br /&gt;
|-&lt;br /&gt;
|Http-core||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|hypersonic||[http://hsqldb.org/web/hsqlLicense.html HSQL]&lt;br /&gt;
|-&lt;br /&gt;
|ICU4J||[https://jazz.net/downloads/pages/rational-team-concert/3.0/M4/license/early_release_license_files/ICU4J-license.html ICU4j]&lt;br /&gt;
|-&lt;br /&gt;
|javassist||[http://www.mozilla.org/MPL/MPL-1.1.html Mozilla Pub 1.1]&lt;br /&gt;
|-&lt;br /&gt;
|Jaxb-api||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|Jaxb-impl||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|jaxen||[https://serviceregister.overheid.nl/soa/systinet/platform/doc/legal/using.jaxen.licence.html jaxen Licence]&lt;br /&gt;
|-&lt;br /&gt;
|Jaxws-api||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|Jaxws-rt||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|jdom||[https://serviceregister.overheid.nl/soa/systinet/platform/doc/legal/legal.notices.jdom.html Jdom Licence]&lt;br /&gt;
|-&lt;br /&gt;
|Joda-time||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Jsch||[http://www.gnu.org/copyleft/gpl.html GNU GPL]&lt;br /&gt;
|-&lt;br /&gt;
|js||[http://www.mozilla.org/MPL/MPL-1.1.html Dual: Mozilla 1.1]&lt;br /&gt;
|-&lt;br /&gt;
|juddi||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|jxl||[http://www.gnu.org/copyleft/gpl.html GNU GPL]&lt;br /&gt;
|-&lt;br /&gt;
|mail||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|mex||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|mimepull||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|Mysql-connector-java||[http://www.gnu.org/copyleft/gpl.html GNU GPL]&lt;br /&gt;
|-&lt;br /&gt;
|neethi||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|ognl||[http://svn.opensymphony.com/svn/opensymphony/trunk/www/license.html OpenSimphony Software 1.1]&lt;br /&gt;
|-&lt;br /&gt;
|ojdbc||[http://www.oracle.com/technetwork/licenses/standard-license-152015.html OTN]&lt;br /&gt;
|-&lt;br /&gt;
|opensaml||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|openws||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|quartz||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|rampart||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|resolver||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|rmiio||[http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU LGPL]&lt;br /&gt;
|-&lt;br /&gt;
|Saaj-api||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|Saaj-impl||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|saxon||[http://www.mozilla.org/MPL/MPL-1.1.html Mozilla Pub 1.1]&lt;br /&gt;
|-&lt;br /&gt;
|scout||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|sjsxp||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|slf4j||[http://www.slf4j.org/license.html slf4j]&lt;br /&gt;
|-&lt;br /&gt;
|tax-api||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Stax-ex||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|streambuff||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|Uddi-ws||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|velocity||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Woden-api||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Woden-impl||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|wsdl4j||[http://www.opensource.org/licenses/cddl1.php CDDL Licence]&lt;br /&gt;
|-&lt;br /&gt;
|wss4j||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Wstx-asl||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|xalan||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|xerceslmpl||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Xml-apis-ext||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Xml-apis||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Xmlgrafics-commons||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Xml-resolver||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Xml-Schema||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|Xml-sec||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|xmltooling||[http://velocity.apache.org/engine/devel/license.html Apache 2.0]&lt;br /&gt;
|-&lt;br /&gt;
|xom||[http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU LGPL]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4044</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4044"/>
		<updated>2013-07-26T13:11:00Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Import Function */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
===Import Function===&lt;br /&gt;
The import function is a top-level element that is used to import the contents of one style sheet into another.&lt;br /&gt;
Is it possible to assign a value to a parameter of an imported stylesheet.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
*uri: attribute whose value is a URI reference identifying the stylesheet to be imported&lt;br /&gt;
*param-name: parameter of imported stylesheet (otional)&lt;br /&gt;
&lt;br /&gt;
[[File:Import.png|thumb|Import Function without parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ImportWithParam.png|thumb|Import Function with parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:with-param name=&amp;quot;param&amp;quot; select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:import&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ImportWithParam.png&amp;diff=4043</id>
		<title>File:ImportWithParam.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ImportWithParam.png&amp;diff=4043"/>
		<updated>2013-07-26T13:10:11Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4042</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4042"/>
		<updated>2013-07-26T13:08:00Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Import Function */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
===Import Function===&lt;br /&gt;
The import function is a top-level element that is used to import the contents of one style sheet into another.&lt;br /&gt;
Is it possible to assign a value to a parameter of an imported stylesheet.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
*uri: attribute whose value is a URI reference identifying the stylesheet to be imported&lt;br /&gt;
*param-name: parameter of imported stylesheet (otional)&lt;br /&gt;
&lt;br /&gt;
[[File:Import.png|thumb|Import Function without parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:import href=&amp;quot;getPerson.xsl&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:apply-imports/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:Import.png&amp;diff=4041</id>
		<title>File:Import.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:Import.png&amp;diff=4041"/>
		<updated>2013-07-26T13:06:03Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4040</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4040"/>
		<updated>2013-07-26T13:05:44Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Data mapper graphic editor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
===Import Function===&lt;br /&gt;
The import function is a top-level element that is used to import the contents of one style sheet into another.&lt;br /&gt;
Is it possible to assign a value to a parameter of an imported stylesheet.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
*uri: attribute whose value is a URI reference identifying the stylesheet to be imported&lt;br /&gt;
*param-name: parameter of imported stylesheet (otional)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4039</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4039"/>
		<updated>2013-07-26T12:46:19Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LinkForEach.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;persona&amp;quot;&lt;br /&gt;
                             namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&lt;br /&gt;
                                 namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:LinkForEach.png&amp;diff=4038</id>
		<title>File:LinkForEach.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:LinkForEach.png&amp;diff=4038"/>
		<updated>2013-07-26T12:45:15Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4037</id>
		<title>XML Data mapper</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=XML_Data_mapper&amp;diff=4037"/>
		<updated>2013-07-26T12:44:46Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
XML Data mapper module allows users to design a XSL data transformation from one XML document, defined by a source xsd, to another XML document, defined by a target xsd. The designer output is a XSL document associated to a data transformation defined in [[{{VULCON}}]].&lt;br /&gt;
The use of a graphical designer speeds up the process of defining the data mapping, and gives it a simple and efficient graphical representation.&lt;br /&gt;
&lt;br /&gt;
(in the examples the output namespaces have been removed for clarity)&lt;br /&gt;
&lt;br /&gt;
==Create a data transformation==&lt;br /&gt;
The steps required to create a graphical data transformation are:&lt;br /&gt;
*Verify that the XSD documents describing the source/target XMLs are present in the /conf/xsds folder&lt;br /&gt;
*Access the {{VULCON}} Core view and expand the GVDataTransformation node&lt;br /&gt;
*Click on Transformations item with right mouse button and choose in the drop-down list&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Transformations --&amp;gt; Create XSLT Transformation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Populate the wizard parameters:&lt;br /&gt;
**Transformation Name: the name by which the transformation is referenced by {{GVESB}} Core. Is also the name of the editor configuration file with .gvxdt extension and of the XSL transformation file with .xsl extension&lt;br /&gt;
**Data Source: the data source name that indicates the DTE repository where files will be created&lt;br /&gt;
**Path XSL: sub-folders of the selected data source path in which the XSL file will be generated&lt;br /&gt;
**XSD Input: XSD file name defining the source document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Input: root element of the source XML document from which start the data transformation operation&lt;br /&gt;
**XSD Output: XSD file name defining the target document. The files suggested by the drop-down list must be stored in the /conf/xsds folder&lt;br /&gt;
**root XSD Output: root element of the target XML document &lt;br /&gt;
*Click the Finish button: in [[Graphic Editor]] [[{{VULCON}} perspective]] will appear the [[#Data mapper graphic editor|Data mapper graphic editor]] in which in possible to design the transformation&lt;br /&gt;
*[[#Xsl file generation|Generate]] the resultant XSL file.&lt;br /&gt;
==Data mapper graphic editor==&lt;br /&gt;
[[File:DataMapper.png|thumb|Data Mapper]]&lt;br /&gt;
In Data mapper graphic editor are visible the representations for input and output formats.Items followed by '=' character are attributes, while those enclosed in angle brackets '&amp;lt;&amp;gt;' are nodes of the XML document. Is it possible to collaps or expand child nodes simply by clicking on '+' or '-' symbols on the left of each node name.&lt;br /&gt;
The right panel contains the palettes used for the definition of the data mapping functions. &lt;br /&gt;
The Select button allows the selection of the xsd nodes interested for the transformation. &lt;br /&gt;
The Create link button allows to define [[#Links|links]]:&lt;br /&gt;
*between a source and a target element; &lt;br /&gt;
*between a source element and a parameter of a function;&lt;br /&gt;
*between the output of a function and a parameter of another function;&lt;br /&gt;
*between the output of a function and a target element.&lt;br /&gt;
In the folders below that buttons, it is possible to access the [[#Functions|functions]] used for data-mapping grouped by topic.&lt;br /&gt;
&lt;br /&gt;
===Open editor===&lt;br /&gt;
To open the editor you can:&lt;br /&gt;
*double click a .gvxdt file previously created in the Project view;&lt;br /&gt;
*right-clicking on the XSLTransformation in the core view and then choosing the 'Open mapping &amp;lt;transformation name&amp;gt;' item.&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
A link is a relation between the node in the source format and its counterpart in the target format.&lt;br /&gt;
Clicking the Create link button in the Palette pane, link mode is enabled. In this mode is possible to create new connection simply clicking on a node in the XSD source model, and dragging it on a target node.&lt;br /&gt;
Once defined a new connection in the graphic area, its properties are shown in Properties area.&lt;br /&gt;
'Match' property allows the definition of the selected mapping generation mode:&lt;br /&gt;
*template: a template node will be created, activated by the source element&lt;br /&gt;
*for-each: a for-each node will be created to process iteratively the source element&lt;br /&gt;
[[File:LinkTemplate.png|thumb|Link complex node with parameter template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; exclude-result-prefixes=&amp;quot;xsl fs&amp;quot; version=&amp;quot;2.0&amp;quot;&lt;br /&gt;
                xmlns:fs=&amp;quot;http://www.w3.org/2005/xpath-functions&amp;quot;&lt;br /&gt;
                xmlns:gv=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&lt;br /&gt;
                xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; method=&amp;quot;xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;persona&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&lt;br /&gt;
                         namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot; namespace=&amp;quot;http://www.greenvulcano.it/greenvulcano&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Other Properties:&lt;br /&gt;
*mode: allow an element to be processed multiple times, each time producing a different result.&lt;br /&gt;
*condition: boolean condition applied to template, condition is a drop list of all the condition that have been defined in the transformation&lt;br /&gt;
*priority: priority of a template rule is specified by the priority attribute on the template rule.&lt;br /&gt;
&lt;br /&gt;
===Functions===&lt;br /&gt;
Folders on the right of Graphic Editor contains the most common used [http://www.w3schools.com/xpath/xpath_functions.asp XSLT and XPath functions], organized by topic.&amp;lt;br/&amp;gt;&lt;br /&gt;
To use a function is sufficient to select it in the appropriate folder and then to click in the design area. For those functions which have a variable number of parameters, such as the 'concat' function, a dedicated pop-up will open. Once done this steps, a graphical representation of the new function will be shown in the design area.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:DTEFunction.png|thumb|DTE Function]]&lt;br /&gt;
At this point you need to create all links to map the input parameters and the one to define the element that will assume the output value of the function.&amp;lt;br/&amp;gt;&lt;br /&gt;
To give a constant value to a function parameter you must right-click on its graphical representation and then insert the value. To modify a parameter value simply set it in the corresponding property in the lower Property editor.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the desired function is not present inside function folders, it is possible to define it choosing from Custom folder. To do this you must enter values ​​in the following fields:&lt;br /&gt;
[[File:DTECustomFunction.png|thumb|DTE Custom Function]]&lt;br /&gt;
*Name: the name of the function to create (eg.: java:it.greenvulcano.gvesb.datahandling.utils.GenericRetriever.getData).&lt;br /&gt;
*Label: the label displayed on the editor (eg.: getId).&lt;br /&gt;
*Numarg: the number of function arguments.&lt;br /&gt;
*Prefix: the namespace prefix used by the function (example: java).&lt;br /&gt;
*Namespace: the namespace of the function (eg.: &amp;lt;nowiki&amp;gt;http://xml.apache.org/xalan/java&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
The following table presents some XSL helper classes, useful in XSL data manipulation:&lt;br /&gt;
{|class=&amp;quot;gvtable&amp;quot; style=&amp;quot;width: 40%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | Helper !! style=&amp;quot;width: 75%&amp;quot; | Use this for ...&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | XSLTUtils]] || manipulate date/time and strings&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | GenericRetriever]] || query the database for data conversion&lt;br /&gt;
|-&lt;br /&gt;
| [[XSLHelper | JavaScriptRetriever]] || execute JavaScript code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can assign a constant value parameter of a function between right-clicking the mouse on the parameter&lt;br /&gt;
===Conditional Processing with if===&lt;br /&gt;
There are two ways to insert an if statement:&lt;br /&gt;
*Using the if statement as function&lt;br /&gt;
*Inserting the condition as a property of a link&lt;br /&gt;
[[File:mappingif.png|thumb|if function]]&lt;br /&gt;
If the function is used when you want to insert an condition mapping of a complex node.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = string(&amp;amp;apos;Romano&amp;amp;apos;)&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;concat(null,/RowSet/data/row/col[2],/RowSet/data/row/col[3])&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:mappingif2.png|thumb|if function]]&lt;br /&gt;
Use the property when you want to map a simple node&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:if test=&amp;quot;/RowSet/data/row/col[1] = &amp;amp;apos;Romano&amp;amp;apos;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
             &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Conditional Processing with choose===&lt;br /&gt;
The choose element selects one among a number of possible alternatives.&lt;br /&gt;
[[File:Choose.png|thumb|Choose]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;position() = 1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;col[1] = col[2]&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[1]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:when test=&amp;quot;count(col) &amp;amp;gt; 0&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;col[4]&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Filter===&lt;br /&gt;
There are two ways to insert an filter:&lt;br /&gt;
&lt;br /&gt;
*Using the filter statement as function&lt;br /&gt;
*Inserting nodes with the right mouse button&lt;br /&gt;
&lt;br /&gt;
If you enter without condition filters you can use the first method.&lt;br /&gt;
[[File:Filter.png|thumb|Filter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;concat(/RowSet/data/row/col[1],/RowSet/data/row[1]/col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you enter concondition filters you can use the second method.&lt;br /&gt;
[[File:Filterwithcond.png|thumb|Filter with condition]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;col[position() = 1]&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Variables===&lt;br /&gt;
To enter a variable in the transformation use the function variable in tab Core.&lt;br /&gt;
[[File:Variable.png|thumb|Variable]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:variable name=&amp;quot;var&amp;quot; select=&amp;quot;concat(col[1],col[2])&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$var&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter===&lt;br /&gt;
To enter a parameter in the transformation use the function parameter.&lt;br /&gt;
Name is the name of the parameter, and value is the default value.&lt;br /&gt;
[[File:Parameter.png|thumb|Parameter]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;$param&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;citta&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:element name=&amp;quot;nomecompleto&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Parameter template===&lt;br /&gt;
To  defines the value of a parameter to be passed into a template must use the paramtemplate function.&lt;br /&gt;
[[File:Paramtemplate.png|thumb|Parameter Template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot; select=&amp;quot;&amp;amp;apos;value&amp;amp;apos;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;anagrafica&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:apply-templates select=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:with-param name=&amp;quot;paramname&amp;quot; select=&amp;quot;value&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:apply-templates&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/RowSet/data/row/col&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:param name=&amp;quot;paramname&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:element name=&amp;quot;cliente&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;cognome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;$paramname&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;nome&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[2]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:element name=&amp;quot;ente&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;/RowSet/data/row/col[3]&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Additional nodes===&lt;br /&gt;
Some XSL transformations need to create nodes by duplicating the base node. To realize this operation, simply select the base node with the right mouse button and then a new duplicate node will be created. An ordinal value will be reported next to the new selected node. A node with an 'n' ordinal value represents the only n-th instance of that node. A node without ordinal values represents all the nodes of that type.&lt;br /&gt;
&lt;br /&gt;
==Xsl file generation==&lt;br /&gt;
To generate the xsl file you must select the 'xsl Save File' menu item icon on the editor tool bar. The file will be created in the subsequently selected directory.&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:LinkTemplate.png&amp;diff=4036</id>
		<title>File:LinkTemplate.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:LinkTemplate.png&amp;diff=4036"/>
		<updated>2013-07-26T12:39:24Z</updated>

		<summary type="html">&lt;p&gt;C.romano: uploaded a new version of &amp;amp;quot;File:LinkTemplate.png&amp;amp;quot;: Reverted to version as of 12:34, 26 July 2013&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Link complex node with paramtere template&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:LinkTemplate.png&amp;diff=4035</id>
		<title>File:LinkTemplate.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:LinkTemplate.png&amp;diff=4035"/>
		<updated>2013-07-26T12:39:06Z</updated>

		<summary type="html">&lt;p&gt;C.romano: uploaded a new version of &amp;amp;quot;File:LinkTemplate.png&amp;amp;quot;: Link complex node with parameter template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Link complex node with paramtere template&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:LinkTemplate.png&amp;diff=4034</id>
		<title>File:LinkTemplate.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:LinkTemplate.png&amp;diff=4034"/>
		<updated>2013-07-26T12:34:54Z</updated>

		<summary type="html">&lt;p&gt;C.romano: Link complex node with paramtere template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Link complex node with paramtere template&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Wizard_Enable_GreenVulcano_Web_Service&amp;diff=3757</id>
		<title>Wizard Enable GreenVulcano Web Service</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Wizard_Enable_GreenVulcano_Web_Service&amp;diff=3757"/>
		<updated>2013-02-12T15:12:41Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Wizard Enable GreenVulcano Web Service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wizard Enable GreenVulcano Web Service==&lt;br /&gt;
In order enable a {{GVESB}} service as a [http://en.wikipedia.org/wiki/Web_service Web Service], choose &amp;quot;Enable GreenVulcano Web Service&amp;quot; menu entry. &lt;br /&gt;
&lt;br /&gt;
In the wizard page user selects the following parameters:&lt;br /&gt;
[[File:ParameterGreenVulcanoWebservice.png|thumb|{{VULCON}} parameter GreenVulcano web services]]&lt;br /&gt;
*[[Service|gv-service]] &lt;br /&gt;
*[[Operation|gv-operation]]&lt;br /&gt;
*[[Data provider|input-dp]] &lt;br /&gt;
*[[Data provider|output-dp]] &lt;br /&gt;
*transacted&lt;br /&gt;
*tx_timeout&lt;br /&gt;
*force-https&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParameterGreenVulcanoWebservice.png&amp;diff=3756</id>
		<title>File:ParameterGreenVulcanoWebservice.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParameterGreenVulcanoWebservice.png&amp;diff=3756"/>
		<updated>2013-02-12T15:11:16Z</updated>

		<summary type="html">&lt;p&gt;C.romano: uploaded a new version of &amp;amp;quot;File:ParameterGreenVulcanoWebservice.png&amp;amp;quot;: Reverted to version as of 15:09, 12 February 2013&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParameterGreenVulcanoWebservice.png&amp;diff=3755</id>
		<title>File:ParameterGreenVulcanoWebservice.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParameterGreenVulcanoWebservice.png&amp;diff=3755"/>
		<updated>2013-02-12T15:10:38Z</updated>

		<summary type="html">&lt;p&gt;C.romano: uploaded a new version of &amp;amp;quot;File:ParameterGreenVulcanoWebservice.png&amp;amp;quot;: Reverted to version as of 15:08, 12 February 2013&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParameterGreenVulcanoWebservice.png&amp;diff=3754</id>
		<title>File:ParameterGreenVulcanoWebservice.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParameterGreenVulcanoWebservice.png&amp;diff=3754"/>
		<updated>2013-02-12T15:09:36Z</updated>

		<summary type="html">&lt;p&gt;C.romano: uploaded a new version of &amp;amp;quot;File:ParameterGreenVulcanoWebservice.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParameterGreenVulcanoWebservice.png&amp;diff=3753</id>
		<title>File:ParameterGreenVulcanoWebservice.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParameterGreenVulcanoWebservice.png&amp;diff=3753"/>
		<updated>2013-02-12T15:08:58Z</updated>

		<summary type="html">&lt;p&gt;C.romano: uploaded a new version of &amp;amp;quot;File:ParameterGreenVulcanoWebservice.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Web_Services&amp;diff=3740</id>
		<title>Web Services</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Web_Services&amp;diff=3740"/>
		<updated>2013-02-06T14:43:42Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Create new {{GVWS}} with {{VULCON}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Definition==&lt;br /&gt;
[http://en.wikipedia.org/wiki/Web_service Web Service] is a software system that allows the interoperability among different machines. &lt;br /&gt;
Through a Web Service it is possible to pubblish business services using a contract, called WSDL. &lt;br /&gt;
&lt;br /&gt;
{{GVESB}} provides a very simple method that helps developers to manage {{GVWS}} operations as:&lt;br /&gt;
*create&lt;br /&gt;
*invoke&lt;br /&gt;
*deploy&lt;br /&gt;
*publishing&lt;br /&gt;
*undeploy&lt;br /&gt;
Any service flow can be pubblished in {{GVESB}} as a Web Service.{{L_VULCON}} helps the user to create or invoke a web service, leaving the user the only task to define the data structures in order to interact with the external world.&lt;br /&gt;
&lt;br /&gt;
{{GVESB}} provides a complete management of {{GVWS}} through Axis2 platform. It supports:&lt;br /&gt;
*{{GVWS}} stateful and asynchronous&lt;br /&gt;
*Processing SOAP Messages with XML parsing using the more efficient AXIOM pull-parser instead of DOM (Document Object Model)&lt;br /&gt;
*Increased Scalability&lt;br /&gt;
*Hot deploy and undeploy&lt;br /&gt;
&lt;br /&gt;
==Create new {{GVWS}} with {{VULCON}}==&lt;br /&gt;
VulCon provides two wizards to create new Web Services. The first one starts from a {{GVESB}} service and creates the WSDL and the AAR to deploy ([[bottom-up development method]]), the second one, starts from a WSDL and creates {{GVESB}} services for each chosen operation([[top-down development method]]). &lt;br /&gt;
If you want to invoke a Web Service operation, instead, you can choose [[Wizard Call Web Service]] or if you want to simply redirect a Web Service call to a different endpoint you can choose [[Wizard Proxy Web Service]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
You can publish a service GreenVulcano as a generic web service with the following operations:&lt;br /&gt;
*requestReply&lt;br /&gt;
*requestReplyResponse&lt;br /&gt;
*request&lt;br /&gt;
*requestResponse&lt;br /&gt;
*getReply&lt;br /&gt;
*getReplyResponse&lt;br /&gt;
*getRequest&lt;br /&gt;
*getRequestResponse&lt;br /&gt;
*sendReply&lt;br /&gt;
*sendReplyResponse&lt;br /&gt;
*execute&lt;br /&gt;
You can provide the wsdl for the service at location:&lt;br /&gt;
&lt;br /&gt;
http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/gvaxis2/services/GreenVulcanoWebservice?wsdl&lt;br /&gt;
&lt;br /&gt;
you can choose [[Wizard Enable GreenVulcano Web Service]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{GVCONSOLE}} Web service section==&lt;br /&gt;
&lt;br /&gt;
The section Web Service in {{GVCONSOLE}} contains five main pages: &lt;br /&gt;
#[[General parameter]], shows the general configuration of business web services and the UDDI Registry's configuration, &lt;br /&gt;
#[[WSDL Section]], allows to generate or delete WSDL files, and to deploy the Web Service &lt;br /&gt;
#[[UDDI Section]], allows to publish Web Service in UDDI registry, if the UDDI registry has been configured.&lt;br /&gt;
#BPEL Deployed Processes&lt;br /&gt;
#BPEL Currently Available Instances&lt;br /&gt;
&lt;br /&gt;
If you are familiarized with [http://axis.apache.org/axis2/java/core/docs/webadminguide.html#Intro  Axis2 console] it's possible to look up the following link &amp;lt;nowiki&amp;gt;http://ipaddredss:portnumber/gvaxis2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Web_Services&amp;diff=3739</id>
		<title>Web Services</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Web_Services&amp;diff=3739"/>
		<updated>2013-02-06T14:35:40Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Create new {{GVWS}} with {{VULCON}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Definition==&lt;br /&gt;
[http://en.wikipedia.org/wiki/Web_service Web Service] is a software system that allows the interoperability among different machines. &lt;br /&gt;
Through a Web Service it is possible to pubblish business services using a contract, called WSDL. &lt;br /&gt;
&lt;br /&gt;
{{GVESB}} provides a very simple method that helps developers to manage {{GVWS}} operations as:&lt;br /&gt;
*create&lt;br /&gt;
*invoke&lt;br /&gt;
*deploy&lt;br /&gt;
*publishing&lt;br /&gt;
*undeploy&lt;br /&gt;
Any service flow can be pubblished in {{GVESB}} as a Web Service.{{L_VULCON}} helps the user to create or invoke a web service, leaving the user the only task to define the data structures in order to interact with the external world.&lt;br /&gt;
&lt;br /&gt;
{{GVESB}} provides a complete management of {{GVWS}} through Axis2 platform. It supports:&lt;br /&gt;
*{{GVWS}} stateful and asynchronous&lt;br /&gt;
*Processing SOAP Messages with XML parsing using the more efficient AXIOM pull-parser instead of DOM (Document Object Model)&lt;br /&gt;
*Increased Scalability&lt;br /&gt;
*Hot deploy and undeploy&lt;br /&gt;
&lt;br /&gt;
==Create new {{GVWS}} with {{VULCON}}==&lt;br /&gt;
VulCon provides two wizards to create new Web Services. The first one starts from a {{GVESB}} service and creates the WSDL and the AAR to deploy ([[bottom-up development method]]), the second one, starts from a WSDL and creates {{GVESB}} services for each chosen operation([[top-down development method]]). &lt;br /&gt;
If you want to invoke a Web Service operation, instead, you can choose [[Wizard Call Web Service]] or if you want to simply redirect a Web Service call to a different endpoint you can choose [[Wizard Proxy Web Service]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;version_ge3.3&amp;quot;&amp;gt;&lt;br /&gt;
You can publish a service GreenVulcano as a web service.&lt;br /&gt;
you can choose [[Wizard Enable GreenVulcano Web Service]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=={{GVCONSOLE}} Web service section==&lt;br /&gt;
&lt;br /&gt;
The section Web Service in {{GVCONSOLE}} contains five main pages: &lt;br /&gt;
#[[General parameter]], shows the general configuration of business web services and the UDDI Registry's configuration, &lt;br /&gt;
#[[WSDL Section]], allows to generate or delete WSDL files, and to deploy the Web Service &lt;br /&gt;
#[[UDDI Section]], allows to publish Web Service in UDDI registry, if the UDDI registry has been configured.&lt;br /&gt;
#BPEL Deployed Processes&lt;br /&gt;
#BPEL Currently Available Instances&lt;br /&gt;
&lt;br /&gt;
If you are familiarized with [http://axis.apache.org/axis2/java/core/docs/webadminguide.html#Intro  Axis2 console] it's possible to look up the following link &amp;lt;nowiki&amp;gt;http://ipaddredss:portnumber/gvaxis2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{VOTE}}&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Wizard_Enable_GreenVulcano_Web_Service&amp;diff=3737</id>
		<title>Wizard Enable GreenVulcano Web Service</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Wizard_Enable_GreenVulcano_Web_Service&amp;diff=3737"/>
		<updated>2013-02-06T14:34:35Z</updated>

		<summary type="html">&lt;p&gt;C.romano: moved Wizard Expose Web Service to Wizard Enable GreenVulcano Web Service&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wizard Enable GreenVulcano Web Service==&lt;br /&gt;
In order Enable service as GreenVulcano a [http://en.wikipedia.org/wiki/Web_service Web Service] choose &amp;quot;Enable GreenVulcano Web Service&amp;quot;. &lt;br /&gt;
[[File:EnableGreenVulcano Web Service.png|thumb|{{VULCON}} working area]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the Wizard page user selects the following parameters:&lt;br /&gt;
[[File:ParameterGreenVulcanoWebservice.png|thumb|{{VULCON}} parameter GreenVulcano web services]]&lt;br /&gt;
*[[Service|gv-service]] &lt;br /&gt;
*[[Operation|gv-operation]]&lt;br /&gt;
*[[Data provider|input-dp]] &lt;br /&gt;
*[[Data provider|output-dp]] &lt;br /&gt;
*transacted&lt;br /&gt;
*tx_timeout&lt;br /&gt;
*force-https&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Wizard_Enable_GreenVulcano_Web_Service&amp;diff=3736</id>
		<title>Wizard Enable GreenVulcano Web Service</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=Wizard_Enable_GreenVulcano_Web_Service&amp;diff=3736"/>
		<updated>2013-02-06T14:29:10Z</updated>

		<summary type="html">&lt;p&gt;C.romano: /* Wizard Enable GreenVulcano Web Service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wizard Enable GreenVulcano Web Service==&lt;br /&gt;
In order Enable service as GreenVulcano a [http://en.wikipedia.org/wiki/Web_service Web Service] choose &amp;quot;Enable GreenVulcano Web Service&amp;quot;. &lt;br /&gt;
[[File:EnableGreenVulcano Web Service.png|thumb|{{VULCON}} working area]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the Wizard page user selects the following parameters:&lt;br /&gt;
[[File:ParameterGreenVulcanoWebservice.png|thumb|{{VULCON}} parameter GreenVulcano web services]]&lt;br /&gt;
*[[Service|gv-service]] &lt;br /&gt;
*[[Operation|gv-operation]]&lt;br /&gt;
*[[Data provider|input-dp]] &lt;br /&gt;
*[[Data provider|output-dp]] &lt;br /&gt;
*transacted&lt;br /&gt;
*tx_timeout&lt;br /&gt;
*force-https&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
	<entry>
		<id>https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParameterGreenVulcanoWebservice.png&amp;diff=3735</id>
		<title>File:ParameterGreenVulcanoWebservice.png</title>
		<link rel="alternate" type="text/html" href="https://gvwiki.greenvulcano.com/gvwiki/index.php?title=File:ParameterGreenVulcanoWebservice.png&amp;diff=3735"/>
		<updated>2013-02-06T14:22:53Z</updated>

		<summary type="html">&lt;p&gt;C.romano: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>C.romano</name></author>
		
	</entry>
</feed>