[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: XTRE1160: The fragment identifier {62;n} is not a

Subject: RE: XTRE1160: The fragment identifier {62;n} is not a valid NCName
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 19 Nov 2008 16:50:35 -0000
RE:  XTRE1160: The fragment identifier {62;n} is not a
Saxon isn't 100% conformant in its handling of fragment identifiers, though
it's a pretty fuzzy area and I'm not sure it really affects the outcome in
this case. The reality is that when URIs are processed using the JAXP
URIResolver concept, Saxon has no knowledge of a media type, so it cannot
interpret a fragment identifier in a way that depends on the media type, and
it therefore treats it as an NCName irrespective of the actual media type.

But the root cause of the problem is that the "#" in the URI, if it is to be
interpreted as an ordinary character, should have been escaped as %23.
Except that in this case, the error is deeper, in that "&amp;#62;" should
have been "&#62;".

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

> -----Original Message-----
> From: Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx] 
> Sent: 19 November 2008 11:54
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  XTRE1160: The fragment identifier {62;n} is 
> not a valid NCName
> 
> 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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.