[webkit-dev] JavaScript for XML with XSL
Pierre Bernard
i_love_my at mac.com
Sun Feb 17 07:10:58 PST 2008
Hi Eric,
Running Safari 3.1, this produces no output, when entered at http://www.w3schools.com/xsl/tryit.asp?filename=cdcatalog
:
<html>
<head>
<script>
function loadXMLDoc(fname)
{
var xmlDoc;
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async=false;
xmlDoc.load(fname);
return(xmlDoc);
}
function displayResult()
{
xml=loadXMLDoc("cdcatalog.xml");
xsl=loadXMLDoc("cdcatalog.xsl");
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById("example").appendChild(resultDocument);
}
</script>
</head>
<body onload="displayResult()">
<div id="example" />
</body>
</html>
Best,
Pierre.
On 17 Feb 2008, at 15:49, Eric Seidel wrote:
> Safari 3.0 and later supports XSLTProcessor.
>
> You can use that. The FAQ is wrong:
> http://developer.apple.com/internet/safari/faq.html#anchor21
>
> Perhaps one of the Apple guys on this list can get it fixed.
>
> -eric
>
> On Sun, Feb 17, 2008 at 2:48 AM, Pierre Bernard <i_love_my at mac.com>
> wrote:
>> Hi!
>>
>> I would like to display XML with an XSL transformation.
>>
>> I know the easy way is to have an iframe point at the XML. Here the
>> XML needs to refer to the XSL.
>> That's precisely what I want to avoid. I don't want the XML to know
>> about the XSL as I want it to be used with several different XSL
>> transformations.
>>
>> An initial search brought me to this: http://www.w3schools.com/xml/xml_xsl.asp
>> However, it turns out that WebKit does not support JavaScript access
>> to XSL transformations. So this seems like a dead end.
>>
>> I have since found a better implementation: http://johannburkard.de/software/xsltjs/
>> Still this does not work with WebKit. However the developer gives an
>> interesting tidbit on his blog:
>>> I experimented with transforming XML in an <iframe>. Extending the
>>> XML with an xml-stylesheet processing instruction and loading it in
>>> a hidden <iframe> is probably enough to make Safari support
>>> programmatic XSLT. What I will try now is to extend xslt.js with the
>>> corresponding code.
>>>
>> If I understand this right, he found a way to inject the XSL
>> stylesheet reference into the XML using JavaScript. That would be a
>> perfect solution for WebKit use. (For other browsers I would still
>> need the xslt.js)
>>
>> The think is that I don't know how to manipulate the XML that goes
>> into the iframe. Ideas?
>>
>>
>> Best,
>> Pierre
>>
>> ---
>> Pierre Bernard
>> http://www.bernard-web.com/pierre
>> http://www.houdah.com
>>
>>
>>
>>
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org
>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>>
>>
---
Pierre Bernard
http://www.bernard-web.com/pierre
http://www.houdah.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2417 bytes
Desc: not available
Url : http://lists.webkit.org/pipermail/webkit-dev/attachments/20080217/1a8703c3/attachment-0001.bin
More information about the webkit-dev
mailing list