[Home] [By Thread] [By Date] [Recent Entries]
Hi,
because I need barcodes in my fo-documents I start searching in the internet and found some nice XSL-files at http://www.renderx.com/demos/barcodes.html . The problem is, this xsl-files work fine in my stylus studio and if I process them with saxon (8.x), but if I try it at my productive system with xalan 2.7.0 I run into big problems. I extract the problematic codelines and make a small testfile:
------------------------------------- snipp -----------------------
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my="3of9-data">
<xsl:template match="/">
<xsl:call-template name="char2bar_codec">
<xsl:with-param name="string">123</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="char2bar_codec">
<xsl:param name="string"/>
<xsl:if test="$string">
<xsl:value-of
select="document('')//my:char2bar/entry[@char=substring($string, 1,
1)]/text()"/>
<xsl:call-template name="char2bar_codec">
<xsl:with-param name="string" select="substring($string,
2)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<my:char2bar>
<entry char="1">1-->100100001 </entry>
<entry char="2">2-->001100001 </entry>
<entry char="3">3-->101100000 </entry>
</my:char2bar>
</xsl:stylesheet>
------------------------------------- snapp ---------------------
The output should be (and is it for example with saxon 8.x):
1-->100100001 2-->001100001 3-->101100000If I try it with xalan 2.7.0 (xalan-j on windows-xp) I get the following
error:
SystemId Unknown; Line #14; Column #99; A location step was expected
following the '/' or '//' token.
SystemId Unknown; Line #14; Column #99; A relative location path was
expected following the '/' or '//' token.
SystemId Unknown; Line #14; Column #99; Extra illegal tokens:
'3of9-data', ':', 'char2bar', '/', 'entry', '[', '@', 'char', '=',
'substring', '(', '$', 'string', ',', '1', ',', '1', ')', ']', '/',
'text', '(', ')'The problematical line ist the
"....document('')//my:char2bar/entry[@char=substring($string, 1,
1)]/text()..." construct but I'm not so familiar with XSLT and I have no
idea what I can do that xalan accept this codesnippet.Kind regards, Jochen -- ECS-Solution GmbH Handelsregister Geschdftsf|hrer Prokurist Raiffeisenstr. 26 Kaiserslautern Jochen Schrvr RA Felix Kuntz 67817 Imsbach HRB 12047 ebenda Germany Tel.: +49 (6302) 60971-0 Vom Prdsidenten des Landgerichtes Kaisers- Fax : +49 (6302) 60971-1 lautern zugelassenes Inkassounternehmen
|

Cart



