RE: file URL is overspecified

MSXML does not respect the attribute escape-uri-attributes.  It seems the
best way to go in the Microsoft world is to use XML mode output mode to
generate XHTML and convert it to HTML using the native HTML Document object.
This was not particularly difficult, you can see the source code here
<> .  I admit it is rather inefficient
but I wanted to use existing components and to make the code short-the code
is still too long to just paste it.

On the other hand, if you want to use the xsl-stylesheet instruction to
generate the HTML code on the fly, it is possible to fix the broken links
using decodeURI in the onLoad event handler; the downside is that the page
will flash because the images will be invalid on the outset.

That was just for the record, sorry for disturbing you if consider this
information useless.  I shall welcome all your comments otherwise.

Best regards

Christopher Yeleighton



From: Michael Kay [] 
Sent: Friday, June 15, 2007 2:12 PM
To: 'Kristof Zelechovski';
Cc: 'Tim Berners-Lee';;
Subject: RE: file URL is overspecified


>The reason is that the prohibition of B.2.1 propagated to the XSLT
specification that refers to it explicitly where it specifies how URI
attributes should be transformed in
<blocked::> html mode.
In effect, a document produced by a conforming XSLT processor for local
usage is perfectly valid and perfectly useless: hyperlinks are broken and
images do not show up.


To help you get round the difference between what the HTML spec says and
what current browsers do, XSLT 2.0 introduced the serialization parameter
escape-uri-attributes="no", giving the XSLT author control over whether and
which URIs in generated HTML pages are percent-encoded. Of course, this is
only a small amelioration to this messy problem; but it helps.


Michael Kay

Received on Sunday, 17 June 2007 09:18:03 UTC