Shedding some light on XML

What is XML?

Calling XML a single web technology does it quite a disservice. XHMTL (what you are reading now) is a variant of XML. Other important XML variants for the web are "RSS, MathML, GraphML, Scalable Vector Graphics (SVG), MusicXML" and there are "thousands of others" (Wikipedia, XML). The W3C maintains documents on MathML, InkML and SVG.

The bottom line on usability:

Know which version of XML you are using. If you are using a standard, make sure you know which browsers work with the standard. If you are creating your own, use with caution.

More on Usability:

One type of XML that many people have seen on the net is RSS, even if they haven't subscribed to a feed themselves. If you are a web developer and you set up an RSS feed for your site, this is how user could set things up Firefox:
how to deal with RSS in Firefox

RSS is pretty usable from the browser side, but what about trying to few another XML file on the web?

A look at the difference in XML parsing in Firefox and Safari:

a look at the difference in XML parsing in Firefox and Safari

You can find this page at http://seashore.sourceforge.net/swlml.xml. Notice that on the right Firefox shows the links correctly. On the left, however, Safari chokes and shows neither links nor the bullets correctly (or maybe those are the right bullets...). Both browsers view the items in brackets as objects similar to pictures, which seems odd to me. This particular example of "poor" XML design is particularly egregious because Seashore is designed for Mac and Safari is the default Mac browser. Since the XML validates via the XML validator at http://www.w3schools.com/xml/xml_validator.asp (if you want to test yourself, make sure you change relative links to absolute links), it's really Safari's fault, but the web designers should know that many of their patrons will be using Safari. Under the hood, the XML looks a lot like XHTML.


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE software SYSTEM "swlml-0.9.dtd" [
  <!ENTITY at "@"> ]>
<?xml-stylesheet type="text/css" href="swlml-css-0.9.css"?>

<software xmlns:xlink="http://www.w3.org/1999/xlink">
	<name>Seashore</name>
	<version>0.1.8</version>
	<category>
	
	<item>Multimedia::Graphics::Editors::Raster-Based</item>

	</category>

... more code ...

	<languages>
		<language>
			<name>English</name>
			<iso639>en</iso639>
		</language>
		<language>
			<name>Slovak</name>

			<iso639>sk</iso639>
		</language>
	</languages>
</software>

	
	

Just for fun, I decided to look at it in Internet Exploder.
argh! the Internet has exploded!!!!


Notice that the headings "Name", "Category," "License," "Distributor" are nowhere to be found. Wonder why the browser got its nickname? Remember, this is valid XML.

REFERENCES

Websites

QuickStudy: AJAX. [Internet]. Framingham, MA: Matlis J; c2005 [cited 2007 May 1]. Available from http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=103025&pageNumber=1

Books

Robbins JN. 2006. Web design in a nutshell, third editition. Sebastopol, CA: O'Reilly Media, Inc. 796 p.
Pages 7-8, 39, 74, 76-78, 81, 89, 90-94, 97, 99, 103-112, 120-121, 136, 139, 496, 507-512, 642. Index entry on 796.
  • MathML: 8, 91, 104, 111-112, 120, 277
  • RSS: 104-105, 107-109
  • SVG: 9, 38, 91, 104, 110, 120, 277
  • XHTML: Index entry on 796. Remember, XHTML is the new HTML so any new publications about HTML should be talking about XHTML.
Usability For the Web: Designing Web Sites That Work. Darren Gergle, Tom Brink, Scott D. Wood. Morgan Kaufmann Publishers. San Francisco. 2002.
Great discussion of XML on page 356. While the book is dated (2002), the basic principles still apply. Some Javascript discussion starts immediately folloing on page 357. The beginnings of AJAX, perhaps.

Scholarly Articles

Lerner RM. 2006. At the forge: JavaScript, Forms and Ajax. Linux Journal (150):8.
HTML copy available through the ACM digital library. The article doesn't refer to Ajax or XML, explicitly, as the article is actually part of a series. I mention it here only for the disclaimer and because of the link between Ajax and XML and that the article cites Ajax books.

Dreyfus P. 1998. The second wave: Netscape on usability in the services-based Internet. IEEE Internet Computing :36-40.
This short article, an IEEE "Industry Report," gives a great overview of how client-side technologies can interact with server-side technologies. It's a bit dated, but still sounds very modern. The article must have been very forward thinking for its time. Written by the Senior Manager of Technology Evangelism at Netscape Communications and Editor of View Source it is a biased source, but is still a good reference.
Last updated: 5/1/07. A broken link or out of date information? E-mail the webmaster.