| home / programming / javascript / xml | [previous] |
|
|
Netscape 6+ browsers don't allow the creation of a data island with
an <xml> element, but they don't have any difficulties embedding XML data
and using DOM to access child elements. This workaround is great with the files
I've tested (however, I've never tested it with files larger than a couple hundred
kbs). Depending on the power of your browser, you might be able to use larger
file sizes.
How Does it Work?
All you need to do is embed your XML file just as you would embed style sheet
files or JavaScript in your pages. You can access an element using DOM methods
by getting an element's name, tag name or its id. The same logic works here.
For the sake of this example, we'll use an ID attribute for our element. Here,
we'll create
an xml element and assign it an ID as below:
<xml id="xmlDoc">
rest of the xml contents here
</xml>
var xmlDoc = document. all("testXML").XMLDocument;
In this work around, we'll use use document.getElementById ("xmlDoc") to
get reference to that element, which creates a data island. Looking at this part
of the code, you'll see only a couple of differences, such as this line document.getElementById
("xmlDoc") and this var parentNode = getNoneTextNode(xmlDoc); line
var xmlDoc = document.getElementById("xmlIsland");
Where as in the IE specific approach instead of the above line we had
var xmlDoc = document. all("xmlIsland").XMLDocument;
As for the second difference, that’s used to make sure that we have the correct
parent element.
var parentNode = getNoneTextNode(xmlDoc);
In the code above we've ensured that we have the correct parent element, In IE
specific example, we pointed to the second element of the root element as below:
parseXML(xmlDoc.childNodes[1]);
And that’s about it. You can see that it's pretty straightforward to embed an
XML document in Netscape 6+ browsers. However, you'll need to check the standard
compliance of different browsers, which can change drastically from version to
version, as happened in the IE's Version 6 browsers.
Below is a working example, Click on the button to see the results in the left
pane:
<xml id="xmlIsland" style="visibility:hidden;">
<employees>
<employee>
<name>Name</name>
<job>Job</job>
<department>Department</department>
<cubicle>Cubicle</cubicle>
</employee>
<employee>
<name>Joe</name>
<job>Programmer</job>
<department>Engineering</department>
<cubicle>5E</cubicle>
</employee>
<employee>
<name>Jane</name>
<job>Desigmer</job>
<department>Architecture</department>
<cubicle>12A</cubicle>
</employee>
</employees>
</xml>
| home / programming / javascript / xml | [previous] |
Created: June 2, 2003
Revised: June 2, 2003
URL: http://webreference.com/programming/javascript/xml