Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Code Block
xml
xml
<xsl:stylesheet      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"      version="1.0">

<!--

<xsl:outputThis xslt transform dynamically transforms method="html"ktr and kjb file to indent="yes"be viewed in />the browser.

<xslDependencies:preserve-space elements="*"/>
  <xsl:variable name="newline">
<xsl:text>
</xsl:text>
  </xsl:variable>

  <xsl:template match="/">
  <html>
    <head>
      <link rel="stylesheet" type="text/css" href="xslt/pentaho.css" media="all"/>    
    </head>
    <body style="background-color:white">
    <a href="http://wiki.pentaho.com/display/EAI/Latest+Pentaho+Data+Integration+%28aka+Kettle%29+Documentation">
      <h1>Pentaho Data Integration Documentation</h1>
    </a>
    <xsl:if test="/transformation">
      <h1 style="text-align:centre"><img src="ui/images/TRN.png"/><a href="http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Steps">TRANSFORMATION</a></h1>
	  
    </xsl:if>
    <xsl:if test="/job">
      <h1 style="text-align:centre"><img src="ui/images/JOB.png"/><a href="http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Job+Entries">JOB</a></h1>
	  
	</xsl:if>
    <xsl:call-template name="node"/>
    </body>
  </html>
  </xsl:template>

  <xsl:template name="node" >
    <!-- Process leafs -->
    <xsl:call-template name="leafs"/>
    
    <!-- Process child nodes -->    
    <xsl:for-each select="*[count(*) > 1]">
      <!-- Start new div and show name of node in caps -->
      <div class="wiki-content" style="padding-left:+20px; text-align:left;">

      <!-- Set heading type accroding to Depth of tree -->
      <xsl:choose>
      <xsl:when test="count(ancestor::*)&lt;2 or name()='entry'">
        <h2 style="text-align:left">
        <span style="text-transform:uppercase">
		<xsl:value-of select="name()"/>
		</span>
		<xsl:choose>
		<xsl:when test="name()='step' or name()='entry'">
        <xsl:text>  </xsl:text>
		<xsl:call-template name="img">
		  <xsl:with-param name="name"><xsl:value-of 
		      select="translate(
			             ./type
			             , 'abcdefghijklmnopqrstuvwxyz'
						 , 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
					  )"
	          />
	      </xsl:with-param>
		</xsl:call-template>
		<xsl:text> [</xsl:text>
		<xsl:value-of select="./name"/> 
		<xsl:text>] </xsl:text>
		<!--
		<xsl:text>   [</xsl:text>
		<xsl:value-of select="./type"/>
		<xsl:text>]</xsl:text>
		-->
		</xsl:when>
		</xsl:choose>
        </h2>
      </xsl:when>
      <xsl:otherwise>
        <h4 style="text-transform:uppercase; text-align:left; background:white">
        <xsl:value-of select="name()"/> 
        </h4>
      </xsl:otherwise>
      </xsl:choose>

      <!-- bread crumbs 
      <code><xsl:for-each select="ancestor::*"><xsl:value-of select="name()"/>::</xsl:for-each></code>
      -->
	  
      <!-- Process special nodes where we pivot the attribute value pairs into a table -->
      <xsl:choose>
      
The following files must be located in the home directory that the .ktr/.kjb is launched
1. pentaho.css
2. ui/images
3. ui/script/collapse_expand_single_item.js

Issues:
  .ktr and .kjb cannot be opened by internet explorer.
  internet explorer renders correctly if .ktr is changed to .xml

-->

<xsl:output
    method="html"
    version="4.0"
    encoding="UTF-8"
    omit-xml-declaration="yes"
    media-type="text/html"
	indent="yes"
    doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
    doctype-system="http://www.w3.org/TR/html4/loose.dtd"
/>


<xsl:preserve-space elements="*"/>
<xsl:variable name="newline">
  <!-- ie does not recognize white space so we explicitly define linefeed (newline) char here -->
  <xsl:text>&#x000a;</xsl:text>
</xsl:variable>

<!-- ==================================================================

  START of matching

======================================================================= -->

<xsl:template match="/">

<!-- Use this snippet to hide and show a section by clicking
<img src="ui/images/u.gif" name="imgfirst" width="9" height="9" border="0" >
<a href="#first" onClick="shoh('first');" >Customer Support</a>

<div style="display: none;" id="first" >

    Here is the content you want to collapse or expand. You can place tables here, images, anything.

</div>
-->

  <html>
    <!-- Use CSS from pentaho website -->
    <head>
      <link rel="stylesheet" type="text/css" href="ui/pentaho.css" media="all"/>
  	  <script language="JavaScript" src="ui/script/collapse_expand_single_item.js"></script>
    </head>
    <body style="background-color:white">
    <a href="http://wiki.pentaho.com/display/EAI/Latest+Pentaho+Data+Integration+%28aka+Kettle%29+Documentation">
      <h1>Pentaho Data Integration Documentation</h1>
    </a>

	<!-- Call this template to process all nodes recursively -->
	<xsl:call-template name="node"/>

    </body>
  </html>
  </xsl:template>

  <xsl:template name="node" >
    <!-- Process leafs then process child nodes -->
    <xsl:call-template name="leafs"/>

    <!-- Process child nodes -->

    <xsl:for-each select="*[count(*) > 0]">
	  <!-- HEADER -->
	  <!-- Start new div and show name of node in caps -->
      <div class="wiki-content" style="padding-left:+20px; text-align:left;">
      <!-- Set heading type according to Depth of tree -->
      <xsl:choose>
	  <!-- Header for high level groups levels 1-2 or job entry -->
      <xsl:when test="(count(ancestor::*) &lt; 3 and name() != 'connection') or name()='entry'">
        <h2 style="text-align:left">

		    <!-- Header for Trans or Job, info section, steps or entry -->
			<xsl:choose>

			<!-- level 1 Header for Transformation Block -->
			<xsl:when test="name() = 'attributestransformation'">
              <xsl:call-template name="attrtrans"/>
  		    </xsl:when>

			<!-- level 1 Header for Job Block -->
			<xsl:when test="name() = 'order' or name() = 'hops'job'">
 
      			  <xsl:call-template name="orderjob"/>
			</xsl:when>

			<!-- level 2 Header </xsl:when>for Info Block, Trans or Job -->
			<xsl:when test="name() = 'GUIinfo'">
			         <xsl:call-template <xsl:call-template name="guiinfo"/>
      			</xsl:when>

			<!-- Header for step or entry -->
			<xsl:when test="name()='step' or name()= 'fieldsentry'">
         <xsl:call-template name="leafs"/>
        <h4     <!-- STEP/ENTRY In CAPS -->
			  <span style="backgroundtext-transform:white">SELECT</h4>uppercase">
                <xsl:callvalue-templateof nameselect="fieldsname()"/>
		      </span>
 <h4 style="background:white">METADATA</h4>	          <xsl:call-template name="meta_fields"/>
     text>  </xsl:when>
      <xsl:when test="name() = 'lookup'"> text>
				<!-- add image link -->
			         <xsl:call-template name="leafsimg"/>
			        <h4 style="background:white">KEYS</h4>
<xsl:with-param name="name">
			        <xsl:callvalue-templateof nameselect="keys./type" />
		         <h4 style="background:white">VALUES</h4>
 </xsl:with-param>
			        <xsl</xsl:call-template name="values"/>
      template>
			  <!-- Name of the step or entry in [] -->
			  <xsl:text> [</xsl:when>text>
			  <xsl:value-of select="./name"/>
			  <xsl:text>] <!-- Default: Process a child node --/xsl:text>
			</xsl:when>

			<xsl:otherwise>
			  <span style="text-transform:uppercase">
      <xsl:otherwise>          <xsl:callvalue-templateof nameselect="nodename()"/>
		      </span>
			</xsl:otherwise>

     			</xsl:choose>
        </div>h2>
    </xsl:for-each>
  </xsl:template>when>

	  <!-- ProcessLower alllevel leaf nodes of current node blocks -->
  <xsl:template name="leafs">   <xsl:otherwise>
 <!-- The leafs are laid out in a table of Element: Value pair --<h4 style="text-transform:uppercase; text-align:left; background:white">
    <table class="confluenceTable"><tbody>     <xsl:forvalue-eachof select="*[count(textname())=1]"/>
<!-- Show only non-empty elements -->
		  <xsl:if test="name">
		      <tr>
      <td valign="top" style="text-transform:uppercase" class="confluenceTd">
