[ http://issues.apache.org/jira/browse/XALANJ-1184?page=all ]

Brian Minchau updated XALANJ-1184:
----------------------------------

    Version: Latest Development Code
                 (was: 2.4)

> xsl:key or generate-id() appears to lose first attribute from referenced 
> document element.
> ------------------------------------------------------------------------------------------
>
>          Key: XALANJ-1184
>          URL: http://issues.apache.org/jira/browse/XALANJ-1184
>      Project: XalanJ2
>         Type: Bug
>   Components: transformation, Xalan-interpretive
>     Versions: Latest Development Code
>  Environment: Operating System: Windows NT/2K
> Platform: Other
>     Reporter: Ian Gratton
>     Assignee: Xalan Developers Mailing List
>  Attachments: PrintManagerSearchResults.xml, gaprintmanagerresults.xsl
>
> I have a problem where by an attribute (it has a namespace) is stolen from my 
> XML when I use apache XTAGS in conjunction with XalanJ 2.4 to perform a 
> stylesheet transformation.
> The style sheet makes use of 5 <xsl:key> statements to pre-index document 
> nodes 
> for efficient output in the style sheet....
> If you transform the XML below with the stylesheet below you get a fragment 
> of 
> an HTML page.  Notice there are some Print <A> tags.  When you hover over the 
> Print anchors you should notice a call to javascript:printSingleDocument().
> The first item has no parameters in the method call - this means that the 
> transformation has lost the ino:id attribute from the first 
> <PrintableDocument> 
> element in the XML.
> If I run this stylesheet via XMLSPY using MSXML I do not get this problem.  I 
> am pretty sure I have not broken any of the standards XSLT rules in the 
> stylesheet.
> Anyone have any ideas ???
> The XML is as follows:
> ------------------------------ XML --------------------------
> <?xml version="1.0" encoding="iso-8859-1"?>
> <PrintManagerSearchResults 
> xmlns:ino="http://namespaces.softwareag.com/tamino/response2/";>
>       <PrintableDocuments>
>               <PrintableDocument ino:id="2" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014031891" 
> EffectiveDate="20020830" Part="Policy" DocumentVersion="1" PolicyVersion="1" 
> PolicyProducerId="OH95000908" PolicyInsuredName="Billy Ocean" 
> DateCreated="20020910014041155" CopyType="COMPANY"/>
>               <PrintableDocument ino:id="3" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014041235" 
> EffectiveDate="20020830" Part="Schedule A" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="OH95000908" PolicyInsuredName="Billy 
> Ocean" 
> DateCreated="20020910014044760" CopyType="ORIGINAL"/>
>               <PrintableDocument ino:id="4" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014044810" 
> EffectiveDate="20020830" Part="Schedule A" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="OH95000908" PolicyInsuredName="Billy 
> Ocean" 
> DateCreated="20020910014048345" CopyType="OFFICE"/>
>               <PrintableDocument ino:id="5" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014048455" 
> EffectiveDate="20020830" Part="Schedule A" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="OH95000908" PolicyInsuredName="Billy 
> Ocean" 
> DateCreated="20020910014058430" CopyType="COMPANY"/>
>               <PrintableDocument ino:id="6" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014058510" 
> EffectiveDate="20020830" Part="Schedule B" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="OH95000908" PolicyInsuredName="Billy 
> Ocean" 
> DateCreated="20020910014102075" CopyType="ORIGINAL"/>
>               <PrintableDocument ino:id="7" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014102145" 
> EffectiveDate="20020830" Part="Schedule B" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="OH95000908" PolicyInsuredName="Billy 
> Ocean" 
> DateCreated="20020910014105710" CopyType="OFFICE"/>
>               <PrintableDocument ino:id="8" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014105790" 
> EffectiveDate="20020830" Part="Schedule B" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="OH95000908" PolicyInsuredName="Billy 
> Ocean" 
> DateCreated="20020910014110777" CopyType="COMPANY"/>
>               <PrintableDocument ino:id="9" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014110868" 
> EffectiveDate="20020830" Part="Schedule C" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="OH95000908" PolicyInsuredName="Billy 
> Ocean" 
> DateCreated="20020910014114443" CopyType="ORIGINAL"/>
>               <PrintableDocument ino:id="10" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014114553" 
> EffectiveDate="20020830" Part="Schedule C" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="OH95000908" PolicyInsuredName="Billy 
> Ocean" 
> DateCreated="20020910014117958" CopyType="OFFICE"/>
>               <PrintableDocument ino:id="11" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014118168" 
> EffectiveDate="20020830" Part="Schedule C" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="OH95000908" PolicyInsuredName="Billy 
> Ocean" 
> DateCreated="20020910014123285" CopyType="COMPANY"/>
>               <PrintableDocument ino:id="12" PolicyNumber="59999999" 
> Type="ENDORSEMENT" PolicyStatus="Policy" Id="C002" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014123375" 
> EffectiveDate="20020830" Part="Endorsement" DocumentReference="B01" 
> DocumentVersion="1" PolicyVersion="1" PolicyProducerId="OH95000908" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014127832" 
> CopyType="ORIGINAL"/>
>               <PrintableDocument ino:id="13" PolicyNumber="59999999" 
> Type="ENDORSEMENT" PolicyStatus="Policy" Id="C002" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014127942" 
> EffectiveDate="20020830" Part="Endorsement" DocumentReference="B01" 
> DocumentVersion="1" PolicyVersion="1" PolicyProducerId="OH95000908" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014131006" 
> CopyType="OFFICE"/>
>               <PrintableDocument ino:id="14" PolicyNumber="59999999" 
> Type="ENDORSEMENT" PolicyStatus="Policy" Id="C002" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014131087" 
> EffectiveDate="20020830" Part="Endorsement" DocumentReference="B01" 
> DocumentVersion="1" PolicyVersion="1" PolicyProducerId="OH95000908" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014135433" 
> CopyType="COMPANY"/>
>               <PrintableDocument ino:id="15" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014135523" 
> EffectiveDate="20020830" Part="Policy" DocumentVersion="1" PolicyVersion="1" 
> PolicyProducerId="200111021604250921" PolicyInsuredName="Billy Ocean" 
> DateCreated="20020910014139018" CopyType="ORIGINAL"/>
>               <PrintableDocument ino:id="16" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014139078" 
> EffectiveDate="20020830" Part="Policy" DocumentVersion="1" PolicyVersion="1" 
> PolicyProducerId="200111021604250921" PolicyInsuredName="Billy Ocean" 
> DateCreated="20020910014141852" CopyType="OFFICE"/>
>               <PrintableDocument ino:id="17" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014141942" 
> EffectiveDate="20020830" Part="Policy" DocumentVersion="1" PolicyVersion="1" 
> PolicyProducerId="200111021604250921" PolicyInsuredName="Billy Ocean" 
> DateCreated="20020910014146158" CopyType="COMPANY"/>
>               <PrintableDocument ino:id="18" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014146228" 
> EffectiveDate="20020830" Part="Schedule A" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="200111021604250921" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014149703" 
> CopyType="ORIGINAL"/>
>               <PrintableDocument ino:id="19" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014149783" 
> EffectiveDate="20020830" Part="Schedule A" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="200111021604250921" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014153319" 
> CopyType="OFFICE"/>
>               <PrintableDocument ino:id="20" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014153409" 
> EffectiveDate="20020830" Part="Schedule A" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="200111021604250921" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014158516" 
> CopyType="COMPANY"/>
>               <PrintableDocument ino:id="21" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014158626" 
> EffectiveDate="20020830" Part="Schedule B" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="200111021604250921" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014207339" 
> CopyType="ORIGINAL"/>
>               <PrintableDocument ino:id="22" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014208901" 
> EffectiveDate="20020830" Part="Schedule B" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="200111021604250921" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014212396" 
> CopyType="OFFICE"/>
>               <PrintableDocument ino:id="23" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014212476" 
> EffectiveDate="20020830" Part="Schedule B" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="200111021604250921" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014216151" 
> CopyType="COMPANY"/>
>               <PrintableDocument ino:id="24" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014216221" 
> EffectiveDate="20020830" Part="Schedule C" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="200111021604250921" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014221289" 
> CopyType="ORIGINAL"/>
>               <PrintableDocument ino:id="25" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014221429" 
> EffectiveDate="20020830" Part="Schedule C" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="200111021604250921" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014224974" 
> CopyType="OFFICE"/>
>               <PrintableDocument ino:id="26" PolicyNumber="51111111" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014225044" 
> EffectiveDate="20020830" Part="Schedule C" DocumentVersion="1" 
> PolicyVersion="1" PolicyProducerId="200111021604250921" 
> PolicyInsuredName="Billy Ocean" DateCreated="20020910014228669" 
> CopyType="COMPANY"/>
>               <PrintableDocument ino:id="40" PolicyNumber="59999999" 
> Type="POLICY" PolicyStatus="Policy" Id="APG" CurrentVersion="Y" 
> DatePrinted="00000000000000000" EarliestPrintDate="20020910014012854" 
> EffectiveDate="20020830" Part="Policy" DocumentVersion="1" PolicyVersion="1" 
> PolicyProducerId="OH95000908" PolicyInsuredName="Billy Ocean" 
> DateCreated="20020910014028857" CopyType="ORIGINAL"/>
>       </PrintableDocuments>
> </PrintManagerSearchResults>
> ------------------------------ END XML --------------------------
> The stylesheet is as follows:
> ------------------------------ XSL --------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
> xmlns:ino="http://namespaces.softwareag.com/tamino/response2/"; 
> xmlns:xql="http://metalab.unc.edu/xql/"; 
> exclude-result-prefixes="ino xql">
> <xsl:output indent="yes" omit-xml-declaration="yes" />
> <!-- Set up the key for matching PrintableDocument for groupings in page 
> output -->
> <xsl:key name="by-policynumber" match="PrintableDocument" 
> use="@PolicyNumber"/>
> <xsl:key name="by-producer" match="PrintableDocument" 
> use="@PolicyProducerId"/>
> <xsl:key name="by-producer-policynumber" match="PrintableDocument" use="concat
> (@PolicyProducerId, '++', @PolicyNumber)"/>
> <xsl:key name="by-policynumber-part" match="PrintableDocument" use="concat
> (@PolicyNumber, '++', @Part)"/>
> <xsl:key name="by-policynumber-part-copytype" match="PrintableDocument" 
> use="concat(@PolicyNumber, '++', @Part, '++', @CopyType)"/>
> <xsl:template match="/">
>       <xsl:choose>
>               <xsl:when 
> test="PrintManagerSearchResults/PrintableDocuments/PrintableDocument">
>                       <!-- List all the matching documents -->
>                       <xsl:call-template name="ListDocuments"/>
>               </xsl:when>
>               <xsl:otherwise>
>                               <!-- There are no documents to display -->
>                               <xsl:call-template name="NoDocuments"/>
>               </xsl:otherwise>
>       </xsl:choose>
> </xsl:template>
> <xsl:template name="NoDocuments">
>       <p>No documents were found by your search. Click <a 
> href="/aus/servlet/GAPrintManager">here</a> to try again</p>
> </xsl:template>
> <xsl:template name="ListDocuments">
>               <p>There were <strong><xsl:value-of select="count
> (PrintManagerSearchResults/PrintableDocuments/PrintableDocument) - 
> 1"/></strong> documents found by your search.</p>
>               <p>The&#160;<img src="../Images/tick.gif" align="middle" alt="" 
> width="16" height="16" border="0"/>&#160;symbol indicates that the document 
> has 
> already been printed.  Hover over a tick to find out when.</p>
>               <table border="0" width="100%" cellpadding="5" cellspacing="0" 
> style="border: 1px solid Black;">
>                       <!-- Show each producer -->
>                       
>                       <xsl:for-each select="//PrintableDocument[generate-id()
> =generate-id(key('by-producer',@PolicyProducerId))]">
>                               <!--<xsl:if test="@PolicyProducerId != ''">-->
>                               <xsl:variable name="currProducerId" 
> select="@PolicyProducerId"/>
>                               
>                               <!-- Show the producers name -->
>                               <tr>
>                                       <td colspan="5" class="ProducerHeading">
>                                               <strong>
>                                                       <xsl:call-template 
> name="getProducerTitle">
>                                                               <xsl:with-param 
> name="title" select="@PolicyProducerId"/>
>                                                       </xsl:call-template>
>                                               </strong>
>                                       </td>
>                               </tr>
>                               <!-- Show each policy for this producer -->
>                               <xsl:for-each select="//PrintableDocument
> [generate-id() = generate-id(key('by-producer-policynumber', concat
> ($currProducerId, '++', ./@PolicyNumber)))]">
>                                       <xsl:variable name="currPolicyNumber" 
> select="@PolicyNumber"/>
>                                       <tr>
>                                               <td class="PolicyHeadingTop" 
> colspan="2" nowrap="nowrap">
>                                                       <strong><xsl:value-of 
> select="@PolicyInsuredName"/></strong>
>                                               </td>
>                                               <td width="15%" align="center" 
> class="PolicyHeadingTop">
>                                                       <a title="Click to 
> print all documents shown for this policy">
>                                                               <xsl:attribute 
> name="href">javascript:printPolicyDocuments([<xsl:call-template 
> name="buildPolicyPrintURL"><xsl:with-param name="policynumber" 
> select="$currPolicyNumber"/></xsl:call-template>])</xsl:attribute>
>                                                               <xsl:value-of 
> select="@PolicyNumber"/>
>                                                       </a>
>                                               </td>
>                                               <td width="15%" align="center" 
> nowrap="nowrap" class="PolicyHeadingTop">
>                                                       <strong>
>                                                       <xsl:call-template 
> name="formatDate">
>                                                               <xsl:with-param 
> name="date" select="@EffectiveDate"/>
>                                                       </xsl:call-template>
>                                                       </strong>
>                                               </td>
>                                               <td width="15%" align="center" 
> nowrap="nowrap" class="PolicyHeadingTop">
>                                                       <strong><xsl:value-of 
> select="@PolicyStatus"/></strong>
>                                               </td>
>                                       </tr>
>                                       <tr>
>                                               <td colspan="2" 
> class="PolicyHeadingBottom"><strong>Documents</strong></td>
>                                               <td align="center" 
> nowrap="nowrap" class="PolicyHeadingBottom"><strong>Original</strong></td>
>                                               <td align="center" 
> nowrap="nowrap" class="PolicyHeadingBottom"><strong>Producer 
> Copy</strong></td>
>                                               <td align="center" 
> nowrap="nowrap" class="PolicyHeadingBottom"><strong>Company Copy</strong></td>
>                                       </tr>
>                                       
>                                       <!-- Show each document for the current 
> policy -->
>                                       
>                                       <xsl:for-each 
> select="//PrintableDocument[generate-id() = generate-id(key('by-policynumber-
> part', concat($currPolicyNumber, '++', ./@Part)))]">
>                                               <xsl:sort select="@DateCreated" 
> data-type="text" order="ascending"/>
>                                               
>                                               <xsl:variable name="currPart" 
> select="@Part"/>
>                                               <xsl:variable name="currId" 
> select="@Id"/>
>                                               <tr>
>                                                       <xsl:attribute 
> name="BgColor">
>                                                               <xsl:choose>
>                                                               
>       <xsl:when test="position() mod 2 = 1">#dfdfdf</xsl:when>
>                                                               
>       <xsl:when test="position() mod 2 = 0">#f5f5f5</xsl:when>
>                                                               </xsl:choose>
>                                                       </xsl:attribute>
>                                                       <td>
>                                                               <img 
> src="../Images/document_sml.gif" alt="" width="16" height="16" border="0"/>
>                                                       
>       &#160;<xsl:value-of select="@Part"/>&#160;(<xsl:value-of select="@Id"/>)
> </td>
>                                                       <td>
>                                                               <a title="Click 
> to print all copies of this document">
>                                                               
>       <xsl:attribute name="href">
>                                                                       
>       javascript:printDocumentCopies([<xsl:call-template 
> name="buildMulticopyPrintURL"><xsl:with-param name="policynumber" 
> select="$currPolicyNumber"/><xsl:with-param name="part" 
> select="$currPart"/></xsl:call-template>])
>                                                               
>       </xsl:attribute>
>                                                                       Print
>                                                               </a>
>                                                       </td>
>                                                       <xsl:call-template 
> name="createPrintOption">
>                                                               <xsl:with-param 
> name="printableDoc" select="key('by-policynumber-part-copytype', concat
> ($currPolicyNumber, '++', $currPart, '++', 'ORIGINAL'))"/>
>                                                       </xsl:call-template>
>                                                       <xsl:call-template 
> name="createPrintOption">
>                                                               <xsl:with-param 
> name="printableDoc" select="key('by-policynumber-part-copytype', concat
> ($currPolicyNumber, '++', $currPart, '++', 'OFFICE'))"/>
>                                                       </xsl:call-template>
>                                                       <xsl:call-template 
> name="createPrintOption">
>                                                               <xsl:with-param 
> name="printableDoc" select="key('by-policynumber-part-copytype', concat
> ($currPolicyNumber, '++', $currPart, '++', 'COMPANY'))"/>
>                                                       </xsl:call-template>
>                                               </tr>                           
>       
>                                       </xsl:for-each>
>                               </xsl:for-each>
>                               <!-- </xsl:if> -->
>                       </xsl:for-each>
>               </table>                        
>               <br/>
>               <table border="0" width="100%" cellpadding="5" cellspacing="0"> 
>                       <tr>
>                               <td colspan="5" align="center">
>                                       <input type="reset" class="Button" 
> name="resetform" title="Click to reset this form" value="Reset Form" 
> onMouseOver="this.className='ButtonHover'" 
> onMouseOut="this.className='Button'"/>&#160;
>                                       <input type="button" class="Button" 
> name="printall" title="Click to print all the above documents" value="Print 
> All" onMouseOver="this.className='ButtonHover'" 
> onMouseOut="this.className='Button'" onclick="javascript:printAll()"/>&#160;
>                                       <input type="submit" class="Button" 
> name="printselected" title="Click to print the selected documents" 
> value="Print 
> Selected" onMouseOver="this.className='ButtonHover'" 
> onMouseOut="this.className='Button'"/>&#160;
>                                       <input type="button" class="Button" 
> name="printmanager" title="Click to return to the search screen" 
> value="Return 
> To Search" onMouseOver="this.className='ButtonHover'" 
> onMouseOut="this.className='Button'" onclick="javascript:returnToSearch()"/>
>                               </td>
>                       </tr>
>               </table>                                
>       </xsl:template>
>       <xsl:template name="buildPolicyPrintURL">
>               <xsl:param name="policynumber"/>
>               
>               <xsl:for-each select="key('by-policynumber', $policynumber)">
>                       <xsl:value-of select="@ino:id"/><xsl:if test="position
> () != last()">,</xsl:if>
>               </xsl:for-each>
>       </xsl:template>
>       
>       
>       <xsl:template name="buildMulticopyPrintURL">
>               <xsl:param name="policynumber"/>
>               <xsl:param name="part"/>
>       
>               <xsl:for-each select="key('by-policynumber-part',concat
> ($policynumber, '++', $part))">
>                               <xsl:value-of select="@ino:id"/><xsl:if 
> test="position() != last()">,</xsl:if>
>               </xsl:for-each>
>       </xsl:template>
>       <xsl:template name="createPrintOption">
>               <xsl:param name="printableDoc"/>
>               <td align="center">
>                       <xsl:choose>
>                               <xsl:when test="$printableDoc">
>                                       
>                                       <xsl:choose>
>                                               <xsl:when 
> test="$printableDoc/@DatePrinted != '00000000000000000'">
>                                                       <img 
> src="../Images/tick.gif" width="16" height="16" border="0" 
> onmouseover="this.style.cursor = 'help'" onmouseout="this.style.cursor 
> = 'default'">
>                                                               <xsl:attribute 
> name="title">This document was printed on&#160;<xsl:call-template 
> name="formatDate">
>                                                               
>       <xsl:with-param name="date" select="@DatePrinted"/>
>                                                               </xsl:call-
> template>
>                                                               </xsl:attribute>
>                                                       </img>
>                                                       &#160;
>                                               </xsl:when>
>                                               <xsl:otherwise>
>                                                       <img 
> src="../Images/blank.gif" width="16" height="16" border="0"/>&#160;
>                                               </xsl:otherwise>
>                                       </xsl:choose>
>                                       <input type="checkbox" 
> name="documentid" id="documentid" value="{$printableDoc/@ino:id}"/>
>                                       &#160;<a 
> href="javascript:printSingleDocument({$printableDoc/@ino:id})" title="Click 
> to 
> print just this copy of the document">Print</a>
>                                       
>                               </xsl:when>
>                               <xsl:otherwise>N/A</xsl:otherwise>
>                       </xsl:choose>                   
>               </td>
>       </xsl:template>
>       
>       <xsl:template name="formatDate">
>               <xsl:param name="date"/>
>               <xsl:choose>
>                       <xsl:when test="string($date)">
>                               <xsl:value-of select="substring($date, 5, 
> 2)"/>/<xsl:value-of select="substring($date, 7, 2)"/>/<xsl:value-of 
> select="substring($date, 1, 4)"/>
>                       </xsl:when>
>                       <xsl:otherwise>N/A</xsl:otherwise>
>               </xsl:choose>
>       </xsl:template>
>       <xsl:template name="getProducerTitle">
>               <xsl:param name="title"/>
>               <xsl:value-of select="//[EMAIL 
> PROTECTED]'brokerCompany']/listEntry
> [key=$title]/description/text()"/>
>       </xsl:template>
> </xsl:stylesheet>
> ------------------------------ XSL --------------------------

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to