Your support for our advertisers helps cover the cost of hosting, research, and maintenance of this FAQ
The XML FAQ
Frequently-Asked Questions about the Extensible Markup Language
Editor: Peter Flynn, Silmaril Consultants, Textual Therapy Division (xmlfaq@silmaril.ie)
Summary
This is the list of Frequently-Asked Questions about the Extensible Markup Language (XML). It has answers to most of the common questions people ask about XML. If you are seeking answers to questions about related areas such as SGML, HTML, CGI scripts, PHP, JSP, ASP, JavaScript, Java, databases, or penguins, you may find some pointers here, but you should probably look elsewhere as well.
The FAQ is intended as a first resource for web users, authors, developers, as well as publishers and the interested reader. Details of its organisation, contributors, availability, translations, and revisions are in the Admin sections. Updates to the FAQ are notified to the mailing lists and newsgroups listed in Where can I discuss implementation and development of XML?
The full document is available for download in several formats: see Availability for a list.
Revision History
- v. 6.993 — 30 June 2024
- Added REXSEL in questions on styling and on conversions
- v. 6.992 — 28 June 2024
- Updated Google ads code
- v. 6.991 — 14 March 2024
- Added Azerbaijani translation.
- v. 6.99 — 17 December 2023
- Added Albanian translation and gave every translation an ID.
- v. 6.98 — 5 October 2023
- Updated events and merged them with the LaTeX events from Formatting Information in a single file. Merged the DTD too.
- v. 6.97 — 29 May 2023
- Added question on flattening DTDs. Updated with comment about dtd2xml.
- v. 6.96 — 11 May 2023
- Added Declarative Amsterdam 5.
- v. 6.95 — 11 December 2022
- Added quote from Rick Jelliffe about push and pull
- v. 6.94 — 1 June 2022
- Added 2022 Declarative Amsterdam 4
- v. 6.93 — 11 May 2022
- Added explanation of white-space in schemas and attributes
- v. 6.92 — 2 March 2022
- Added Jason Polis's contribution to article on JSON
- v. 6.91 — 18 August 2021
- Added dcterms.created and dcterms.modified
- v. 6.89 — 16 June 2021
- Added new favicon.
- v. 6.88 — 18 May 2020
- Changed to the new link for the XSL FAQ.
- v. 6.87 — 3 May 2020
- Added news of Slack channel
- v. 6.86 — 21 April 2020
- Added Declarative Amsterdam to events
- v. 6.85 — 13 April 2020
- Added the IntelliJ and EditiX editors
- v. 6.84 — 14 February 2019
- Finally added short answer about JSON
- v. 6.83 — 2 December 2018
- Added details of the Italian translation
- v. 6.82 — 17 November 2018
- Belatedly added details of MarkupForum
- v. 6.81 — 5 November 2018
- Added xmlcopyeditor to the paragraph on free editors, then made it into a Tip
- v. 6.8 — 23 October 2018
- Added new question on Containers, and updated Standards with experimental acronym links; changed duration of added/changed buttons on home page to 90 days; started switch to xref instead of link for internal cross-references; updated Balisage; added JATS-Con and Computers & Writing.
- v. 6.74 — 10 May 2018
- Added link to the Slovenian translation
- v. 6.73 — 1 May 2018
- Added link to the Filipino translation
- v. 6.72 — 14 April 2018
- Added link to the Hindi translation
- v. 6.71 — 15 March 2018
- Updated link to the French translation
- v. 6.70 — 10 February 2018
- Added the new MarkupUK event
- v. 6.69 — 22 October 2017
- Updated Korean translation with new one from Ashna Bhatt; updated details of XML Prague
- v. 6.68 — 30 September 2017
- Updated Balisage and XMLSS for 2018
- v. 6.67 — 16 September 2017
- Added Portuguese translation
- v. 6.66 — 12 September 2017
- Added new French translation
- v. 6.65 — 28 August 2017
- Added Slovakian translation
- v. 6.64 — 10 April 2017
- Deleted Ukranian translationlink (broken)
- v. 6.63 — 22 February 2017
- Added new section on standards; added Estonian translation
- v. 6.62 — 30 October 2016
- Added Hungarian translation
- v. 6.61 — 14 October 2016
- Updated Balisage
- v. 6.6 — 11 October 2016
- Updated events: TUG, Balisage, DH
- v. 6.5 — 26 September 2016
- Updated date sort function for events
- v. 6.4 — 2 April 2016
- Removed German translation (bogus link)
- v. 6.3 — 30 March 2016
- Removed Romanian and Russian translations (dead links)
- v. 6.2 — 11 November 2015
- Changed address of Romanian translation back to correct one
- v. 6.19 — 10 November 2015
- Updated 2016 events and added Stuttgart, Amsterdam, and DAH. Fixed pre formatting for Oracle quote
- v. 6.18 — 26 October 2015
- Changed address of Romanian translation; updated 2016 events
- v. 6.17 — 17 August 2015
- Added Romanian translation (thank you Milos)
- v. 6.16 — 20 July 2015
- Added Georgian translation (thank you Irakli)
- v. 6.15 — 4 June 2015
- Updated address of Korean translation
- v. 6.14 — 11 March 2015
- Added new Swedish translation of the What Is SGML page (thank you Daniela).
- v. 6.13 — 26 February 2015
- Added new Polish translation of the What Is page (thank you Alice).
- v. 6.12 — 6 February 2015
- Added new translation into Russian (thank you again, Ivan).
- v. 6.11 — 2 February 2015
- Added new translation into Ukranian (thank you, Ivan).
- v. 5.01 — 16 November 2014
- Updated events, added TUG2015.
- v. 5.00 — 14 August 2014
- Removed obsolete information and links, reformatted presentation (thanks to Parker and the PWA for help with the CSS). Moved questions about Java and JavaScript from Authors to Developers, and question on running XML to Basics. Renamed IDs appendix to appendices, contrib to contributions, and revhist to revisions so that sectioning can be done by ID rather than number and title. Rewrote search script. Updated events. LATEX transformation also updated and the PDFs reset.
- v. 6.1 — 27 July 2014
- Fixed broken link to Q24 "What other markup systems are there?" (thanks to David Maltby for that); and some typos which had escaped the checks (thanks Martin Holmes for spotting them).
- v. 6 — 4 July 2014
- Updated links and dates, regenerated in new format.
- v. 4.58 — 24 April 2010
- Updated events, removed XML Prague, added Balisage Symposium
- v. 4.57 — 27 February 2010
- Updated events, added interim changes to formatting in preparation for extensive relaunch later in 2010.
- v. 4.56 — 8 August 2007
- Added details and links for HTML5
- v. 4.55 — 1 August 2007
- Updated events for 2007–2008. Updated details of ODF and OOXML. Added section on broken software. Revised handling of failed searches.
- v. 4.54 — 1 June 2006
- Corrected an error in the description of xml-stylesheet. Added link targets to Quick Answers.
- v. 4.53 — 12 April 2006
- Updated details of XML for Safari, and added a curious new enquiry.
- v. 4.52 — 26 March 2006
- Added more keywords and fixed a broken link to the XSL FAQ.
- v. 4.51 — 28 February 2006
- Added explanation of xml:is, xml:space, and xml:lang. Added new question on how to read (open) an XML file you have been sent.
- v. 4.5 — 27 February 2006
- Added more keywords taken from failed searches. Expanded on file URIs, the use of compiled DTDs, self-describing data, the Boolean nature of parameter entity switches, how to get HTML features (forms, etc).
- v. 4.41 — 7 January 2006
- Fixed a cross-referencing bug in generated content.
- v. 4.4 — 1 January 2006
- Minor grammatical edits, major changes to the indexing and DC metadata. Added glossary entry on data export to CSV and expanded the description of nodes and the grove. Fixed elusive bug in RSS feed. Added contributor names to search index.
- v. 4.39 — 1 December 2005
- Refined some keywords, changed presentations of some examples, reworded a paragraph on treatment of space, and added details of assigning a Schema to an instance.
- v. 4.38 — 1 November 2005
- Added personal views on patent, copyright, and intellectual property.
- v. 4.37 — 31 October 2005
- Removed ambiguities in How do I include one XML file in another?.
- v. 4.36 — 16 October 2005
- Updated dates of events in Where do I find more information about XML?.
- v. 4.35 — 8 October 2005
- Fixed some broken links and removed a couple of obsolete ones. Added a note about the BOM.
- v. 4.34 — 1 October 2005
- Split the question on CDATA into two: one for CDATA per se, and one for other ways of handling embedded HTML. Added some more keywords, and revised the questions Where can I discuss implementation and development of XML? and What is the difference between XML and C or C++ or Java?. Fixed a minor date bug in the search script.
- v. 4.33 — 12 September 2005
- Added more keywords, and a tip to the note on asp.net.
- v. 4.32 — 10 September 2005
- Added details of xml:id to the note on Attributes.
- v. 4.31 — 9 September 2005
- Added notes on Pipelining and Attributes.
- v. 4.3 — 5 September 2005
- Added the notes culled from failed searches as a Glossary; updated some URLs, and added one for XQuery to the question on databases (thanks, Liam); updated What is XML for?, What does XML look like (inside)?, What is parsing and how do I do it in XML?, and the question on CDATA Sections. Added a new question on Conditionals. Tightened up on the indexing for searches, including the removal of enclosing quotes, and added a bunch more metadata.
- v. 4.2 — 1 July 2005
- Added new RNG mailing list, updated section on Schemas, added links to the XML Declaration for SGML. Retagged personal names for recognition, and ID'd related FAQs. Expanded question on Why XML. Added link to email a page to someone. Added and expanded the tips on ways of getting typeset output, eg LATEX. Added new section on special characters.
- v. 4.1 — 15 May 2005
- Revised structure and new stylesheet for new location at http://xml.silmaril.ie/. The four main sections remain, but the text is served in separate questions and sections rather than one huge file (the PDF remains as a single document, of course). Removed references to the now-defunct Balise language, added a Tip on editor selection and some notes on WYSIWYG XSL[T] editing.
- v. 4.0 — 1 January 2005
- Went back to DocBook markup using qandaset instead of the QAML that has been used for the last two major releases. Revised text in most sections for clarity in wording, and recast some now-established explanatory material into the past tense. Added new dates for 2005. Added explicit references to the GNU FDL in the legal section. Took the tip on types of XML out into a new question, and added new questions on file inclusions and the use of CDATA Marked Sections.
- v. 3.02 — 12 January 2004
- Added updates for 2004 events
- v. 3.01 — 1 January 2004
- Minor typographic changes
- v. 3.0 — 1 January 2003
- Added information on Office Applications including Corel, Microsoft, and Sun (to keep alphabetical order :-); updated details of conferences and training; updated browser details; reworded a few ungainly sentences; removed some obsolete URIs (mostly for ‘nice idea’ sites which died); changed the phrasing of the question on databases; added details on how to do standalone validation to the question on parsing (thanks to Bill Rayer); added question on how to present XML to management (thanks to Tad McClellan); the questions on APIs and the DOM have been subsumed into the question on software, which has been extensively rewritten; added yet more explanation to the section on Unicode; 3.01 fixes minor typos; 3.02 adds updated dates for 2004 events.
- v. 2.1 — 1 January 2002
- Added Humanities mailing list; added more references for XML and databases; added the Namespaces FAQ; corrected some misunderstandings in character encodings; changed the editor's email address; added a new question on root elements; updated the XLink to W3C Recommendation; updated the SGML FAQ address; fixed some broken links; added translations into German and Amharic; minor revisions to some wording. Editing this time was done in epcEdit 1.02. V2.11 includes new material on expectations and XML browsers, the removal of a mailing list, and a few corrections to typos and links. Thanks to Seán Cannon and Dave&Nikki for debugging the CSS style-sheet.
- v. 2.0 — 1 June 2001
- DTD changed from DocBook SGML to QAML XML; removed query form due to abuse; most questions revised and in some cases rewritten; updated references to new versions of associated standards, recommendations, and working drafts; added pointer to Jon Noring's Unicode test page and NIST's XSLT/XPath test suite; updated Eve Maler's links to the DTD for the spec; added warnings on speling and punk chew asian; added question on namespaces; fixed bug in question on stylesheets; inserted explanation of `document' vs `data' software; added new mailing list on XSL:FO; updated Robin Cover's URI throughout; updated the question on media types for RFC 3023; Extended question of graphics to cover SVG. For 2.01 there were minor typos, some updated links (to recent versions of the standards, and in the section on More Information), and a few wording changes. Thanks to James Cummings for a very thorough proofread. Editing was done using GNU Emacs and psgml-mode.
- v. 1.6 — 1 July 2000
- Added French and Czech translations and a Finnish mailing list, and reorganised the list of translations; updated URIs for newsgroups; clarified reference to Unicode; reworded question on terminology; added more links to the question on conformance testing; corrected error in content model example for Mixed Content; updates to the question on stylesheets; Minor edits to the question on software; major changes to the question on servers and media types; updated question on XML Schemas; added new question on `executing' XML `programs'; replaced the math example with one less likely to distress the gentle susceptibilities of some readers; added a new question on knowing SGML/HTML before XML.
- v. 1.5 — 1 June 1999
- Added new XML mailing lists in Italian and in French; added details of developer resources in Chinese; two more translations under way (Chinese and Czech); updated links to the question on DTDs; added question on the use of Java to generate and manage XML; added question on when to use attributes and when to use element markup; added question on the use of XML syntax to describe DTD data (schemas); expanded on the explanation of the use of formal language in the spec; added question on the difference between XML and C++; separated information on XML versions of HTML into a separate question.
- v. 1.4 — 1 October 1998
- Added maintainer's email address under Availability; Added note about ISO representation and voting on standards; added Greek translation; updated details of conferences; changed the URI for the new SGML/XML Web Pages; updated details of browsers; corrected reference to the SGML omitted features from XML; updated details of converting HTML to XML; added mention of comp.text.xml; extended the questions on graphics and how to use XML with current browsers; added questions on DOM, conformance testing, DTD includes, SGML DTDs into XML, EDI; (1.41) corrected errors in MIME types, URIs, SDD, and images.
- v. 1.3 — 1 June 1998
- Removed the math plugin (Linux Netscape is broken and refused to elide it); updated list of events (need more); fixed some broken URIs; added Spanish and Korean translations and the Annotated Spec; updated details of MS/NS browser development; clarified the use of FPI vs SysiD; updated link to Feb 10 Rec Spec; added pointers to the SGML Decl for XML; updated references to XLink and XPointer; corrected a reference to ancient Sumerian writing; clarified the need for conversion of HTML DTDs to XML.
- v. 1.2 — 1 February 1998
- Added a Mac icon (thanks to Martin Winter and others); removed Draft from references to the spec; changed revision colours; the RMD is gone: replaced references to it with standalone; updated some broken URIs; [1.21] minor edits to URIs and updates on translation; added XUA to details of MIME types.
- v. 1.1 — 1 October 1997
- No more minimisation parameters in element declarations; parsers must now pass all white-space to the application; everything is now case-sensitive, including all markup; a new proposal for stylesheets: XSL, which combines DSSSL and CSS in an XML format; Java[Script] and and metadata and their use in XML; updated list of software; first XML book is published; new public mailing list XML-L
- v. 1.0 — 1 May 1997
- Added reference to ToC and printed URIs; added disclaimer at A6; combined old A11 with A5 to explain SGML/XML/HTML; clarified explanation of XML not replacing HTML at C1; added new course and conference at (new) A11; clarified B1, C4, C8; added FPI server at C12; removed examples in C13.
- v. 0.5 — 1 April 1997
- Added Multidoc Pro as SGML browser; question on XML math; fixed ambiguity in explanation of NETs; added JUMBO; ERB changes of March 26; more details of linking and tools; adding element declaration minimisation to the forbidden list.
- v. 0.4 — 23 February 1997
- Minor editorial changes
- v. 0.3 — 17 February 1997
- Extensive revision following comments from the group. Changes to markup and organisation.
- v. 0.2 — 3 February 1997
- Revised draft. Additional questions and answers.
- v. 0.1 — 31 January 1997
- First draft. Sample questions devised by participants.
- v. 0.0 — 27 December 1996
- First test. Unpublished.
Legal Notices
This document is joint copyright © 1996–2014 by Silmaril Consultants and the Editor, and is released under the terms of the GNU Free Documentation License (see below). Quotations of the contributions of others remain copyright of the individual contributors. You may copy and distribute this document in any form provided you acknowledge this source and the individual (in the case of a contribution) [see Cite for how] and don't try to pretend you or someone other than the author wrote it. If you want to republish or reprint the FAQ in bulk, or copy all or part of it onto another web site, please ask the editor first to make sure you get the right edition, to make provision for periodic updating, and to ensure you use the correct legal wording.
‘Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available here. You are allowed to distribute, reproduce, and modify it without fee or further requirement for consent subject to the conditions in the section on Modifications.’
The editor and contributing authors assert their right to be identified as the editor and contributing authors of this document.
For citations of this FAQ in one of the standard formats (eg APA):
Flynn, P [Ed.], (2024) (), v.6.993. Cork:Silmaril. Retrieved from http://xml.silmaril.ie/.
In bibliographic referencing systems this would be something like this (using BIBTEX as an example)
@Booklet{xmlfaq, title = {The XML FAQ}, editor = {Peter Flynn}, publisher = {Silmaril}, address = {Cork}, month = {June}, year = 2024, edition = {v.6.993}, url = {http://xml.silmaril.ie/} }
A suitable format for citing individually-authored fragments would be:
AN Other (2024) ‘Title of question’. In Flynn, P [Ed.], () v.6.993, Cork:Silmaril, June 2024 Q.xxx. Retrieved from http://xml.silmaril.ie/section.html#question
In bibliographic referencing systems this would be something like this (again using BIBTEX as an example)
@InCollection{xmlfaq, author = {AN Other}, title = {Title of question}, booktitle = {The XML FAQ}, publisher = {Silmaril Consultants}, month = {June}, year = 2024, editor = {Peter Flynn}, volume = {section name}, number = {question number}, address = {Cork}, url = {http://xml.silmaril.ie/section/#question/}, edition = {v.6.993} }