<xsl:text> [</xsl:text><xsl:value-of select="name"/><xsl:text>]</xsl:text>
		  </xsl:if>
       <xsl:value-of select="name()"/> </h4>
      </td>xsl:otherwise>
      <td class="confluenceTd"></xsl:choose>

      <!-- bread <xsl:choose>crumbs
        <xsl:when test="name()='sql'or name()='jsScript_script' or name()='note'"><code><xsl:for-each select="ancestor::*"><xsl:value-of select="name()"/>::</xsl:for-each></code>
      -->
   <code>   <!-- END OF HEADERS -->

	  <xsl:call-template name="string-newline">
 <!-- "Show Hide" section -->
      <a    <xsl:with-param name="original"href="#{generate-id(.)}"  onClick="shoh('{generate-id(.)}');" >
  	    <img src="ui/images/u.gif" name="img{generate-id(.)}" width="9"     <xsl:value-of select="."height="9" border="0" />
	  </a>
	  <div style="display:none" id="{generate-id(.)}" >
 	  </xsl:with-param>
          </xsl:call-template>!-- Start of DIV, match to closing DIV -->

	  <!-- DETAILS -->
      <xsl:choose>
      </code>
        </xsl:when>
 !-- Process special nodes where we pivot the attribute value pairs into a table -->

	  <!-- Connection attributes -->
      <xsl:otherwise>
 when test="name() = 'attributes'">
        <xsl:valuecall-oftemplate selectname=".attr"/>
      </xsl:when>

</xsl:otherwise>
    	  <!-- hops and order in trans and job -->
   </xsl:choose>   <xsl:when test="name() =  </td>
  'order' or name() = 'hops'">
   </tr>     </xsl<xsl:forcall-each>
template name="order"/>
   </tbody></table>   </xsl:template>when>

	  <!-- Pivotall tableGUI styleXLOC 1:and YLOC -->
      <table-name>
  <xsl:when test="name() = 'GUI'">
      <row>  <xsl:call-template name="gui"/>
      </xsl:when>

<col-1>	  <!-- All instances of fields -->
      <xsl:when test="name() = 'fields'">
      <col-2>  <xsl:call-template name="leafs"/>
      <row>  <h4 style="background:white">SELECT</h4>
        <col1>
