[xsl] XTRE1160: The fragment identifier {62;n} is not a valid NCName

Subject: [xsl] XTRE1160: The fragment identifier {62;n} is not a valid NCName
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Wed, 19 Nov 2008 11:54:18 +0000
Possibly Saxon specific issue here, or maybe something related to the
data: scheme:

I'm calling doc() passing in content from an RSS feed which attempts
to be tidied using tagsoup, but this particular value:

<xsl:value-of select="doc('data:,More Th&amp;#62;n')"/>

causes this exception:

Error at xsl:value-of on line 30 of rss-to-xhtml-text-plus-image.xsl:
  XTRE1160: The fragment identifier {62;n} is not a valid NCName

net.sf.saxon.trans.XPathException: The fragment identifier {62;n} is
not a valid NCName
        at net.sf.saxon.functions.Document.makeDoc(Document.java:257)
        at net.sf.saxon.functions.Doc.doc(Doc.java:155)
        at net.sf.saxon.functions.Doc.evaluateItem(Doc.java:129)

it doesn't even make it to the URIResolver

The value is "More Th>n" double escaped - are there any restrictions
on the "data" scheme, or should this be fine?  Shouldn't it at least
make it to the custom URIResolver?

A correct, single-escaped value works fine:

<xsl:value-of select="doc('data:,More Th&#62;n')"/>

Running that my debug output shows what goes in and out of tagsoup:

** in uri resolver: data:,More Th>n
More Th&gt;n



Any ideas?


-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

Current Thread