Subject: Re: [xsl] document('') returning null in certain environments? From: J Ferry <ferr0084@xxxxxxxxx> Date: Mon, 1 Nov 2010 00:17:50 -0500 |
Michael, thank you for your response. In this case the stylesheet is stored in a database so I don't have an actual file path that I can provide the StreamSource, any idea what I would set the SystemId to for this? ~Jeremy On Sat, Oct 30, 2010 at 6:18 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote: > There's no such thing as "null" in the XPath data model, but I suspect you > mean that document('') is returning an empty node-set. The most likely > explanation for that is that the base URI of the stylesheet is unknown. The > W3C specs and RFCs don't like to admit that you can have a document whose > base URI is unknown, but it can happen very easily in practice - for example > the base URI of a DOM is always unknown, and the base URI of a Java > StreamSource is unknown unless you explicitly set its SystemID property. > > Michael Kay > Saxonica > > On 31/10/2010 00:06, J Ferry wrote: >> >> Let me start with the high level description of what I'm trying to >> accomplish... >> >> But first, I've got a limitation with the system I'm working with that >> I can only use a single stylesheet for this particular document. >> >> The document was originally developed as separate stylesheets, a >> couple of which are the barcode stylesheets from RenderX. >> >> I naively mashed them together into a single stylesheet and this seems >> to work fine in my development environment (I was using OxygenXML now >> using Ant) but it does not work when loaded into the target system (a >> Java app running on SunOne/Tomcat). I'm not very good at debugging >> stylesheets yet (someone needs to build a tool for that...) but I >> think I've tracked the problem to the use of document(''). It appears >> that the use of document('') in the target system (Tomcat/SunOne) >> returns null, which is supposed to be used to select a value from a >> character lookup table like this... >> >> value =<xsl:value-of >> select="document('')//my:char2value/entry[@char=$char and >> @subset=$subset]/text()"/> >> >> The lookup table looks like this... >> >> <my:char2value> >> <entry char=" " subset="A">0</entry> >> <entry char=" " subset="B">0</entry> >> <entry char="00" subset="C">0</entry> >> <entry char="!" subset="A">1</entry> >> <entry char="!" subset="B">1</entry> >> : >> : >> : >> </my:char2value> >> >> Is there something I need to do to my runtime (different parser or >> something) or is there a way to fix it in my stylesheet? I could put >> together a more complete example if necessary but you'd still need the >> runtime... >> >> Regards, >> Jeremy
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Thread | Re: [xsl] document('') returning nu, Mukul Gandhi | |
Date | Re: [xsl] document('') returning nu, Mukul Gandhi | |
Month |