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

Subject: Re: [xsl] toknize() not working with saxon9
From: a kusa <akusa8@xxxxxxxxx>
Date: Mon, 15 Mar 2010 15:27:24 -0500
Can you please elaborate on your statement?

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