xsl-list
[Top] [All Lists]

Re: [xsl] IE Client side transformation issue

2007-07-30 01:06:45
Hi Ilya,

You don't specify how you do your transformation. Other responses
seem to expect you did it through a xsl-stylesheet PI. Below is the
response in case you do it by JavaScript instead.

Your xsl:output declaration should not influence whether your result
tree is accessible as a DOM. Someone already mentioned that DOM XSL
transformation does not work in Win2k3 (which may be due to
tightened security restrictions and new defaults imposed by Redmond,
I had similar problems with IE7).

You don't specify how you access your result tree and whether you
have a good try-catch around it and if so, is there any error raised
(and perhaps discarded) that you were unaware of?

What IE version are you talking about? What OS?

The easiest way to find out whether a DOM result from an XSL
transformation has the expected result is by stringizing its XML
tree (in IE6: document.xml, I believe). Just do an
alert(document.xml) right after the transformation and inspect the
result: is it empty, or do you see some XML?

In a couple of rare situations, IE may not raise an error on DOM
methods, and simply ignores the call. For instance, it is not
possible to do an undefined-check on a DOM method or property to
find out whether a method exists (which is the traditional way to
create code branches for different browsers).

Finally, look careful at your namespaces. Depending on your
transformation, new prefixes may have been introduced. I remember a
situation facing 'ns0', 'ns1' etc. Because the *NS methods are not
implemented in the IE DOM, you may want to try the SelectNodes with
SelectionLanguage XPath and tests for something like:
"//*[local-name='p'][(_at_)id='myID']"


Hope these pointers give you some help.

Cheers,

-- Abel Braaksma

We have an application that does client side transformation.  All
works fine in FF and the transformation itself seems to work fine in
IE.  The problem that we're having is with the onload handler.
Seems
like although the transformation succeeds, the DOM is not available,
though the javascript onload handler is executed, but any
document.getElementById fail.  I can search for any div or other
element by id and the return is always null, though when looking at
the source of the transformation, the div element with that ID
exists.
 Again, this works fine in FF, so it seems like IE is behaving
differently in regards to DOM lifecycle/availability after the
transformation succeeds.

Does anyone have any ideas on what might be happening.  I've
experimented with numerous xsl:output options, below are some...

<xsl:output method="xhtml" doctype-public='-//W3C//DTD HTML



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>