<xsl:call-template name="fields"/>
        <h4  <col2>style="background:white">METADATA</h4>
    -->    <xsl:call-template name="pivot1meta_fields"/>
    <table class="confluenceTable"><tbody>
 </xsl:when>

 	  <!-- Trans TableLookup Headerstep -->
      <xsl:ifwhen test="*[1]">
 name() = 'lookup'">
        <xsl:forcall-eachtemplate selectname="leafs"*[1]/*">
        <th<h4 style="text-transformbackground:uppercase" class="confluenceTh">white">KEYS</h4>
        <xsl:valuecall-oftemplate selectname="name()keys"/>
         </th><h4 style="background:white">VALUES</h4>
        </xsl<xsl:for-each>call-template name="values"/>
      </xsl:if>when>

	    <!-- TableDatabase Rowsconnections -->
	    <xsl:for-eachwhen selecttest="*name() = 'connection'">
      <tr>	       <xsl:forcall-eachtemplate selectname="leafs"./*">
       </xsl:when>
<td
class="confluenceTd">      <!-- Default: Process <xsl:value-of select="."/>
   a child node (generate details) -->
    </td>  <xsl:otherwise>
    </xsl:for-each>    <xsl:call-template name="node"/>
 </tr>     </xsl:for-each>otherwise>
      </tbody></table>
xsl:choose>

	  </xsl:template>

  <xsl:template name="table-row"div> <!-- Details -->
      <tr>
  </div> <!-- NODE -->
    <xsl</xsl:for-each select="*">each>
  </xsl:template>

    <td class="confluenceTd"><!-- =================================================================

  Display     <xsl:value-of select="."/>
        </td>
      </xsl:for-each>
      </tr>
  </xsl:template>

  <!-- Pivot table style 2: single row table
       <table-name>
           <col-1>
           <col-2>
           <col-3>
  --> 
  <xsl:template name="pivot2">
    <table class="confluenceTable"><tbody>

    <!-- Header - name of the nodes routines

==================================================================== -->

  <!-- Process all leaf nodes of current node -->
  <xsl:template name="leafs">
    <!-- The leafs are laid out in a table of Element: Value pair -->
    <table class="confluenceTable"><tbody>
    <xsl:for-each select="*[count(text())=1]"> <!-- Show only non-empty elements -->
    <xsl:for-each select="*">  <tr>
      <td <thvalign="top" style="text-transform:uppercase" class="confluenceThconfluenceTd">
        <xsl:value-of select="name()"/>
      </th>td>
    </xsl:for-each>      <!-- Single row -->
<td class="confluenceTd">
   <tr>     <xsl:for-each select="*">
      <td class="confluenceTd">
  choose>

		<xsl:when test="name()='type'">
		<!-- Lookup help page for the step/entry -->
		<xsl:call-template name="wiki-pentaho">
		  <xsl:with-param name="name">
		    <xsl:value-of select="." />
	      </td>
    xsl:with-param>
		</xsl:forcall-each>
    </tr>

    </tbody></table>
  </xsl:template>

  template>
		</xsl:when>

		<!-- PivotDisplay tablecode styleor 3:multi Sameline as Style 1 but mixed rowsnotes -->
        <group-of-tables>
       <table-name-1><xsl:when test="name()='sql' or name()='jsScript_script' or name()='note'">
		  <code>
           <col-1><xsl:call-template name="string-newline">
            <col<xsl:with-2>
param name="original">
          <col-3>    <xsl:value-of select="."/>
  <table-name-1>            <col-1></xsl:with-param>
           <col-2></xsl:call-template>
          </code>
<col-3>        <table-name-2></xsl:when>

          <col-1><xsl:otherwise>
            <col-2><xsl:value-of select="."/>
        </xsl:otherwise>

        </xsl:choose>
      </td>
      </tr>
    </xsl:for-each>
    </tbody></table>
  </xsl:template>

  <col-3><!-- Pivot table style 1:
       <table-name-2>name>
         <row>
           <col-1>
           <col-2>
         <row>
           <col1>
           <col2>
  -->
  <xsl:template name="pivot1">
    <table class="confluenceTable"><tbody>

    <!-- Table Header -->
    <xsl:if test="*[1]">
      <xsl:for-each select="*[1]/*">
        <th style="text-transform:uppercase" class="confluenceTh">
        <xsl:value-of select="name()"/>
        </th>
      </xsl:for-each>
    </xsl:if>

    <!-- Table Rows -->
    <xsl:for-each select="*">
      <tr>
      <xsl:for-each select="./*">
        <td class="confluenceTd">
        <xsl:value-of select="."/>
        </td>
      </xsl:for-each>
      </tr>
    </xsl:for-each>

    </tbody></table>
  </xsl:template>

  <xsl:template name="table-row">
      <tr>
      <xsl:for-each select="*">
        <td class="confluenceTd">
        <xsl:value-of select="."/>
        </td>
      </xsl:for-each>
      </tr>
  </xsl:template>

  <!-- Pivot table style 2: single row table
       <table-name>
           <col-1>
           <col-2>
           <col-3>
  -->
  <xsl:template name="pivot2">
    <table class="confluenceTable"><tbody>

    <!-- Header - name of the nodes -->
    <xsl:for-each select="*">
      <th style="text-transform:uppercase" class="confluenceTh">
      <xsl:value-of select="name()"/>
      </th>
    </xsl:for-each>

    <!-- Single row -->
    <tr>
    <xsl:for-each select="*">
      <td class="confluenceTd">
      <xsl:value-of select="."/>
      </td>
    </xsl:for-each>
    </tr>

    </tbody></table>
  </xsl:template>

  <!-- Pivot table style 3: Same as Style 1 but mixed rows
     <group-of-tables>
       <table-name-1>
           <col-1>
           <col-2>
           <col-3>
       <table-name-1>
           <col-1>
           <col-2>
           <col-3>
       <table-name-2>
           <col-1>
           <col-2>
           <col-3>
       <table-name-2>
           <col-1>
           <col-2>
           <col-3>
     Parameter1 table-name
  -->
  <xsl:template name="pivot3">
    <xsl:param name="group"/>

    <table class="confluenceTable"><tbody>

    <!-- Table Header -->
    <xsl:if test="*[name()=$group][1]">
      <xsl:for-each select="*[name()=$group][1]/*">
        <th style="text-transform:uppercase" class="confluenceTh">
        <xsl:value-of select="name()"/>
        </th>
      </xsl:for-each>
    </xsl:if>

    <!-- Table Rows -->
    <xsl:for-each select="*[name()=$group]">
      <tr>
      <xsl:for-each select="*">
        <td class="confluenceTd">
        <xsl:value-of select="."/>
        </td>
      </xsl:for-each>
      </tr>
    </xsl:for-each>

    </tbody></table>
  </xsl:template>

  <!-- Transformation header -->
  <xsl:template name = "trans">
	<h1 style="text-align:left">
	  <img src="ui/images/TRN.png"/>
	  <a href="http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Steps">
	    <xsl:value-of select="./info/name/text()" />
	  </a>
	  <xsl:if test="./info/capture_step_performance/text()='Y'">
	    <img src="ui/images/perfmon2.jpeg"/>
	  </xsl:if>
	</h1>
  </xsl:template>

  <!-- Job header -->
  <xsl:template name = "job">
	<h1 style="text-align:left">
	  <img src="ui/images/JOB.png"/>
	  <a href="http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Job+Entries">
		<xsl:value-of select="./name/text()" />
	  </a>
	</h1>
  </xsl:template>

  <!-- Info header -->
  <xsl:template name = "info">
	<h1 style="text-align:left">
	  INFORMATION
	</h1>
  </xsl:template>

  <!-- Code attribute values in Connection -->
  <xsl:template name="attr">
    <xsl:call-template name="pivot1"/>
  </xsl:template>

  <!-- From To laid out in a table on the orders -->
  <xsl:template name="order">
    <xsl:call-template name="pivot1"/>
  </xsl:template>

  <!-- GUI coords, laid out in a single row table -->
  <xsl:template name="gui">
    <xsl:call-template name="pivot2"/>
  </xsl:template>

  <!-- Fields in a select step -->
  <xsl:template name="fields">
    <xsl:call-template name="pivot3">
      <xsl:with-param name="group">field</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <!-- Meta of fields in a select step -->
  <xsl:template name="meta_fields">
    <xsl:call-template name="pivot3">
      <xsl:with-param name="group">meta</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <!-- keys in lookup step -->
  <xsl:template name="keys">
    <xsl:call-template name="pivot3">
      <xsl:with-param name="group">key</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <!-- Values in lookup step -->
  <xsl:template name="values">
    <xsl:call-template name="pivot3">
      <xsl:with-param name="group">value</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <!-- Replace String -->
  <xsl:template name="replace-substring">
    <xsl:param name="original"/>
    <xsl:param name="substring"/>
    <xsl:param name="replacement" select="''"/>

    <xsl:variable name="first">
      <xsl:choose>
      <xsl:when test="contains($original, $substring)">
        <xsl:value-of select="substring-before($original, $substring)"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$original"/>
      </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="middle">
      <xsl:choose>
      <xsl:when test="contains($original, $substring)">
        <xsl:value-of select="$replacement"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:text></xsl:text>
      </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="last">
      <xsl:choose>
      <xsl:when test="contains($original, $substring)">
        <xsl:choose>
        <xsl:when test="contains(substring-after($original, $substring),$substring)">
          <xsl:call-template name="replace-substring">
            <xsl:with-param name="original">
              <xsl:value-of select="substring-after($original, $substring)"/>
            </xsl:with-param>
            <xsl:with-param name="substring">
              <xsl:value-of select="$substring"/>
            </xsl:with-param>
            <xsl:with-param name="replacement">
              <xsl:value-of select="$replacement"/>
            </xsl:with-param>
          </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="substring-after($original, $substring)"/>
        </xsl:otherwise>
        </xsl:choose>
      </xsl:when>
      <xsl:otherwise>
        <xsl:text></xsl:text>
      </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:value-of select="concat($first, $middle, $last)"/>
  </xsl:template>

  <!-- Print line separated by newline -->
  <xsl:template name="string-newline">
    <xsl:param name="original"/>

    <xsl:variable name="first">
      <xsl:choose>
      <xsl:when test="contains($original, $newline)">
        <xsl:value-of select="substring-before($original, $newline)"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$original"/>
      </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="last">
      <xsl:choose>
      <xsl:when test="contains($original, $newline)">
        <xsl:value-of select="substring-after($original, $newline)"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:text></xsl:text>
      </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
    <xsl:value-of select="$first"/><br/>
    <xsl:if test="string-length($last) > 0">
      <xsl:call-template name="string-newline">
        <xsl:with-param name="original">
          <xsl:value-of select="$last"/>
        </xsl:with-param>
      </xsl:call-template>
    </xsl:if>

  </xsl:template>

  <!-- Lookup to get anchor for step/entry images -->
  <xsl:template name="img">
  <xsl:param name="name"/>
  <xsl:variable name="name-caps">
    <xsl:value-of
	  select="translate(
				 $name
				 , 'abcdefghijklmnopqrstuvwxyz'
				 , 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
			  )"
	/>
  </xsl:variable>
  <xsl:variable name="fname">
  <xsl:choose>
	<xsl:when test="$name-caps='DUMMY'"><xsl:text>ui/images/DUM.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='APPEND'"><xsl:text>ui/images/APP.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TABLEINPUT'"><xsl:text>ui/images/TIP.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SOCKETREADER'"><xsl:text>ui/images/SKR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SOCKETWRITER'"><xsl:text>ui/images/SKW.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SELECTVALUES'"><xsl:text>ui/images/SEL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TEXTFILEINPUT'"><xsl:text>ui/images/TFI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='CALCULATOR'"><xsl:text>ui/images/CLC.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='CONSTANT'"><xsl:text>ui/images/CST.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ABORT'"><xsl:text>ui/images/ABR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SEQUENCE'"><xsl:text>ui/images/SEQ.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TABLEOUTPUT'"><xsl:text>ui/images/TOP.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='INFOBRIGHTOUTPUT'"><xsl:text>ui/images/IBL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SORTROWS'"><xsl:text>ui/images/SRT.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ORABULKLOADER'"><xsl:text>ui/images/OBL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='INJECTOR'"><xsl:text>ui/images/INJ.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILTERROWS'"><xsl:text>ui/images/FLT.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TEXTFILEOUTPUT'"><xsl:text>ui/images/TFO.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SYSTEMINFO'"><xsl:text>ui/images/SYS.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='STREAMLOOKUP'"><xsl:text>ui/images/SLU.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='UNIQUE'"><xsl:text>ui/images/UNQ.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DBLOOKUP'"><xsl:text>ui/images/DLU.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DBJOIN'"><xsl:text>ui/images/DBJ.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DIMENSIONLOOKUP'"><xsl:text>ui/images/DIM.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='EXCELINPUT'"><xsl:text>ui/images/XLI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='COMBINATIONLOOKUP'"><xsl:text>ui/images/CMB.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SCRIPTVALUEMOD'"><xsl:text>ui/images/SCR_mod.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='JOINROWS'"><xsl:text>ui/images/JRW.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='UPDATE'"><xsl:text>ui/images/UPD.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='INSERTUPDATE'"><xsl:text>ui/images/INU.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELETE'"><xsl:text>ui/images/Delete.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAPPINGINPUT'"><xsl:text>ui/images/MPI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAPPING'"><xsl:text>ui/images/MAP.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAPPINGOUTPUT'"><xsl:text>ui/images/MPO.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SETVARIABLE'"><xsl:text>ui/images/SVA.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='GETVARIABLE'"><xsl:text>ui/images/GVA.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='NULLIF'"><xsl:text>ui/images/NUI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='EXECSQL'"><xsl:text>ui/images/SQL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ROWSFROMRESULT'"><xsl:text>ui/images/FCH.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ROWSTORESULT'"><xsl:text>ui/images/TCH.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='BLOCKINGSTEP'"><xsl:text>ui/images/BLK.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='HTTP'"><xsl:text>ui/images/WEB.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MERGEROWS'"><xsl:text>ui/images/MRG.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='GETFILENAMES'"><xsl:text>ui/images/GFN.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILESFROMRESULT'"><xsl:text>ui/images/FFR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILESTORESULT'"><xsl:text>ui/images/FTR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='GROUPBY'"><xsl:text>ui/images/GRP.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ANALYTICQUERY'"><xsl:text>ui/images/AQI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MERGEJOIN'"><xsl:text>ui/images/MJOIN.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SORTEDMERGE'"><xsl:text>ui/images/SMG.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='XMLINPUT'"><xsl:text>ui/images/XIN.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='XMLINPUTSAX'"><xsl:text>ui/images/XIS.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='XMLOUTPUT'"><xsl:text>ui/images/XOU.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='EXCELOUTPUT'"><xsl:text>ui/images/XLO.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DBPROC'"><xsl:text>ui/images/PRC.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DENORMALISER'"><xsl:text>ui/images/UNP.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='NORMALISER'"><xsl:text>ui/images/NRM.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FLATTENER'"><xsl:text>ui/images/FLA.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='XBASEINPUT'"><xsl:text>ui/images/XBI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ACCESSOUTPUT'"><xsl:text>ui/images/ACO.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='REGEXEVAL'"><xsl:text>ui/images/RGE.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ACCESSINPUT'"><xsl:text>ui/images/ACI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ADDXML'"><xsl:text>ui/images/XIN.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='AGGREGATEROWS'"><xsl:text>ui/images/AGG.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MONDRIANINPUT'"><xsl:text>ui/images/MON.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='GETFILESROWSCOUNT'"><xsl:text>ui/images/FRC.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='LDAPINPUT'"><xsl:text>ui/images/LIP.png</xsl:text></xsl:when>
 <col-3>
     Parameter1 table-name
  --> 
  <xsl:template name="pivot3">
    <xsl:param name="group"/>

    <table class="confluenceTable"><tbody>

    <!-- Table Header -->
    <xsl:if test="*[name()=$group][1]">
      <xsl:for-each select="*[name()=$group][1]/*">
        <th style="text-transform:uppercase" class="confluenceTh">
        <xsl:value-of select="name()"/>
        </th>
      </xsl:for-each>
    </xsl:if>

    <!-- Table Rows -->
    <xsl:for-each select="*[name()=$group]"> 
      <tr>
      <xsl:for-each select="*">
        <td class="confluenceTd">
        <xsl:value-of select="."/>
        </td>
      </xsl:for-each>
      </tr>
    </xsl:for-each>

    </tbody></table>
  </xsl:template>

  <!-- Code attribute values in Connection -->
  <xsl:template name="attr">
    <xsl:call-template name="pivot1"/>
  </xsl:template>
  
  <!-- From To laid out in a table on the orders -->
  <xsl:template name="order">
    <xsl:call-template name="pivot1"/>
  </xsl:template>

  <!-- GUI coords, laid out in a single row table -->
  <xsl:template name="gui">
    <xsl:call-template name="pivot2"/>
  </xsl:template>

  <!-- Fields in a select step -->
  <xsl:template name="fields">
    <xsl:call-template name="pivot3">
      <xsl:with-param name="group">field</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <!-- Meta of fields in a select step -->
  <xsl:template name="meta_fields">
    <xsl:call-template name="pivot3">
      <xsl:with-param name="group">meta</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <!-- keys in lookup step -->
  <xsl:template name="keys">
    <xsl:call-template name="pivot3">
      <xsl:with-param name="group">key</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <!-- Values in lookup step -->
  <xsl:template name="values">
    <xsl:call-template name="pivot3">
      <xsl:with-param name="group">value</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <!-- Replace String -->
  <xsl:template name="replace-substring">
    <xsl:param name="original"/>
    <xsl:param name="substring"/>
    <xsl:param name="replacement" select="''"/>

    <xsl:variable name="first">
      <xsl:choose>
      <xsl:when test="contains($original, $substring)">
        <xsl:value-of select="substring-before($original, $substring)"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$original"/>
      </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="middle">
      <xsl:choose>
      <xsl:when test="contains($original, $substring)">
        <xsl:value-of select="$replacement"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:text></xsl:text>
      </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="last">
      <xsl:choose>
      <xsl:when test="contains($original, $substring)">
        <xsl:choose>
        <xsl:when test="contains(substring-after($original, $substring),$substring)">
          <xsl:call-template name="replace-substring">
            <xsl:with-param name="original">
              <xsl:value-of select="substring-after($original, $substring)"/>
            </xsl:with-param>
            <xsl:with-param name="substring">
              <xsl:value-of select="$substring"/>
            </xsl:with-param>
            <xsl:with-param name="replacement">
              <xsl:value-of select="$replacement"/>
            </xsl:with-param>
          </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="substring-after($original, $substring)"/>
        </xsl:otherwise>
        </xsl:choose>
      </xsl:when>
      <xsl:otherwise>
        <xsl:text></xsl:text>
      </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:value-of select="concat($first, $middle, $last)"/>
  </xsl:template>

  <!-- Print line separated by newline -->
  <xsl:template name="string-newline">
    <xsl:param name="original"/>

    <xsl:variable name="first">
      <xsl:choose>
      <xsl:when test="contains($original, $newline)">
        <xsl:value-of select="substring-before($original, $newline)"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$original"/>
      </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="last">
      <xsl:choose>
      <xsl:when test="contains($original, $newline)">
        <xsl:value-of select="substring-after($original, $newline)"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:text></xsl:text>
      </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
    <xsl:value-of select="$first"/><br/>
    <xsl:if test="string-length($last) > 0">
      <xsl:call-template name="string-newline">
        <xsl:with-param name="original">
          <xsl:value-of select="$last"/>
        </xsl:with-param>
      </xsl:call-template>
    </xsl:if>

  </xsl:template>

  <xsl:template name="img">
  <xsl:param name="name"/>
  <xsl:variable name="fname">
  <xsl:choose>
	<xsl:when test="$name='DUMMY'"><xsl:text>"ui/images/DUM.png"<	<xsl:when test="$name-caps='GETXMLDATA'"><xsl:text>ui/images/GXD.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='XSDVALIDATOR'"><xsl:text>ui/images/XSD.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='XSLT'"><xsl:text>ui/images/XSLT.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='VALIDATOR'"><xsl:text>ui/images/VLD.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SQLFILEOUTPUT'"><xsl:text>ui/images/SFO.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SPLITFIELDTOROWS'"><xsl:text>ui/images/SFtR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='PROPERTYINPUT'"><xsl:text>ui/images/PFI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='GPBULKLOADER'"><xsl:text>ui/images/GBL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='PGBULKLOADER'"><xsl:text>ui/images/PGBL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='LDIFINPUT'"><xsl:text>ui/images/LDI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='PROPERTYOUTPUT'"><xsl:text>ui/images/PFO.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='VALUEMAPPER'"><xsl:text>ui/images/SWC.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SWITCHCASE'"><xsl:text>ui/images/SWC.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='XMLJOIN'"><xsl:text>ui/images/XJN.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='STEPMETASTRUCTURE'"><xsl:text>ui/images/STMD.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TABLEEXISTS'"><xsl:text>ui/images/TEX.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='COLUMNEXISTS'"><xsl:text>ui/images/CEX.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILEEXISTS'"><xsl:text>ui/images/FEX.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='CLONEROW'"><xsl:text>ui/images/CLR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELAY'"><xsl:text>ui/images/DLT.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='CHECKSUM'"><xsl:text>ui/images/CSM.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='RANDOMVALUE'"><xsl:text>ui/images/RVA.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='GETSUBFOLDERS'"><xsl:text>ui/images/LSF.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MONETDBBULKLOADER'"><xsl:text>ui/images/OBL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAILVALIDATOR'"><xsl:text>ui/images/MAV.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAIL'"><xsl:text>ui/images/MAIL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='CREDITCARDVALIDATOR'"><xsl:text>ui/images/CCV.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='PROCESSFILES'"><xsl:text>ui/images/PPF.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DETECTLASTROW'"><xsl:text>ui/images/DLR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DETECTEMPTYSTREAM'"><xsl:text>ui/images/EMS.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='WRITETOLOG'"><xsl:text>ui/images/WTL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SAMPLEROWS'"><xsl:text>ui/images/SR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='GETPREVIOUSROWFIELD'"><xsl:text>ui/images/PRV.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='EXECSQLROW'"><xsl:text>ui/images/SQLR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DYNAMICSQLROW'"><xsl:text>ui/images/DSR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='NUMBERRANGE'"><xsl:text>ui/images/NRI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SYNCHRONIZEAFTERMERGE'"><xsl:text>ui/images/SAM.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='LUCIDDBBULKLOADER'"><xsl:text>ui/images/OBL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MYSQLBULKLOADER'"><xsl:text>ui/images/OBL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='REPLACESTRING'"><xsl:text>ui/images/RST.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='STRINGCUT'"><xsl:text>ui/images/SRC.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='IFNULL'"><xsl:text>ui/images/IFN.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='RSSOUTPUT'"><xsl:text>ui/images/RRO.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='RSSINPUT'"><xsl:text>ui/images/RIN.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SALESFORCEINPUT'"><xsl:text>ui/images/SFI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FORMULA'"><xsl:text>ui/images/FRM.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='JANINO'"><xsl:text>ui/images/janino.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SCRIPTVALUEMOD'"><xsl:text>ui/images/janino.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='RESERVOIRSAMPLING'"><xsl:text>ui/images/RS.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='UNIVARIATESTATS'"><xsl:text>ui/images/US.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='UNIQUEROWSBYHASHSET'"><xsl:text>ui/images/URH.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='HTTPPOST'"><xsl:text>ui/images/HTP.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SETVALUECONSTANT'"><xsl:text>ui/images/SVC.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SETVALUEFIELD'"><xsl:text>ui/images/SVF.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='EXECPROCESS'"><xsl:text>ui/images/RPL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='WEBSERVICELOOKUP'"><xsl:text>ui/images/WSL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='CSVINPUT'"><xsl:text>ui/images/TFI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='PARALLELGZIPCSVINPUT'"><xsl:text>ui/images/TFI.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='JOB'"><xsl:text>ui/images/JOB.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TRANS'"><xsl:text>ui/images/TRN.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SHELL'"><xsl:text>ui/images/SHL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAIL'"><xsl:text>ui/images/MAIL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SQL'"><xsl:text>ui/images/SQL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FTP'"><xsl:text>ui/images/FTP.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TABLE_EXISTS'"><xsl:text>ui/images/TEX.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILE_EXISTS'"><xsl:text>ui/images/FEX.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='EVAL'"><xsl:text>ui/images/RES.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SPECIAL'"><xsl:text>ui/images/STR.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SFTP'"><xsl:text>ui/images/SFT.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='HTTP'"><xsl:text>ui/images/WEB.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='CREATE_FILE'"><xsl:text>ui/images/CFJ.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELETE_FILE'"><xsl:text>ui/images/DFJ.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='WAIT_FOR_FILE'"><xsl:text>ui/images/WFF.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SFTPPUT'"><xsl:text>ui/images/SFP.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILE_COMPARE'"><xsl:text>ui/images/BFC.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MYSQL_BULK_LOAD'"><xsl:text>ui/images/MBL.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MSGBOX_INFO'"><xsl:text>ui/images/INF.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELAY'"><xsl:text>ui/images/DLT.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ZIP_FILE'"><xsl:text>ui/images/ZIP.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='XSLT'"><xsl:text>ui/images/XSLT.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MYSQL_BULK_FILE'"><xsl:text>ui/images/MBF.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='APPENDABORT'"><xsl:text>"uitext>ui/images/APPABR.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TABLEINPUTGET_POP'"><xsl:text>"uitext>ui/images/TIPGETPOP.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SOCKETREADERPING'"><xsl:text>"uitext>ui/images/SKRPNG.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SOCKETWRITERDELETE_FILES'"><xsl:text>"uitext>ui/images/SKWDFS.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SELECTVALUESSUCCESS'"><xsl:text>"uitext>ui/images/SELSUC.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TEXTFILEINPUTXSD_VALIDATOR'"><xsl:text>"uitext>ui/images/TFIXSD.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='CALCULATORWRITE_TO_LOG'"><xsl:text>"uitext>ui/images/CLCWTL.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='CONSTANTCOPY_FILES'"><xsl:text>"uitext>ui/images/CSTCPY.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ABORTDTD_VALIDATOR'"><xsl:text>"uitext>ui/images/ABRDTD.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SEQUENCEFTP_PUT'"><xsl:text>"uitext>ui/images/SEQPFP.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TABLEOUTPUTUNZIP'"><xsl:text>"uitext>ui/images/TOPUZP.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='INFOBRIGHTOUTPUTCREATE_FOLDER'"><xsl:text>"uitext>ui/images/IBLCRF.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SORTROWSFOLDER_IS_EMPTY'"><xsl:text>"uitext>ui/images/SRTEFO.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='ORABULKLOADERFILES_EXIST'"><xsl:text>"uitext>ui/images/OBLLFE.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FOLDERS_COMPARE'INJECTOR'"><xsl:text>"uitext>ui/images/INJFCP.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILTERROWSADD_RESULT_FILENAMES'"><xsl:text>"uitext>ui/images/FLTAFN.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='TEXTFILEOUTPUTDELETE_RESULT_FILENAMES'"><xsl:text>"uitext>ui/images/TFODFN.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SYSTEMINFOMSSQL_BULK_LOAD'"><xsl:text>"uitext>ui/images/SYSMBL.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='STREAMLOOKUPMOVE_FILES'"><xsl:text>"uitext>ui/images/SLUMVF.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='UNIQUECOPY_MOVE_RESULT_FILENAMES'"><xsl:text>"uitext>ui/images/UNQCMR.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DBLOOKUPJOBCATEGORY.CATEGORY.XML_WELL_FORMED'"><xsl:text>"uitext>ui/images/DLUXFC.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DBJOINSSH2_GET'"><xsl:text>"uitext>ui/images/DBJSHG.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DIMENSIONLOOKUPSSH2_PUT'"><xsl:text>"uitext>ui/images/DIMSHP.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='EXCELINPUTFTP_DELETE'"><xsl:text>"uitext>ui/images/XLIFTPD.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='COMBINATIONLOOKUPDELETE_FOLDERS'"><xsl:text>"uitext>ui/images/CMBDSF.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SCRIPTVALUEMODCOLUMNS_EXIST'"><xsl:text>"uitext>ui/images/SCR_mod.png"<CEX.png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='JOINROWSEXPORT_REPOSITORY'"><xsl:text>"uitext>ui/images/JRWEREP.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='UPDATECONNECTED_TO_REPOSITORY'"><xsl:text>"uitext>ui/images/UPDCREP.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='INSERTUPDATETRUNCATE_TABLES'"><xsl:text>"uitext>ui/images/INUTRT.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELETESET_VARIABLES'"><xsl:text>"uitext>ui/images/DeleteSVA.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAPPINGINPUTMS_ACCESS_BULK_LOAD'"><xsl:text>"uitext>ui/images/MPIMBL.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAPPINGWAIT_FOR_SQL'"><xsl:text>"uitext>ui/images/MAPWSQL.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAPPINGOUTPUTEVAL_TABLE_CONTENT'"><xsl:text>"uitext>ui/images/MPOETC.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='SETVARIABLESIMPLE_EVAL'"><xsl:text>"uitext>ui/images/SVASEV.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='GETVARIABLESNMP_TRAP'"><xsl:text>"uitext>ui/images/GVASNMP.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name-caps='NULLIFJOBCATEGORY.CATEGORY.MAIL_VALIDATOR'"><xsl:text>"uitext>ui/images/NUIMAV.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name='EXECSQL'"><xsl:text>"ui    <xsl:otherwise><xsl:text>ui/images/SQLspoon32.png"<png</xsl:text></xsl:when>
	<xsl:when test="$name='ROWSFROMRESULT'"><xsl:text>"ui/images/FCH.png"otherwise>
  </xsl:text><choose>
  </xsl:when>variable>

  <img>
	<xsl:whenattribute testname="$name='ROWSTORESULT'"><xsl:text>"ui/images/TCH.png""src">
	  <xsl:value-of select="$fname"/>
	</xsl:text></xsl:when>attribute>
	<xsl:whenattribute testname="$name='BLOCKINGSTEP'"><xsl:text>"ui/images/BLK.png"</xsl:text></xsl:when>
	<xsl:when test="$name='HTTP'"><xsl:text>"ui/images/WEB.png"</xsl:text></xsl:when>
	<xsl:when test="$name='MERGEROWS'"><xsl:text>"ui/images/MRG.png"</xsl:text></xsl:when>
	<xsl:when test="$name='GETFILENAMES'"><xsl:text>"ui/images/GFN.png"</xsl:text></xsl:when>
	<xsl:when test="$name='FILESFROMRESULT'"><xsl:text>"ui/images/FFR.png"</xsl:text></xsl:when>
	<xsl:when test="$name='FILESTORESULT'"><xsl:text>"ui/images/FTR.png"</xsl:text></xsl:when>style">
	  <xsl:text>border:1px solid black</xsl:text>
	</xsl:attribute>
  </img>
  </xsl:template>
  <!-- Lookup to get anchor for step/entry help page on wiki.pentaho -->
  <xsl:template name="wiki-pentaho">
  <xsl:param name="name"/>
  <xsl:variable name="name-caps">
    <xsl:value-of
	  select="translate(
				 $name
				 , 'abcdefghijklmnopqrstuvwxyz'
				 , 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
			  )"
	/>
  </xsl:variable>
  <xsl:variable name="web-addr">
  <xsl:choose>
	<xsl:when test="$name-caps='GROUPBYSPECIAL'"><xsl:text>http:text>"ui/images/GRP.png"wiki.pentaho.com/display/EAI/Start </xsl:text></xsl:when>
	<xsl:when test="$name-caps='ANALYTICQUERYDUMMY'"><xsl:text>"uitext>http:/images/AQI.png"wiki.pentaho.com/display/EAI/Dummy+Job+Entry </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MERGEJOINABORT'"><xsl:text>http:text>"ui/images/MJOIN.png"wiki.pentaho.com/display/EAI/Abort+Job </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SORTEDMERGEMSGBOX_INFO'"><xsl:text>"uitext>http:/images/SMG.png"wiki.pentaho.com/display/EAI/Display+Msgbox+info </xsl:text></xsl:when>
	<xsl:when test="$name-caps='XMLINPUTJOB'"><xsl:text>"uitext>http:/images/XIN.png"wiki.pentaho.com/display/EAI/Job+%28Job+Entry%29 </xsl:text></xsl:when>
	<xsl:when test="$name-caps='XMLINPUTSAXPING'"><xsl:text>"uitext>http:/images/XIS.png"wiki.pentaho.com/display/EAI/Ping+a+host </xsl:text></xsl:when>
	<xsl:when test="$name-caps='XMLOUTPUTSUCCESS'"><xsl:text>"uitext>http:/images/XOU.png"wiki.pentaho.com/display/EAI/Success </xsl:text></xsl:when>
	<xsl:when test="$name-caps='EXCELOUTPUTTRAN'"><xsl:text>http:text>"ui/images/XLO.png"wiki.pentaho.com/display/EAI/Transformation+%28job+entry%29 </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DBPROCWRITE_TO_LOG'"><xsl:text>http:text>"ui/images/PRC.png"wiki.pentaho.com/display/EAI/Write+to+log </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DENORMALISERGET_POP'"><xsl:text>"uitext>http:/images/UNP.png"wiki.pentaho.com/display/EAI/Get+Mails+from+POP </xsl:text></xsl:when>
	<xsl:when test="$name-caps='NORMALISERMAIL'"><xsl:text>http:text>"ui/images/NRM.png"wiki.pentaho.com/display/EAI/Mail </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FLATTENERADD_RESULT_FILENAMES'"><xsl:text>http:text>"ui/images/FLA.png"wiki.pentaho.com/display/EAI/Add+filenames+to+result </xsl:text></xsl:when>
	<xsl:when test="$name-caps='XBASEINPUTVALUEMAPPER'"><xsl:text>http:text>"ui/images/XBI.png"wiki.pentaho.com/display/EAI/Value+Mapper </xsl:text></xsl:when>
	<xsl:when test="$name-caps='ACCESSOUTPUTCOPY_FILES'"><xsl:text>http:text>"ui/images/ACO.png"wiki.pentaho.com/display/EAI/Copy+Files </xsl:text></xsl:when>
	<xsl:when test="$name-caps='REGEXEVALCREATE_FOLDER'"><xsl:text>"ui/images/RGE.png":text>http://wiki.pentaho.com/display/EAI/Create+a+folder </xsl:text></xsl:when>
	<xsl:when test="$name-caps='ACCESSINPUTCREATE_FILE'"><xsl:text>http:text>"ui/images/ACI.png"wiki.pentaho.com/display/EAI/Create+a+file </xsl:text></xsl:when>
	<xsl:when test="$name-caps='ADDXMLDELETE_FILE'"><xsl:text>http:text>"ui/images/XIN.png"wiki.pentaho.com/display/EAI/Delete+a+file </xsl:text></xsl:when>
	<xsl:when test="$name-caps='AGGREGATEROWSDELETE_RESULT_FILENAMES'"><xsl:text>http:text>"ui/images/AGG.png"wiki.pentaho.com/display/EAI/Delete+filenames+from+result </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MONDRIANINPUTDELETE_FILES'"><xsl:text>"uitext>http:/images/MON.png"wiki.pentaho.com/display/EAI/Delete+Files </xsl:text></xsl:when>
	<xsl:when test="$name-caps='GETFILESROWSCOUNTDELETE_FOLDERS'"><xsl:text>"uitext>http:/images/FRC.png"wiki.pentaho.com/display/EAI/Delete+folders </xsl:text></xsl:when>
	<xsl:when test="$name-caps='LDAPINPUTFILE_COMPARE'"><xsl:text>http:text>"ui/images/LIP.png"wiki.pentaho.com/display/EAI/File+compare </xsl:text></xsl:when>
	<xsl:when test="$name-caps='GETXMLDATAHTTP'"><xsl:text>http:text>"ui/images/GXD.png"wiki.pentaho.com/display/EAI/HTTP </xsl:text></xsl:when>
	<xsl:when test="$name-caps='XSDVALIDATORMOVE_FILES'"><xsl:text>http:text>"ui/images/XSD.png"wiki.pentaho.com/display/EAI/Move+files </xsl:text></xsl:when>
	<xsl:when test="$name-caps='XSLTUNZIP'"><xsl:text>"uitext>http:/images/XSLT.png"wiki.pentaho.com/display/EAI/Unzip+file </xsl:text></xsl:when>
	<xsl:when test="$name$name-caps='VALIDATORWAIT_FOR_FILE'"><xsl:text>http:text>"ui/images/VLD.png"wiki.pentaho.com/display/EAI/Wait+for+a+file </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SQLFILEOUTPUTZIP_FILE'"><xsl:text>"uitext>http:/images/SFO.png"wiki.pentaho.com/display/EAI/Zip+files </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SPLITFIELDTOROWSTRUNCATE_TABLES'"><xsl:text>"uitext>http:/images/SFtR.png"wiki.pentaho.com/display/EAI/Truncate+tables </xsl:text></xsl:when>
	<xsl:when test="$name-caps='PROPERTYINPUTFOLDER_IS_EMPTY'"><xsl:text>http:text>"ui/images/PFI.png"wiki.pentaho.com/display/EAI/Check+if+a+folder+is+empty </xsl:text></xsl:when>
	<xsl:when test="$name-caps='GPBULKLOADERFILES_EXIST'"><xsl:text>http:text>"ui/images/GBL.png"wiki.pentaho.com/display/EAI/File+Exists+%28Job+Entry%29 </xsl:text></xsl:when>
	<xsl:when test="$name-caps='PGBULKLOADERCOLUMNS_EXIST'"><xsl:text>http:text>"ui/images/PGBL.png"wiki.pentaho.com/display/EAI/Columns+exist+in+a+table </xsl:text></xsl:when>
	<xsl:when test="$name-caps='LDIFINPUTFILE_EXISTS'"><xsl:text>http:text>"ui/images/LDI.png"wiki.pentaho.com/display/EAI/File+Exists+%28Job+Entry%29 </xsl:text></xsl:when>
	<xsl:when test="$name-caps='PROPERTYOUTPUTTABLE_EXISTS'"><xsl:text>http:text>"ui/images/PFO.png"wiki.pentaho.com/display/EAI/Table+Exists+%28Job+Entry%29 </xsl:text></xsl:when>
	<xsl:when test="$name-caps='VALUEMAPPERWAIT_FOR_FILE'"><xsl:text>http:text>"ui/images/SWC.png"wiki.pentaho.com/display/EAI/Wait+for </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SWITCHCASE'"><xsl:text>"uitext>http:/images/SWC.png"wiki.pentaho.com/display/EAI/Evaluating+conditions+in+The+JavaScript+job+entry </xsl:text></xsl:when>
	<xsl:when test="$name-caps='XMLJOINSQL'"><xsl:text>"uitext>http:/images/XJN.png"wiki.pentaho.com/display/EAI/SQL </xsl:text></xsl:when>
	<xsl:when test="$name-caps='STEPMETASTRUCTURESHELL'"><xsl:text>http:text>"ui/images/STMD.png"wiki.pentaho.com/display/EAI/Shell </xsl:text></xsl:when>
	<xsl:when test="$name-caps='TABLEEXISTS'"><xsl:text>"uitext>http:/images/TEX.png"wiki.pentaho.com/display/EAI/Bulkload+into+MySQL </xsl:text></xsl:when>
	<xsl:when test="$name-caps='COLUMNEXISTS'"><xsl:text>http:text>"ui/images/CEX.png"wiki.pentaho.com/display/EAI/Check+if+XML+file+is+well+formed </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILEEXISTSDTD_VALIDATOR'"><xsl:text>http:text>"ui/images/FEX.png"wiki.pentaho.com/display/EAI/DTD+Validator+%28Job+Entry%29 </xsl:text></xsl:when>
	<xsl:when test="$name-caps='CLONEROWXSD_VALIDATOR'"><xsl:text>http:text>"ui/images/CLR.png"wiki.pentaho.com/display/EAI/XSD+Validator+%28Job+Entry%29 </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELAYXSLT'"><xsl:text>http:text>"ui/images/DLT.png"wiki.pentaho.com/display/EAI/XSL+Transformation+%28Job+Entry%29 </xsl:text></xsl:when>
	<xsl:when test="$name-caps='CHECKSUMFTP'"><xsl:text>"ui/images/CSM.png":text>http://wiki.pentaho.com/display/EAI/Get+a+file+with+FTP </xsl:text></xsl:when>
	<xsl:when test="$name-caps='RANDOMVALUESFTP'"><xsl:text>http:text>"ui/images/RVA.png"wiki.pentaho.com/display/EAI/Get+a+file+with+SFTP </xsl:text></xsl:when>
	<xsl:when test="$name-caps='GETSUBFOLDERSACCESSINPUT'"><xsl:text>"uitext>http:/images/LSF.png"wiki.pentaho.com/display/EAI/Access+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MONETDBBULKLOADERCSVINPUT'"><xsl:text>http:text>"ui/images/OBL.png"wiki.pentaho.com/display/EAI/CSV+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAILVALIDATOR'"><xsl:text>"uitext>http:/images/MAV.png"wiki.pentaho.com/display/EAI/De-serialize+from+file </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAILEXCELINPUT'"><xsl:text>"uitext>http:/images/MAIL.png"wiki.pentaho.com/display/EAI/Excel+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='CREDITCARDVALIDATOR'"><xsl:text>http:text>"ui/images/CCV.png"wiki.pentaho.com/display/EAI/Fixed+File+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='PROCESSFILES'"><xsl:text>"uitext>http:/images/PPF.png"wiki.pentaho.com/display/EAI/Generate+Rows </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DETECTLASTROWRANDOMVALUE'"><xsl:text>http:text>"ui/images/DLR.png"wiki.pentaho.com/display/EAI/Generate+Random+Value </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DETECTEMPTYSTREAMGETFILENAMES'"><xsl:text>http:text>"ui/images/EMS.png"wiki.pentaho.com/display/EAI/Get+File+Names </xsl:text></xsl:when>
	<xsl:when test="$name-caps='WRITETOLOGGETFILESROWSCOUNT'"><xsl:text>"uitext>http:/images/WTL.png"wiki.pentaho.com/display/EAI/Get+Files+Row+Count </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SAMPLEROWSSYSTEMINFO'"><xsl:text>http:text>"ui/images/SR.png"wiki.pentaho.com/display/EAI/Get+System+Info </xsl:text></xsl:when>
	<xsl:when test="$name-caps='GETPREVIOUSROWFIELD'"><xsl:text>http:text>"ui/images/PRV.png"wiki.pentaho.com/display/EAI/Get+Data+From+XML </xsl:text></xsl:when>
	<xsl:when test="$name-caps='EXECSQLROWLDAPINPUT'"><xsl:text>"uitext>http:/images/SQLR.png"wiki.pentaho.com/display/EAI/LDAP+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DYNAMICSQLROWLDIFINPUT'"><xsl:text>http:text>"ui/images/DSR.png"wiki.pentaho.com/display/EAI/LDIF+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='NUMBERRANGEMONDRIANINPUT'"><xsl:text>"uitext>http:/images/NRI.png"wiki.pentaho.com/display/EAI/Mondrian+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SYNCHRONIZEAFTERMERGEPROPERTYINPUT'"><xsl:text>http:text>"ui/images/SAM.png"wiki.pentaho.com/display/EAI/Property+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='LUCIDDBBULKLOADERRSSINPUT'"><xsl:text>http:text>"ui/images/OBL.png"wiki.pentaho.com/display/EAI/RSS+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MYSQLBULKLOADER'"><xsl:text>http:text>"ui/images/OBL.png"wiki.pentaho.com/display/EAI/Streaming+XML+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='REPLACESTRINGTABLEINPUT'"><xsl:text>"uitext>http:/images/RST.png"wiki.pentaho.com/display/EAI/Table+Input </xsl:text></xsl:when>
	<xsl:when test="$name$name-caps='STRINGCUTTEXTFILEINPUT'"><xsl:text>"uitext>http:/images/SRC.png"wiki.pentaho.com/display/EAI/Text+File+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='IFNULLXBASEINPUT'"><xsl:text>http:text>"ui/images/IFN.png"wiki.pentaho.com/display/EAI/XBase+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='RSSOUTPUT'"><xsl:text>"uitext>http:/images/RRO.png"wiki.pentaho.com/display/EAI/XML+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='RSSINPUTACCESSOUTPUT'"><xsl:text>http:text>"ui/images/RIN.png"wiki.pentaho.com/display/EAI/Access+Output </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SALESFORCEINPUTDELETE'"><xsl:text>http:text>"ui/images/SFI.png"wiki.pentaho.com/display/EAI/Delete </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FORMULAEXCELOUTPUT'"><xsl:text>"uitext>http:/images/FRM.png"wiki.pentaho.com/display/EAI/Excel+Output </xsl:text></xsl:when>
	<xsl:when test="$name-caps='JANINOINSERTUPDATE'"><xsl:text>http:text>"ui/images/janino.png"wiki.pentaho.com/display/EAI/Insert+-+Update </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SCRIPTVALUEMODPROPERTYOUTPUT'"><xsl:text>http:text>"ui/images/janino.png"wiki.pentaho.com/display/EAI/Property+Output </xsl:text></xsl:when>
	<xsl:when test="$name-caps='RESERVOIRSAMPLINGSQLFILEOUTPUT'"><xsl:text>"uitext>http:/images/RS.png"wiki.pentaho.com/display/EAI/SQL+File+Output </xsl:text></xsl:when>
	<xsl:when test="$name-caps='UNIVARIATESTATS'"><xsl:text>"uitext>http:/images/US.png"wiki.pentaho.com/display/EAI/Serialize+to+file </xsl:text></xsl:when>
	<xsl:when test="$name-caps='UNIQUEROWSBYHASHSETTABLEOUTPUT'"><xsl:text>"uitext>http:/images/URH.png"wiki.pentaho.com/display/EAI/Table+Output </xsl:text></xsl:when>
	<xsl:when test="$name-caps='HTTPPOSTTEXTFILEOUTPUT'"><xsl:text>http:text>"ui/images/HTP.png"wiki.pentaho.com/display/EAI/Text+File+Output </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SETVALUECONSTANTUPDATE'"><xsl:text>http:text>"ui/images/SVC.png"wiki.pentaho.com/display/EAI/Update </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SETVALUEFIELDXMLOUTPUT'"><xsl:text>http:text>"ui/images/SVF.png"wiki.pentaho.com/display/EAI/XML+Output </xsl:text></xsl:when>
	<xsl:when test="$name-caps='EXECPROCESSABORT'"><xsl:text>"uitext>http:/images/RPL.png"wiki.pentaho.com/display/EAI/Abort </xsl:text></xsl:when>
	<xsl:when test="$name-caps='WEBSERVICELOOKUPADDXML'"><xsl:text>"ui/images/WSL.png":text>http://wiki.pentaho.com/display/EAI/Add+XML </xsl:text></xsl:when>
	<xsl:when test="$name-caps='CSVINPUTCHECKSUM'"><xsl:text>"uitext>http:/images/TFI.png"wiki.pentaho.com/display/EAI/Add+a+checksum </xsl:text></xsl:when>
	<xsl:when test="$name-caps='PARALLELGZIPCSVINPUTCONSTANT'"><xsl:text>http:text>"ui/images/TFI.png"wiki.pentaho.com/display/EAI/Add+Constants </xsl:text></xsl:when>
	<xsl:when test="$name-caps='JOBSEQUENCE'"><xsl:text>"uitext>http:/images/JOB.png"wiki.pentaho.com/display/EAI/Add+sequence </xsl:text></xsl:when>
	<xsl:when test="$name-caps='TRANSANALYTICQUERY'"><xsl:text>http:text>"ui/images/TRN.png"wiki.pentaho.com/display/EAI/Analytic+Query </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SHELLAPPEND'"><xsl:text>"ui/images/SHL.png":text>http://wiki.pentaho.com/display/EAI/Append+streams </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MAILBLOCKINGSTEP'"><xsl:text>http:text>"ui/images/MAIL.png"wiki.pentaho.com/display/EAI/Blocking+step </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SQLCALCULATOR'"><xsl:text>"uitext>http:/images/SQL.png"wiki.pentaho.com/display/EAI/Calculator </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FTPCLONEROW'"><xsl:text>"uitext>http:/images/FTP.png"wiki.pentaho.com/display/EAI/Clone+row </xsl:text></xsl:when>
	<xsl:when test="$name-caps='TABLE_EXISTS'"><xsl:text>"uitext>http:/images/TEX.png"wiki.pentaho.com/display/EAI/Closure+Generator </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILE_EXISTSVALIDATOR'"><xsl:text>"ui/images/FEX.png":text>http://wiki.pentaho.com/display/EAI/Data+Validator </xsl:text></xsl:when>
	<xsl:when test="$name-caps='EVALDELAY'"><xsl:text>http:text>"ui/images/RES.png"wiki.pentaho.com/display/EAI/Delay+row </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SPECIALDUMMY'"><xsl:text>http:text>"ui/images/STR.png"wiki.pentaho.com/display/EAI/Dummy+%28do+nothing%29 </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SFTPFILTERROWS'"><xsl:text>"uitext>http:/images/SFT.png"wiki.pentaho.com/display/EAI/Filter+rows </xsl:text></xsl:when>
	<xsl:when test="$name-caps='HTTPGROUPBY'"><xsl:text>http:text>"ui/images/WEB.png"wiki.pentaho.com/display/EAI/Group+By </xsl:text></xsl:when>
	<xsl:when test="$name-caps='CREATE_FILE'"><xsl:text>"ui/images/CFJ.png":text>http://wiki.pentaho.com/display/EAI/Metadata+Structure </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELETE_FILENULLIF'"><xsl:text>http:text>"ui/images/DFJ.png"wiki.pentaho.com/display/EAI/Null+If </xsl:text></xsl:when>
	<xsl:when test="$name-caps='WAIT_FOR_FILENORMALISER'"><xsl:text>http:text>"ui/images/WFF.png"wiki.pentaho.com/display/EAI/Row+Normalizer </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SFTPPUTDENORMALISER'"><xsl:text>"uitext>http:/images/SFP.png"wiki.pentaho.com/display/EAI/Row+De-normalizer </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILE_COMPAREFLATTENER'"><xsl:text>"uitext>http:/images/BFC.png"wiki.pentaho.com/display/EAI/Flattener </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MYSQL_BULK_LOADSELECTVALUES'"><xsl:text>http:text>"ui/images/MBL.png"wiki.pentaho.com/display/EAI/Select+Values </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MSGBOX_INFOSORTROWS'"><xsl:text>http:text>"ui/images/INF.png"wiki.pentaho.com/display/EAI/Sort+rows </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELAY'"><xsl:text>http:text>"ui/images/DLT.png"wiki.pentaho.com/display/EAI/Field+Splitter </xsl:text></xsl:when>
	<xsl:when test="$name-caps='ZIP_FILESPLITFIELDTOROWS3'"><xsl:text>"uitext>http:/images/ZIP.png"wiki.pentaho.com/display/EAI/Split+field+to+rows </xsl:text></xsl:when>
	<xsl:when test="$name-caps='XSLTSWITCHCASE'"><xsl:text>"uitext>http:/images/XSLT.png"wiki.pentaho.com/display/EAI/Switch-Case </xsl:text></xsl:when>
	<xsl:when test="$name='MYSQL_BULK_FILE-caps='UNIQUE'"><xsl:text>"uitext>http:/images/MBF.png"wiki.pentaho.com/display/EAI/Unique+Rows </xsl:text></xsl:when>
	<xsl:when test="$name-caps='ABORT'"><xsl:text>http:text>"ui/images/ABR.png"wiki.pentaho.com/display/EAI/Value+Mapper </xsl:text></xsl:when>
	<xsl:when test="$name-caps='GET_POPXSDVALIDATOR'"><xsl:text>http:text>"ui/images/GETPOP.png"wiki.pentaho.com/display/EAI/XSD+Validator </xsl:text></xsl:when>
	<xsl:when test="$name-caps='PINGXSLT'"><xsl:text>http:text>"ui/images/PNG.png"wiki.pentaho.com/display/EAI/XSL+Transformation </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELETE_FILESDBPROC'"><xsl:text>"uitext>http:/images/DFS.png"wiki.pentaho.com/display/EAI/Call+DB+Procedure </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SUCCESSCOLUMNEXISTS'"><xsl:text>"uitext>http:/images/SUC.png"wiki.pentaho.com/display/EAI/Check+if+a+column+exists </xsl:text></xsl:when>
	<xsl:when test="$name-caps='XSD_VALIDATORDBJOIN'"><xsl:text>"uitext>http:/images/XSD.png"wiki.pentaho.com/display/EAI/Database+Join </xsl:text></xsl:when>
	<xsl:when test="$name-caps='WRITE_TO_LOGDBLOOKUP'"><xsl:text>"uitext>http:/images/WTL.png"wiki.pentaho.com/display/EAI/Database+lookup </xsl:text></xsl:when>
	<xsl:when test="$name-caps='COPY_FILESFILEEXISTS'"><xsl:text>http:text>"ui/images/CPY.png"wiki.pentaho.com/display/EAI/File+exists </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DTD_VALIDATORHTTP'"><xsl:text>"ui/images/DTD.png":text>http://wiki.pentaho.com/display/EAI/HTTP+Client </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FTP_PUTSTREAMLOOKUP'"><xsl:text>"uitext>http:/images/PFP.png"wiki.pentaho.com/display/EAI/Stream+Lookup </xsl:text></xsl:when>
	<xsl:when test="$name-caps='UNZIPTABLEEXISTS'"><xsl:text>http:text>"ui/images/UZP.png"wiki.pentaho.com/display/EAI/Table+Exists </xsl:text></xsl:when>
	<xsl:when test="$name-caps='CREATE_FOLDERWEBSERVICELOOKUP'"><xsl:text>"uitext>http:/images/CRF.png"wiki.pentaho.com/display/EAI/Web+services+lookup </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FOLDER_IS_EMPTYJOINROWS'"><xsl:text>"uitext>http:/images/EFO.png"wiki.pentaho.com/display/EAI/Join+Rows+%28Cartesian+product%29 </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FILES_EXISTMERGEJOIN'"><xsl:text>"uitext>http:/images/LFE.png"wiki.pentaho.com/display/EAI/Merge+Join </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FOLDERS_COMPAREMERGEROWS'"><xsl:text>http:text>"ui/images/FCP.png"wiki.pentaho.com/display/EAI/Merge+rows </xsl:text></xsl:when>
	<xsl:when test="$name-caps='ADD_RESULT_FILENAMESSORTEDMERGE'"><xsl:text>"uitext>http:/images/AFN.png"wiki.pentaho.com/display/EAI/Sorted+Merge </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELETE_RESULT_FILENAMESXMLJOIN'"><xsl:text>"uitext>http:/images/DFN.png"wiki.pentaho.com/display/EAI/XML+Join </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MSSQL_BULK_LOADEXECSQL'"><xsl:text>"ui/images/MBL.png":text>http://wiki.pentaho.com/display/EAI/Execute+SQL+script </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MOVE_FILESSCRIPTVALUEMOD'"><xsl:text>http:text>"ui/images/MVF.png"wiki.pentaho.com/display/EAI/Modified+Java+Script+Value </xsl:text></xsl:when>
	<xsl:when test="$name-caps='COPY_MOVE_RESULT_FILENAMESREGEXEVAL'"><xsl:text>"uitext>http:/images/CMR.png"wiki.pentaho.com/display/EAI/Regex+Evaluation </xsl:text></xsl:when>
	<xsl:when test="$name-caps='JOBCATEGORY.CATEGORY.XML_WELL_FORMEDFORMULA'"><xsl:text>"uitext>http:/images/XFC.png"wiki.pentaho.com/display/EAI/Formula </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SSH2_GETCOMBINATIONLOOKUP'"><xsl:text>http:text>"ui/images/SHG.png"wiki.pentaho.com/display/EAI/Combination+lookup-update </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SSH2_PUTDIMENSIONLOOKUP'"><xsl:text>"uitext>http:/images/SHP.png"wiki.pentaho.com/display/EAI/Dimension+Lookup-Update </xsl:text></xsl:when>
	<xsl:when test="$name-caps='FTP_DELETEMAPPING'"><xsl:text>"uitext>http:/images/FTPD.png"wiki.pentaho.com/display/EAI/Mapping </xsl:text></xsl:when>
	<xsl:when test="$name-caps='DELETE_FOLDERSMAPPINGINPUT'"><xsl:text>http:text>"ui/images/DSF.png"wiki.pentaho.com/display/EAI/Mapping+Input </xsl:text></xsl:when>
	<xsl:when test="$name-caps='COLUMNS_EXISTMAPPINGOUTPUT'"><xsl:text>http:text>"ui/images/CEX.png"wiki.pentaho.com/display/EAI/Mapping+Output </xsl:text></xsl:when>
	<xsl:when test="$name-caps='EXPORT_REPOSITORYROWSTORESULT'"><xsl:text>"ui/images/EREP.png":text>http://wiki.pentaho.com/display/EAI/Copy+rows+to+result </xsl:text></xsl:when>
	<xsl:when test="$name-caps='CONNECTED_TO_REPOSITORYGETVARIABLE'"><xsl:text>"uitext>http:/images/CREP.png"wiki.pentaho.com/display/EAI/Get+Variable </xsl:text></xsl:when>
	<xsl:when test="$name-caps='TRUNCATE_TABLESFILESFROMRESULT'"><xsl:text>http:text>"ui/images/TRT.png"wiki.pentaho.com/display/EAI/Get+files+from+result </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SET_VARIABLESROWSFROMRESULT'"><xsl:text>http:text>"ui/images/SVA.png"wiki.pentaho.com/display/EAI/Get+rows+from+result </xsl:text></xsl:when>
	<xsl:when test="$name-caps='MS_ACCESS_BULK_LOADSETVARIABLE'"><xsl:text>http:text>"ui/images/MBL.png"wiki.pentaho.com/display/EAI/Set+Variable </xsl:text></xsl:when>
	<xsl:when test="$name-caps='WAIT_FOR_SQLFILESTORESULT'"><xsl:text>http:text>"ui/images/WSQL.png"wiki.pentaho.com/display/EAI/Set+files+in+result </xsl:text></xsl:when>
	<xsl:when test="$name-caps='EVAL_TABLE_CONTENTMAILVALIDATOR'"><xsl:text>http:text>"ui/images/ETC.png"wiki.pentaho.com/display/EAI/Mail+Validator </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SIMPLE_EVALAGGREGATEROWS'"><xsl:text>http:text>"ui/images/SEV.png"wiki.pentaho.com/display/EAI/Aggregate+Rows </xsl:text></xsl:when>
	<xsl:when test="$name-caps='SNMP_TRAPORABULKLOADER'"><xsl:text>"uitext>http:/images/SNMP.png"wiki.pentaho.com/display/EAI/Oracle+Bulk+Loader </xsl:text></xsl:when>
	<xsl:when test="$name='JOBCATEGORY.CATEGORY.MAIL_VALIDATOR'"><xsl:text>"ui/images/MAV.png"<
    <xsl:otherwise><xsl:text>http://wiki.pentaho.com/display/EAI/Latest+Pentaho+Data+Integration+%28aka+Kettle%29+Documentation</xsl:text></xsl:when>otherwise>
  </xsl:choose>
  </xsl:variable>

  <a>
 	<xsl:text disable-output-escapingattribute name="yeshref">&lt;img src=</xsl:text>
	   <xsl:value-of select="$fname$web-addr"/>
	</xsl:attribute>
    <xsl:text disable-output-escapingvalue-of select="yes$name"/>
style="border:1px solid black" /&gt;</xsl:text>a>
  </xsl:template>
</xsl:stylesheet>




testing


1


2123
3