[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
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 "&#62;" should have been ">". 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&#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>n')"/> > > Running that my debug output shows what goes in and out of tagsoup: > > ** in uri resolver: data:,More Th>n > More Th>n > > > > Any ideas? > > > -- > Andrew Welch > http://andrewjwelch.com > Kernow: http://kernowforsaxon.sf.net/
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|