Hi there,
I'm currently trying to make my code smarter, and sometimes template
calls are okay, but other times its just too much.
I have the following (sample XSL):
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" omit-xml-declaration="yes"
encoding="UTF-8" indent="yes"/>
<xsl:param name="Internal_CSS"/>
<xsl:param name="Is_Voucher"/>
<xsl:variable name="Language_Id" select="Fee_Root/Fees/@Language_Id"/>
<xsl:variable name="Language"
select="document('language.xml')/Languages/Language[(_at_)Language_Id=$Language_Id]"/>
<xsl:template match="/">
......
</xsl:template>
</xsl:stylesheet>
As you can see i declare a global variable called Language_Id based on
the input XML, and then I declare another variable called Language based
on an external file and the Language_Id variable.
This works like a charm!
However, later in the code i use this template:
<xsl:for-each select="Weekdays/Day">
<xsl:call-template name="tplWeekday">
<xsl:with-param name="Id" select="@Id"/>
<xsl:with-param name="current" select="position()"/>
<xsl:with-param name="maximum" select="count(../Days)"/>
</xsl:call-template>
</xsl:for-each>
...........
<xsl:template name="tplWeekday">
<xsl:param name="Id"/>
<xsl:param name="current"/>
<xsl:param name="maximum"/>
<xsl:value-of select="$Language/Weekdays/Weekday[(_at_)Id = $Id]"/>
<xsl:if test="$current < $maximum">,</xsl:if>
</xsl:template>
This code was crappy and has been changed to this:
<xsl:for-each select="Weekdays/Day">
<xsl:variable name="Current_Id" select="@Id"/>
<xsl:value-of select="$Language/Weekdays/Weekday[(_at_)Wd_Id =
$Current_Id]"/><xsl:if test="following-sibling::*[1]">, </xsl:if>
</xsl:for-each>
But I would like to skip the Current_Id variable, but when I do like this:
<xsl:for-each select="Weekdays/Day">
<xsl:value-of select="$Language/Weekdays/Weekday[(_at_)Wd_Id =
@Id]"/><xsl:if test="following-sibling::*[1]">, </xsl:if>
</xsl:for-each>
I get the same day of the week (1) with this query. Is it possible to
get it some other way without the Variable?
Med venlig hilsen/Best regards
Michael Nielsen
Se min fotoblog på:
www.photofolio.dk - A study in photography
<http://feeds.feedburner.com/%7Er/photofoliodk/%7E6/1>
Szabo, Patrick (LNG-VIE) wrote:
Hi XSLT-List,
I´m using XSLT 2.0 and Saxon 9...
I have an xml file which includes base64-strings.
I want to serialize these strings to PDF-files. I´ve got a java-class to do
that (dind´t write it myself), but i can´t figure out how i should implement
it into my xslt.
The package that includes the class ist called "GLP"
The class is called "Base64DecodeFromXML"
What i´ve already done:
-Set the classpath to R:\Produktion\Tools\JTDS\jtds-1.2.jar;
R:\Produktion\Tools\LexisNexis\GLP.jar
-Namespace created in my xsl: xmlns:myTest="GLP.Base64DecodeFromXML"
-calling class in my xsl: <xsl:value-of select="myTest:main($arg1, $arg2,
$arg3)"/>
It tells me: "Cannot find a mathing 3-argument function named
{GLP.Base64DecodeFromXML}main()"
I´ve already checked saxonica.com but...
Help anyone ?!
cheers
Patrick Szabo
EPD / XSLT Konvertierung
Tel.: +43-1-534 52-1573
Fax.: +43-1-534 52-1573
patrick(_dot_)szabo(_at_)lexisnexis(_dot_)at
LexisNexis Verlag ARD Orac GmbH & Co KG
Marxergasse 25, 1030 Wien
FN 8333f, Handelsgericht Wien
www.lexisnexis.at <http://www.lexisnexis.at/>
<file://C:\Dokumente und
Einstellungen\szaboP\Anwendungsdaten\Microsoft\Signatures\LN Vienna
signature-Dateien\image001.jpg>
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--