RE: [xsl] toknize() not working with saxon9

Subject: RE: [xsl] toknize() not working with saxon9
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 12 Mar 2010 22:17:49 -0000
Start by seeing what the value of $temp1 is with both processors. Also try
showing the value of static-base-uri() in both cases.

Since your System ID is a relative URI, the chances are it has something to
do with the way the relative URI is expanded to an absolute URI. 

Certainly the problem is much more likely to be with unparsed-entity-uri()
than with tokenize(), since the former is inherently far more dependent on
your system environment. Some XML parsers don't even report the information
that Saxon needs for this function (you don't say anything about how you are
running Saxon or which XML parser you are using).

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 
 

> -----Original Message-----
> From: a kusa [mailto:akusa8@xxxxxxxxx] 
> Sent: 12 March 2010 21:50
> To: xsl-list
> Subject: [xsl] toknize() not working with saxon9
> 
> Hi
> 
> I am trying to use tokenize() to grab the name of an entity.
> 
> Here is my input XML:
> 
> <!DOCTYPE test [
> <!ENTITY g1 SYSTEM "123-g1.tif" NDATA CCITT4>]> <test>
> 
> 
> <image id="g1" res="34" inbr="g1"/>
> </test>
> 
> Here is my XSL snippet:
> 
> <xsl:template match="image">
> 
> 	<xsl:variable name="temp1" select="unparsed-entity-uri(@inbr)"/>
> <xsl:variable name="temp2" select="tokenize($temp1, '/')[last()]"/>
> 	<graphic>
> 			<xsl:attribute 
> name="href"><xsl:value-of select="$temp2"/></xsl:attribute>
> 			<xsl:attribute name="id" select="@id"/> 
> </graphic>
> 
> </xsl:template>
> 
> When I run this on an individual file in XML Spy, I get the 
> value of cariable temp2 as '123-g1.tif'. But when I run this 
> using saxon, it is empty.
> 
> Can anyone help point out what is the issue here?
> 
> Thanks in advance.

Current Thread