Copyright © 2010 Silmaril Consultants
Rev: 2010-03-01T00:19:00+0000

Thousands of programs: too many to list here.D.6  What XML software is available?

Hundreds, possibly thousands, of programs. Details are no longer listed in this FAQ as they are now too many and are changing too rapidly to be kept up to date: see the XML Web pages at http://xml.coverpages.org/ and watch for announcements on the mailing lists and newsgroups.

For a detailed guide to some examples of XML programs and the concepts behind them, see the editor's book Understanding SGML and XML Tools (Flynn, 1998).

Details of some XML software products are held on the XML Web pages. For browsers see the question on XML Browsers and the details of the xml-dev mailing list for software developers. Bert Bos keeps a list of some XML developments in Bison, Flex, Perl, and Python. The long-established conversion and application development engines like Omnimark, and SGMLC all have XML capability and they all provide APIs.

Editors

Choosing an editor is one of the hardest tasks, because everyone has different requirements and levels of knowledge, and what appears to be incredibly simple to one user may seem dauntingly difficult to another. All XML editors guide the user in the construction or maintenance of XML documents—that's their purpose in life.

The simplest ones just keep track of matching pointy brackets, start-tags and end-tags, and balanced quotes, leading to a well-formed file. More powerful editors can read a DTD or Schema and provide menu choices for element manipulation and attribute editing, and prevent the creation of invalid documents. The most powerful ones can also be used for DTD or Schema development, and for XML processing.

Some are text-mode editors—they show all the markup and the text with nothing hidden, often using colour to distinguish markup characters. Some have a synchronous typographic mode as well, using a stylesheet to format the information, so you appear to be editing a typeset view of the document (incorrectly called WYSIWYG). Text-mode editors worry some users because the pointy brackets are visible (they think it's programming); synchronous typographic editors worry other people because the pointy brackets are not visible, which makes it hard to see where stuff begins and ends.

The more sophisticated editors are programmable, so the nature and effect of the markup and the user's actions can be limited or enhanced by scripts in JavaScript, VBscript, Python, Tcl, Lisp, etc, even XSLT.

Do not be tempted to use a non-XML editor like Notepad, vi, or textedit for XML documents: it will only end in tears, shame, and recriminations. Get properly-equipped. (Microsoft's separate XML Notepad product is usable for editing small instances, but not for DTD or Schema development.)

There is a recent (2004) comparative paper on choosing an XML editor from Thijs van den Broek which may help, and an article and set of links by Saqib Ali.

There is a page of useful links for XML users in Dutch at http://xml.beginthier.nl/FAQ.

Information for developers of Chinese XML systems can be found at the Chinese XML Now! website of Academia Sinica: http://www.ascc.net/xml/FAQ This site includes a FAQ and test files.