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:32:56 -0000
> Can you please elaborate on your statement?

Which part of it don't you understand?

How are you running Saxon?

  * which version
  * on which platform
  * from the command line or an application
  * if from an application, show us the application code
  * via which API
  * with what option settings?

Regards,

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

>
> On Mon, Mar 15, 2010 at 2:42 PM, Michael Kay
> <mike@xxxxxxxxxxxx> wrote:
> >>
> >> You are right. I tried printing the value of  temp1 and it
> was blank.
> >> So unparsed-entity-uri() is the culprit. But how do I get
> around this
> >> problem?
> >
> > 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)
> >
> > 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