Re: [xsl] how do I say it for xalan, namespace probs

Subject: Re: [xsl] how do I say it for xalan, namespace probs
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Sun, 17 Jun 2007 18:56:14 +0100
On 6/17/07, Martin Honnen <Martin.Honnen@xxxxxx> wrote:
Jochen Schroer wrote:

> If 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.

I think you have hit a bug in Xalan. I don't see any problem with that
XPath expression and other XSLT 1.0 processors like Saxon 6.5 or MSXML
run the stylesheet without problems.

I think it may be because the stylesheet was loaded using a Stream so the System Id is unknown, meaning the empty call to document('') returns nothing.

Calling setSystemId() on the stream should fix it, or just separate
out the <my:char2bar> block into a separate file and not use the
'hack' (or use nnn:node-set())

cheers
andrew

Current Thread