XSLT File (/WEB-INF/xsl/linkValueGrid.xsl)

The XSLT transform extracts fields by name from the service buffer XML document, and injects them into the HTML output.

Field

Role

FIELD_​VALUE

Supplies displayed text.

NAVIGATION_​KEY

Provides navigation option.

KEY

List of up to six context keys.

CHILD_​ROW

Boolean that forces a slight left-indent.

The LabelValueGrid is similar, but it uses MENU_​NAME to define the desired context menu.

(Reuse directly).

         <?xml version="1.0" encoding="UTF-8" ?>
         <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSLTransform">
           <xsl:output method="html" />
           <xsl:strip-space elements="*" />
           <xsl:param name="sequenceId" />
           <xsl:param name="service" />
           <xsl:include href="include.xsl" />
           <xsl:include href="valueGridInclude.xsl" />
           <xsl:template match="listBody">
             <xsl:variable name="navKey" select="field[@name='NAVIGATION_​KEY']" />
             <xsl:choose>
               <xsl:when test="string-length($navKey) > 0">
                 <xsl:variable name="onclick">
                             <xsl:text />handleGotoContext('<xsl:value-of select="$navKey"/>'<xsl:text />
                             <xsl:call-template name="emitKeys" />
                             <xsl:text />)<xsl:text />
                         </xsl:variable>
                 <tr>
                   <xsl:variable name="label">
                     <xsl:call-template name="title" />
                   </xsl:variable>
                   <xsl:call-template name="rowClass" />
                   <xsl:call-template name="linkValueCell">
                     <xsl:with-param name="value" select="field[@name='FIELD_​VALUE']" />
                     <xsl:with-param name="onclick" select="$onclick" />
                     <xsl:with-param name="indent" select="field[@name='CHILD_​ROW']" />
                     <xsl:with-param name="label" select="$label" />
                   </xsl:call-template>
                 </tr>
               </xsl:when>
               <xsl:otherwise>
                 <xsl:call-template name="valueCell">
                   <xsl:with-param name="value" select="field[@name='FIELD_​VALUE']" />
                   <xsl:with-param name="indent" select="field[@name='CHILD_​ROW']" />
                 </xsl:call-template>
               </xsl:otherwise>
             </xsl:choose>
           </xsl:template>
         </xsl:stylesheet>