468,537 Members | 1,577 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,537 developers. It's quick & easy.

client side xslt transformation in Firefox

Hi all,

anyone has a live example of loading an xml file from a server, an xslt
file from the server, then transforming the xml using the xslt and
outputing the results (preferably with appendChild)?

I'm trying to write a function to do just that (given url to xml, url
to xslt and elementid). Works a charm on IE. Can't get it to work with
Firefox.

Thanks in advance,
R. Green

Dec 26 '06 #1
7 7659
Zzzbla wrote:
anyone has a live example of loading an xml file from a server, an xslt
file from the server, then transforming the xml using the xslt and
outputing the results (preferably with appendChild)?
Here is an example
<http://home.arcor.de/martin.honnen/javascript/2006/12/test2006122601.html>
tested with Mozilla, Opera 9, IE 6.


--

Martin Honnen
http://JavaScript.FAQTs.com/
Dec 26 '06 #2
Thank you Martin!!!
Martin Honnen wrote:
Zzzbla wrote:
anyone has a live example of loading an xml file from a server, an xslt
file from the server, then transforming the xml using the xslt and
outputing the results (preferably with appendChild)?

Here is an example
<http://home.arcor.de/martin.honnen/javascript/2006/12/test2006122601.html>
tested with Mozilla, Opera 9, IE 6.


--

Martin Honnen
http://JavaScript.FAQTs.com/
Dec 26 '06 #3
Martin Honnen <ma*******@yahoo.dewrote:
Here is an example
<http://home.arcor.de/martin.honnen/javascript/2006/12/test2006122601.html>
tested with Mozilla, Opera 9, IE 6.
Fine thanks !

this example works also on Mac OS X 10.4.8 with :

WebKit (latest nightly)
Firefox 2.0.x
Flock 0.7.8
Opera 9.10
Camino 1.1a1+

don't work with :
Safari 2.0.4
Shiira 2.0b1
SunRiseBrowser 0.895 (latest)
TrailBlazer 0.5
may be that's only a question of javascript core version ???

how to get that version number ?
--
Pre Nol
Dec 26 '06 #4
VK

Zzzbla wrote:
anyone has a live example of loading an xml file from a server, an xslt
file from the server, then transforming the xml using the xslt and
outputing the results (preferably with appendChild)?

I'm trying to write a function to do just that (given url to xml, url
to xslt and elementid). Works a charm on IE. Can't get it to work with
Firefox.
(One more sample besides the one by Martin Honnen)

Full sample at <http://jsnet.sourceforge.net/tmp/xslt/dxslt.html>

That may be confusing because MSXML and Gecko are using different
patterns.

In MSXML you
1) obtaining XML data
2) obtaining XSL template
3) applying XSL template onto XML data; this automatically invokes
XSLT processor

// 1
var xml = new ActiveXObject('Microsoft.XMLDOM');
xml.async = false;
xml.load('demo.xml');
// 2
var xsl = new ActiveXObject('Microsoft.XMLDOM');
xsl.async = false;
xsl.load('demo.xsl');
// 3
document.body.
insertAdjacentHTML('beforeEnd',
xml.transformNode(xsl));

In Gecko you
1) creating an instance of XSLT processor
2) loading XML data to be processed
3) loading XSL template to be used
4) "charging" the processor with XSL template
5) passing XML data through the processor.

// 1
var XSLT = new XSLTProcessor;

// 2
var $xml = new XMLHttpRequest;
$xml.open('GET', 'demo.xml', false);
$xml.overrideMimeType('text/xml');
$xml.send(null);
var xml = $xml.responseXML;

// 3
var $xsl = new XMLHttpRequest;
$xsl.open('GET', 'demo.xsl', false);
$xsl.overrideMimeType('text/xml');
$xsl.send(null);
var xsl = $xsl.responseXML;

// 4
XSLT.importStylesheet(xsl);

// 5
document.body.
appendChild(XSLT.transformToFragment(xml, document));

Full sample at <http://jsnet.sourceforge.net/tmp/xslt/dxslt.html>

P.S. I wanted to reference a MDC source first - this raised again my
suspicion that there is some kind of sabotage by anonymous Wiki
editors. Way too many - IMHO - articles are not just not full or
erroneous. Not just that: they are rather sophistically written with a
lot of convincing code samples but with a few key errors or omissions
well hidden here and there.
<http://developer.mozilla.org/en/docs/Using_the_Mozilla_JavaScript_interface_to_XSL_Tran sformations>
is very demonstrative in this aspect.
That can a winter paranoia from my side of course.

Dec 26 '06 #5
VK <sc**********@yahoo.comwrote:
>
(One more sample besides the one by Martin Honnen)
have used the way of Martin to build a menu, here :

<www.yvon-thoraval.com/Canvas/menu.html>

a screenshot of it :

<www.yvon-thoraval.com/Canvas/menu.png>

it works with Opera 9.1 and Firefox 2 but not with WebKit (latest
nightly).

WebKit is able to work with the example of martin i've reproduced here :

<www.yvon-thoraval.com/JS/xslt>

i think for the menu case the prob comes from my xsl sheet :

<xsl:variable name="href"><xsl:value-of select="link"/></xsl:variable>
<li class="local"><a
href="javasript:setPage(&quot;{$href}&quot;);"><xs l:value-of
select="label"/></a></li>

--
Pre Nol
Dec 26 '06 #6
VK

Pre Nol wrote:
href="javasript:setPage(&quot;{$href}&quot;);"
OT to XSLT, but should be "javascript" - unless a typo in the post.

Also if you are not resolving entities, in HTML it will be as it is
href="javascript:setPage(&quot;URL&quot;);"
which is not a valid JavaScript call.

if you are resolving entities, then in HTML it will be
href="javasript:setPage("URL");"
with nested quotes and UA going nuts.

If entities are resolved on parsing then should be:
href="javasript:setPage(&apos;{$href}&apos;);"

Dec 26 '06 #7
VK <sc**********@yahoo.comwrote:
OT to XSLT, but should be "javascript" - unless a typo in the post.
that was a typo of me ))
if you are resolving entities, then in HTML it will be
href="javasript:setPage("URL");"
with nested quotes and UA going nuts.
i get that output in HTML : verified by DOM Inspector and Firefox.

--
Pre Nol
Dec 27 '06 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Sergio del Amo | last post: by
6 posts views Thread by Ben Fitzgerald | last post: by
3 posts views Thread by Simon Brooke | last post: by
7 posts views Thread by pstachy | last post: by
7 posts views Thread by C.W.Holeman II | last post: by
reply views Thread by NPC403 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.