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

Subject: RE: [xsl] toknize() not working with saxon9
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 15 Mar 2010 20:30:28 -0000
> Start by answering the question implied in my previous response:
>
> (you don't say anything about how you are running Saxon or
> which XML parser you are using)

And I also suggested:

Also try showing the value of static-base-uri() in both cases.

It's a little frustrating that I suggested three things for you to do and
you only did one of them.

> Regards,
>
> Michael Kay
> http://www.saxonica.com/
> http://twitter.com/michaelhkay



>
> >
> > On Fri, Mar 12, 2010 at 5:17 PM, Michael Kay <mike@xxxxxxxxxxxx>
> > wrote:
> > >
> > > 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