[ http://issues.apache.org/jira/browse/XALANJ-1184?page=all ]
Brian Minchau updated XALANJ-1184:
----------------------------------
Version: 2.4
(was: Latest Development Code)
> 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: 2.4
> 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 <img src="../Images/tick.gif" align="middle" alt=""
> width="16" height="16" border="0"/> 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"/>
>
>  <xsl:value-of select="@Part"/> (<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'"/> 
> <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()"/> 
> <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'"/> 
> <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 <xsl:call-template
> name="formatDate">
>
> <xsl:with-param name="date" select="@DatePrinted"/>
> </xsl:call-
> template>
> </xsl:attribute>
> </img>
>  
> </xsl:when>
> <xsl:otherwise>
> <img
> src="../Images/blank.gif" width="16" height="16" border="0"/> 
> </xsl:otherwise>
> </xsl:choose>
> <input type="checkbox"
> name="documentid" id="documentid" value="{$printableDoc/@ino:id}"/>
>  <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]