<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE qandaset PUBLIC "+//Silmaril//DTD FAQ based on DocBook 4.4//EN//XML"
  "faq.dtd" [
<!ENTITY xmllogo PUBLIC "+//Silmaril//NONSGML XML Logo//EN" 
  "xmllogo-crop.png" NDATA PNG>
<!ENTITY % TARGET "LATEX">]>
<?PSGML nofill programlisting literal?>
<qandaset revisionflag="changed" revision="2010-02-27">
  <blockinfo>
    <titleabbrev>The XML FAQ</titleabbrev>
    <title>Frequently-Asked Questions <?site br?>about the Extensible Markup
      Language</title>
    <graphic entityref="xmllogo" format="PNG"/>
    <editor>
      <firstname>Peter</firstname>
      <surname>Flynn</surname>
      <affiliation>
	<orgname>Silmaril Consultants</orgname>
	<orgdiv>Textual Therapy Division</orgdiv>
      </affiliation>
      <email>http://silmaril.ie/cgi-bin/blog</email>
    </editor>
    <edition use="current.date" for="date"><conref
    use="current.version"/></edition>
    <authorgroup id="contributors" role="Contributors">
      <collab>
	<collabname>The following people helped with the original
	contributions, plus many other members of the W3C XML SIG as
	well as FAQ readers around the world.</collabname>
      </collab>
      <othercredit>
	<firstname>Terry</firstname>
	<surname>Allen</surname>
      </othercredit>
      <othercredit>
	<firstname>Tom</firstname>
	<surname>Borgman</surname>
      </othercredit>
      <othercredit>
	<firstname>Tim</firstname>
	<surname>Bray</surname>
      </othercredit>
      <othercredit>
	<firstname>Robin</firstname>
	<surname>Cover</surname>
      </othercredit>
      <othercredit>
	<firstname>Bob</firstname>
	<surname>DuCharme</surname>
      </othercredit>
      <othercredit>
	<firstname>Christopher</firstname>
	<surname>Maden</surname>
      </othercredit>
      <othercredit>
	<firstname>Eve</firstname>
	<surname>Maler</surname>
      </othercredit>
      <othercredit>
	<firstname>Makoto</firstname>
	<surname>Murata</surname>
      </othercredit>
      <othercredit>
	<firstname>Peter</firstname>
	<surname>Murray-Rust</surname>
      </othercredit>
      <othercredit>
	<firstname>Liam</firstname>
	<surname>Quin</surname>
      </othercredit>
      <othercredit>
	<firstname>Michael</firstname>
	<surname>Sperberg-McQueen</surname>
      </othercredit>
      <othercredit>
	<firstname>Joel</firstname>
	<surname>Weber</surname>
      </othercredit>
    </authorgroup>
    <keywordset>
      <keyword>xml</keyword>
      <keyword>sgml</keyword>
      <keyword>html</keyword>
      <keyword>markup</keyword>
      <keyword>structure</keyword>
      <keyword>xslt</keyword>
      <keyword>latex</keyword>
    </keywordset>
    <abstract id="index">
      <title>Summary</title>
      <para>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 HTML, SGML,
	CGI scripts, PHP, JSP, Java, databases, or penguins, you may
	find some pointers, but you should probably look elsewhere as
	well.</para>
      <para>The FAQ is intended as a first resource for users,
	authors, developers, 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 <link
	  linkend="discussions"></link>.</para>
      <para>The full document is available for download in many
	different formats: see <link linkend="availability"></link>
	for a list.</para>
      <note>
	<title>WTF</title>
	<para><ulink url="http://seanmcgrath.blogspot.com">Seán
	    McGrath</ulink>&nbsp;<ulink
	    url="http://seanmcgrath.blogspot.com/#112988775713608464">suggested</ulink>: 
	  <quote>It would be great if FAQs had a WTF section to direct
	    the eyes of the exasperated to Q's with a high desperation
	    index <literal>:-)</literal></quote>, so here are the top
	  dozen most-wanted:</para>
	<simplelist>
	  <member><link linkend="whatisxml"></link></member>
	  <member><link linkend="style"></link></member>
	  <member><link linkend="dtds"></link></member>
	  <member><link linkend="browsers"></link></member>
	  <member><link linkend="whatissgml"></link></member>
	  <member><link linkend="specials"></link></member>
	  <member><link linkend="markup"></link></member>
	  <member><link linkend="whatfor"></link></member>
	  <member><link linkend="software"></link></member>
	  <member><link linkend="schemas"></link></member>
	  <member><link linkend="namespaces"></link></member>
	  <member><link linkend="glossary"></link></member>
	</simplelist>
      </note>
      <section id="organisation">
	<title>Organisation</title>
	<para>This FAQ was originally maintained on behalf of the
	  World Wide Web Consortium's XML Special Interest Group. It
	  is divided into four sections: <link linkend="basics"
	    xreflabel="simple">Basics</link>, <link xreflabel="simple"
	    linkend="users">Users</link>, <link xreflabel="simple"
	    linkend="authors">Authors</link>, and <link
	    xreflabel="simple" linkend="developers">Developers</link>.
	  The questions are numbered independently within each
	  section. As the numbering may change with each version,
	  comments and suggestions should refer to the version number
	  (see <link linkend="revisions"></link>) as well as the section
	  and question number. See <link linkend="cite"></link> for
	  details of citation and reference.</para>
	<para>Please submit bug reports, suggestions for improvement,
	  and other comments about <emphasis>this FAQ only</emphasis>
	  to <ulink url="xmlfaq@silmaril.ie">the editor</ulink>.
	  Questions and comments about XML should go to the relevant
	  <link linkend="discussions" xreflabel="simple">mailing list or
	    newsgroup</link>. Comments about the <link xreflabel="simple"
	    linkend="spec">XML Specification</link> itself and related
	  specifications should be directed to the <ulink
	    url="http://www.w3.org/">W3C</ulink>.</para>
	<note>
	  <title>Updates</title>
	  <para>In minor updates the following symbols are
	    used:</para>
	  <itemizedlist>
	    <listitem>
	      <para xreflabel="added"><emphasis>Additions</emphasis>
		since the last version are indicated with a plus
		sign.</para>
	    </listitem>
	    <listitem>
	      <para xreflabel="changed"><emphasis>Changes</emphasis>
		since the last version are indicated with a plus/minus
		sign.</para>
	    </listitem>
	    <listitem>
	      <para xreflabel="deleted"><emphasis>Deletions</emphasis>
		retained temporarily for information are indicated
		with a minus sign.</para>
	    </listitem>
	  </itemizedlist>
	  <para>In major updates these are not used because almost
	    every question will have been changed.</para>
	</note>
      </section>
      <section id="availability">
	<title>Availability</title>
	<para>This XML document is at <ulink
	    url="http://xml.silmaril.ie/"></ulink>. It is XML served
	  converted to HTML by Saxon, so what you read online is
	  HTML in your browser.</para>
	<itemizedlist>
	  <listitem>
	    <para>You can <ulink
		url="http://xml.silmaril.ie/faq.sgml">download the
		unconverted file</ulink> (avoiding the
	      <filename>.xml</filename> filetype which
	      over-enthusiastic browsers want to usurp&mdash;just
		rename it after downloading);</para>
	  </listitem>
	  <listitem>
	    <para>The <ulink
		url="http://xml.silmaril.ie/faq.dtd">DTD</ulink> is a
	      lightly modified version of <ulink
		url="http://www.docbook.org/">DocBook</ulink>;</para>
	  </listitem>
	  <listitem>
	    <para>There is a MindMap version available by clicking on
	      the MindMap logo in the banner at the top of the page.
	      This is an XML format used by <ulink
		url="http://freemind.sourceforge.net/">FreeMind</ulink> 
	      amd other MindMap software.</para>
	  </listitem>
	  <listitem>
	    <para>There are <ulink
		url="http://xml.silmaril.ie/webfaq.xsl.tar.gz">XSL
		stylesheets</ulink> for the conversion to HTML and
	      <LaTeX/> to make the PDF and PostScript versions;</para>
	  </listitem>
	  <listitem>
	    <para>A notification of new versions is posted
	      periodically to the <ulink url="comp.text.xml"
		type="news"></ulink> Usenet newsgroup, the <ulink
		url="http://listserv.heanet.ie/xml-l.html">XML-L</ulink>, 
	      <ulink
		url="http://lists.xml.org/archives/xml-dev/">xml-dev</ulink>, 
	      and <ulink
		url="http://www.mulberrytech.com/xsl/xsl-list">XSL-List</ulink> 
	      mailing lists, and to the <ulink
		url="http://www.linkedin.com/groups?gid=664967">XML/XSL 
		forum</ulink> on LinkedIn.</para>
	  </listitem>
	  <listitem>
	    <para>for printed copies there are versions for <ulink
		url="http://xml.silmaril.ie/faq_a4.ps">A4
		PostScript</ulink>, <ulink
		url="http://xml.silmaril.ie/faq_a4.pdf">A4 PDF</ulink>,
	      <ulink url="http://xml.silmaril.ie/faq_letter.ps">Letter
		PostScript</ulink> and <ulink
		url="http://xml.silmaril.ie/faq_letter.pdf">Letter
		PDF</ulink> available.</para>
	  </listitem>
	  <listitem>
	    <para>WAP (if anyone's still using it), OEB (eBook), and
	      cHTML versions have been proposed for your handheld
	      devices, and I'm open to offers if anyone wants to write
	      app code.</para>
	  </listitem>
	</itemizedlist>
	<para>The FAQ is also available in carbon-based toner on
	  flattened dead trees by sending &euro;10 (&dollar;15 or
	  equivalent in any convertible currency) to the <ulink
	    url="xmlfaq@silmaril.ie">editor</ulink> (email first to
	  check rates and postal address).</para>   
      </section>
      <section id="translations" remap="langs languages">
	<title>Translations</title>
	<para>Those I know about are in:</para>
	<itemizedlist>
	  <listitem>
	    <para><ulink
		url="http://www.oreilly.de/xml/xml_faq_fragen.html">German</ulink> 
	      (partial translation of some questions) [<personname>
		<firstname>Karin</firstname>
		<surname>Driesen</surname>
	      </personname>];</para>
	  </listitem>
	  <listitem>
	    <para><ulink
		url="http://www.senamirmir.com/xml/faq/xml_faq_amh.html">Amharic</ulink> 
	      [<personname>
		<firstname>Abass</firstname>
		<surname>Alamnehe</surname>
	      </personname>];</para>
	  </listitem>
	  <listitem>
	    <para><ulink
		url="http://www.fxis.co.jp/DMS/sgml/cafe/library/etc/xmlfaq.html">Japanese</ulink> 
	      [<personname lang="jp">
		<firstname>Makoto</firstname>
		<surname>Murata</surname>
	      </personname>];</para>
	  </listitem>
	  <listitem>
	    <para><ulink
		url="http://slug.ctv.es/~olea/sgml-esp/xfaq15.html">Spanish</ulink> 
	      (currently inaccessible) [<personname>
		<firstname>Jaime</firstname>
		<surname>Sagarduy</surname>
	      </personname>];</para>
	  </listitem>
	  <listitem>
	    <para><ulink
		url="http://xml.t2000.co.kr/faq/index.html">Korean</ulink> 
	      (currently inaccessible). [<personname>
		<firstname>Kangchan</firstname>
		<surname>Lee</surname>
	      </personname>];</para>
	  </listitem>
	  <listitem>
	    <para><ulink
		url="http://zxd.webjump.com/xml.html">Chinese</ulink>
	      (currently inaccessible) [Neko]. Also in <ulink
		url="http://weblab.crema.unimi.it/xmlzh/XML_FAQ.htm">Chinese</ulink> 
	      (also inaccessible) [<personname>
		<firstname>Jiang</firstname>
		<surname>Luqin</surname>
	      </personname>];</para>
	  </listitem>
	  <listitem>
	    <para><ulink
		url="http://www.gutenberg.eu.org/pub/GUTenberg/publications/HTML/FAQXML/faqxml-fr.html">French</ulink> 
	      [<personname>
		<firstname>Jacques</firstname>
		<surname>André</surname>
	      </personname>];</para>
	  </listitem>
	  <listitem>
	    <para><ulink
		url="http://zvon.vscht.cz/ZvonHTML/Translations/xmlFAQ/front_all.html">Czech</ulink> 
	      [<personname>
		<firstname>Miloslav</firstname>
		<surname>Nic</surname>
	      </personname>].</para>
	  </listitem>
	</itemizedlist>
	<para>I would be grateful if the translators of those copies
	  which have become inaccessible would contact me with the new
	  URI.</para>
      </section>
    </abstract>
    <legalnotice id="legal" role="Legal Notice">
      <para>This document is joint copyright &copy; 1996&ndash;2011 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 <link
	linkend="cite"></link> 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.</para>
      <para><quote>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 <ulink
	  url="http://www.gnu.org/licenses/fdl.html">here</ulink>. 
	You are allowed to distribute, reproduce, and modify it
	without fee or further requirement for consent subject to the
	conditions in <ulink
	  url="http://www.gnu.org/licenses/fdl-howto-opt.html">the 
	  section on Modifications</ulink>.</quote></para>
      <para>The editor and contributing authors assert their right to
      be identified as the editor and contributing authors of this
      document.</para>
      <para id="cite">For citations of this FAQ, use:</para>
      <blockquote>
	<para>Flynn, P (Ed.), <citetitle>The XML FAQ</citetitle>
	  v.<userinput><conref use="current.version"/></userinput>, Cork,
	  <userinput><conref use="current.date"/></userinput>,
	<literal>http://xml.silmaril.ie/</literal>, Q.xxx <quote>[insert
	  the question title here]</quote></para>
      </blockquote>
      <para>In bibliographic referencing systems this would be
	something like this (using BIB<TeX/> as an example)</para>
      <blockquote>
	<programlisting>
@Booklet{xmlfaq,
  title =        {The XML FAQ},
  editor =       {Peter Flynn},
  howpublished = {Webpage},
  address =      {Cork},
  month =        {<userinput><conref use="current.date" format="month" start="6" length="2"/></userinput>},
  year =         <userinput><conref use="current.date" start="1" length="4"/></userinput>,
  edition =      {v<userinput><conref use="current.version"/></userinput>},
  url =          {http://xml.silmaril.ie/},
  pages = 	 {Q.#}
}</programlisting>
      </blockquote>
      <para id="citefrag">A suitable format for citing
	individually-authored fragments would be:</para>
      <blockquote>
	<para><userinput>AN Other</userinput>, <quote><userinput>Title
	    of question</userinput></quote>. In Flynn, P (Ed.),
	  <citetitle>The XML FAQ</citetitle> 
	  v.<userinput><conref use="current.version"/></userinput>,
	    Silmaril Consultants, Cork, 
	  <userinput><conref use="current.date" format="month"
	    start="6" length="2"/>&nbsp;<conref use="current.date"
	    start="1" length="4"/></userinput>, 
	  <userinput>Q.xxx</userinput>.
	  <literal>http://xml.silmaril.ie/<userinput>question</userinput>.html</literal></para> 
      </blockquote>
      <para>In bibliographic referencing systems this would be
	something like this (again using BIB<TeX/> as an example)</para>
      <blockquote>
	<programlisting>
@InCollection{xmlfaq,
  author =       {<userinput>AN Other</userinput>},
  title =        {<userinput>Title of question</userinput>},
  booktitle =    {The XML FAQ},
  publisher =    {Silmaril Consultants},
  month =        {<userinput><conref use="current.date" format="month" start="6" length="2"/></userinput>},
  year =         <userinput><conref use="current.date" start="1" length="4"/></userinput>,
  editor =       {Peter Flynn},
  volume =       {<userinput>section number</userinput>},
  number =       {<userinput>question number</userinput>},
  address =      {Cork},
  url =          {http://xml.silmaril.ie/<userinput>section</userinput>/<userinput>question</userinput>/},
  edition =      {v.<userinput><conref use="current.version"/></userinput>}
}</programlisting>
      </blockquote>
    </legalnotice>
    <revhistory id="revisions" role="Revision History">
      <revision>
	<revnumber>0.0</revnumber>
	<date>1996-12-27</date>
	<revremark>First test. Unpublished.</revremark>
      </revision>
      <revision>
	<revnumber>0.1</revnumber>
	<date>1997-01-31</date>
	<revremark>First draft. Sample questions devised by
	  participants.</revremark>
      </revision>
      <revision>
	<revnumber>0.2</revnumber>
	<date>1997-02-03</date>
	<revremark>Revised draft. Additional questions and
	  answers.</revremark>
      </revision>
      <revision>
	<revnumber>0.3</revnumber>
	<date>1997-02-17</date>
	<revremark>Extensive revision following comments from the
	  group. Changes to markup and organization.</revremark>
      </revision>
      <revision>
	<revnumber>0.4</revnumber>
	<date>1997-02-23</date>
	<revremark>Minor editorial changes</revremark>
      </revision>
      <revision>
	<revnumber>0.5</revnumber>
	<date>1997-04-01</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>1.0</revnumber>
	<date>1997-05-01</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>1.1</revnumber>
	<date>1997-10-01</date>
	<revremark>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</revremark>
      </revision>
      <revision>
	<revnumber>1.2</revnumber>
	<date>1998-02-01</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>1.3</revnumber>
	<date>1998-06-01</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>1.4</revnumber>
	<date>1998-10-01</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>1.5</revnumber>
	<date>1999-06-01</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>1.6</revnumber>
	<date>2000-07-01</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>2.0</revnumber>
	<date>2001-06-01</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>2.1</revnumber>
	<date>2002-01-01</date>
	<revremark>Added <link linkend="x-hum">Humanities mailing
	    list</link>; added more references for <link
	    linkend="dbarts">XML and databases</link>; added the
	  Namespaces FAQ; corrected some misunderstandings in <link
	    linkend="utf-16">character encodings</link>; changed the
	  editor's email address; added a new question on <link
	    linkend="rootelement">root elements</link>; updated the
	  <link linkend="linkspecs">XLink</link> to W3C
	  Recommendation; updated the <link linkend="whatissgml">SGML
	    FAQ address</link>; fixed some broken links; added
	  translations into <link linkend="translations">German</link>
	  and <link linkend="translations">Amharic</link>; minor
	  revisions to some wording. Editing this time was done in
	  <ulink url="http://www.epcedit.com">epcEdit 1.02</ulink>.
	  V2.11 includes new material on <link
	    linkend="browsers">expectations and XML browsers</link>,
	  the removal of a mailing list, and a few corrections to
	  typos and links. Thanks to Seán Cannon and Dave&ampers;Nikki
	  for debugging the CSS style-sheet.</revremark>
      </revision>
      <revision>
	<revnumber>3.0</revnumber>
	<date>2003-01-01</date>
	<revremark>Added information on <link linkend="officeapps">Office
	    Applications</link> including Corel, Microsoft, and Sun
	  (to keep alphabetical order :-); updated details of <link
	    linkend="moreinfo">conferences and training</link>; updated
	  <link  linkend="browsers">browser</link> details; reworded a
	  few ungainly sentences; removed some obsolete URIs (mostly
	  for <emphasis>nice idea</emphasis> sites which died);
	  changed the phrasing of the <link linkend="databases">question on
	    databases</link>; added details on how to do standalone
	  validation to <link linkend="parsers">the question on
	    parsing</link> (thanks to Bill Rayer); added question on
	  <link linkend="management">how to present XML to
	    management</link> (thanks to Tad McClellan); the questions
	  on APIs and the DOM have been subsumed into <link
	    linkend="software">the question on software</link>, which
	  has been extensively rewritten; added yet more explanation
	  to the <link linkend="characters">section on Unicode</link>;
	  3.01 fixes minor typos; 3.02 adds updated dates for 2004
	  events.</revremark>
      </revision>
      <revision>
	<revnumber>3.01</revnumber>
	<date>2004-01-01</date>
	<revremark>Minor typographic changes</revremark>
      </revision>
      <revision>
	<revnumber>3.02</revnumber>
	<date>2004-01-12</date>
	<revremark>Added updates for 2004 events</revremark>
      </revision>
      <revision>
	<revnumber>4.0</revnumber>
	<date>2005-01-01</date>
	<revremark>Went back to <ulink
	    url="http://www.docbook.org/">DocBook</ulink> markup using
	  <ulink
	    url="http://www.docbook.org/tdg/en/html/qandaset.html"><sgmltag>qandaset</sgmltag></ulink> 
	  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 <link
	    linkend="docdata">a new question</link>, and added new
	  questions on <link linkend="includes">file
	    inclusions</link> and <link linkend="cdata">the use of
	    CDATA Marked Sections</link>.</revremark>
      </revision>
      <revision>
	<revnumber>4.1</revnumber>
	<date>2005-05-15</date>
	<revremark>Revised structure and new stylesheet for new
	  location at <ulink url="http://xml.silmaril.ie/"></ulink>.
	  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.</revremark>
      </revision>
      <revision>
	<revnumber>4.2</revnumber>
	<date>2005-07-01</date>
	<revremark>Added new <link linkend="rng-list">RNG mailing
	    list</link>, updated section on <link
	    linkend="schemas">Schemas</link>, added links to the <link
	    linkend="sgmldec">XML Declaration for SGML</link>.
	  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.</revremark>
      </revision>
      <revision>
	<revnumber>4.3</revnumber>
	<date>2005-09-05</date>
	<revremark>Added the notes culled from failed searches as a
	  <link linkend="glossary">Glossary</link>; updated some URLs,
	  and added one for XQuery to <link linkend="databases">the question
	    on databases</link> (thanks, Liam); updated <link
	    linkend="whatfor"></link>, <link
	    linkend="internals"></link>, <link
	    linkend="parsers"></link>, and <link linkend="cdata">the
	    question on CDATA Sections</link>. Added a new <link
	    linkend="conditionals">question on Conditionals</link>.
	  Tightened up on the indexing for searches, including the
	  removal of enclosing quotes, and added a bunch more
	  metadata.</revremark>
      </revision>
      <revision>
	<revnumber>4.31</revnumber>
	<date>2005-09-09</date>
	<revremark>Added notes on <link
	linkend="pipelines">Pipelining</link> and <link
	linkend="attribs">Attributes</link>.</revremark>
      </revision>
      <revision>
	<revnumber>4.32</revnumber>
	<date>2005-09-10</date>
	<revremark>Added details of <sgmltag
	class="attribute">xml:id</sgmltag> to the <link
	linkend="attribs">note on Attributes</link>.</revremark>
      </revision>
      <revision>
	<revnumber>4.33</revnumber>
	<date>2005-09-12</date>
	<revremark>Added more keywords, and a tip to the <link
	    linkend="asp">note on asp.net</link>.</revremark>
      </revision>
      <revision>
	<revnumber>4.34</revnumber>
	<date>2005-10-01</date>
	<revremark>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 <link
	    linkend="discussions"></link> and <link
	    linkend="programming"></link>. Fixed a minor date bug in
	  the search script.</revremark>
      </revision>
      <revision>
	<revnumber>4.35</revnumber>
	<date>2005-10-08</date>
	<revremark>Fixed some broken links and removed a couple of
	obsolete ones. Added a note about the BOM.</revremark>
      </revision>
      <revision>
	<revnumber>4.36</revnumber>
	<date>2005-10-16</date>
	<revremark>Updated dates of events in <link
	    linkend="moreinfo"></link>.</revremark>
      </revision>
      <revision>
	<revnumber>4.37</revnumber>
	<date>2005-10-31</date>
	<revremark>Removed ambiguities in <link
	    linkend="includes"></link>.</revremark>
      </revision>
      <revision>
	<revnumber>4.38</revnumber>
	<date>2005-11-01</date>
	<revremark>Added personal views on patent, copyright, and
	  intellectual property.</revremark>
      </revision>
      <revision>
	<revnumber>4.39</revnumber>
	<date>2005-12-01</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>4.4</revnumber>
	<date>2006-01-01</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>4.41</revnumber>
	<date>2006-01-07</date>
	<revremark>Fixed a cross-referencing bug in generated content.</revremark>
      </revision>
      <revision>
	<revnumber>4.5</revnumber>
	<date>2006-02-27</date>
	<revremark>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).</revremark>
      </revision>
      <revision>
	<revnumber>4.51</revnumber>
	<date>2006-02-28</date>
	<revremark>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.</revremark>
      </revision>
      <revision>
	<revnumber>4.52</revnumber>
	<date>2006-03-26</date>
	<revremark>Added more keywords and fixed a broken link to the
	  XSL FAQ.</revremark>
      </revision>
      <revision>
	<revnumber>4.53</revnumber>
	<date>2006-04-12</date>
	<revremark>Updated details of XML for Safari, and added a
	curious new enquiry.</revremark>
      </revision>
      <revision>
	<revnumber>4.54</revnumber>
	<date>2006-06-01</date>
	<revremark>Corrected an error in the description of
	xml-stylesheet. Added link targets to Quick Answers.</revremark> 
      </revision>
      <revision>
	<revnumber>4.55</revnumber>
	<date>2007-08-01</date>
	<revremark>Updated events for 2007&ndash;2008. Updated details
	of ODF and OOXML. Added section on broken software. Revised
	handling of failed searches. </revremark> 
      </revision>
      <revision>
	<revnumber>4.56</revnumber>
	<date>2007-08-08</date>
	<revremark>Added details and links for HTML5</revremark> 
      </revision>
      <revision>
	<revnumber>4.57</revnumber>
	<date>2010-02-27</date>
	<revremark>Updated events, added interim changes to formatting
	in preparation for extensive relaunch later in 2010.</revremark> 
      </revision>
      <revision>
	<revnumber>4.58</revnumber>
	<date>2010-04-24</date>
	<revremark>Updated events, removed XML Prague, added Balisage
	Symposium</revremark> 
      </revision>
      <revision>
	<revnumber id="current.version">5.00</revnumber>
	<date id="current.date">2011-01-09</date>
	<revremark>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.</revremark> 
      </revision>
    </revhistory>
  </blockinfo>
  <qandadiv id="basics" remap="FAQ-GENERAL, General">
    <title>Basics: general information about XML</title>
    <qandaentry id="whatisxml" remap="FAQ-ACRO, acro">
      <question>
	<formalpara>
	  <title>What is XML?</title>
	  <para>The Extensible Markup Language.</para>
	</formalpara>
      </question>
      <answer>
	<para>XML is the Extensible Markup Language. It improves the
	  functionality of the Web by letting you identify your
	  information in a more accurate, flexible, and adaptable
	  way.</para>
	<para>It is extensible because it is not a fixed format like
	  HTML (which is a single,
	  <emphasis>predefined</emphasis>&nbsp;<firstterm
	    linkend="markup">markup language</firstterm>). Instead,
	  XML is a <firstterm>metalanguage</firstterm>&mdash;a
	  language for describing other languages&mdash;which lets you
	  design your own markup languages for limitless different
	  types of documents. XML can do this because it's written in
	  <link linkend="whatissgml" xreflabel="simple">SGML</link>,
	  the international standard metalanguage for text document
	  markup (ISO 8879).</para>
      </answer>
    </qandaentry>
    <qandaentry id="markup">
      <question>
	<formalpara>
	  <title>What is a markup language?</title>
	  <para>A way of describing what's what in a document.</para>
	</formalpara>
      </question>
      <answer>
	<para>A markup language is a set of words and symbols for
	  describing the <firstterm>identity</firstterm> or
	  <firstterm>function</firstterm> of the component parts of a
	  document (for example <quote>this is a paragraph</quote>,
	  <quote>this is a heading</quote>, <quote>this is a
	    list</quote>, <quote>this is the caption of this
	    figure</quote>, etc). Programs can use markup with a
	  stylesheet to transform the document into output for screen,
	  print, audio, video, Braille, or reprocessable data formats.</para>
	<para>Some markup languages (especially those used in
	  wordprocessors) only describe
	  <firstterm>appearances</firstterm> instead (<quote>this is
	    italics</quote>, <quote>this is bold</quote>, <quote>this
	    has 3mm space below</quote>, etc), so these systems can
	  only be used for display, and are not easily re-usable for
	  anything else.</para>
	<para>XML is sometimes referred to as
	  <quote>self-describing</quote> because the names of the
	  markup elements can represent the type of content they hold
	  (eg <sgmltag>title</sgmltag>, <sgmltag>chapter</sgmltag>,
	  <sgmltag>link</sgmltag>, etc).</para>
      </answer>
    </qandaentry>
    <qandaentry remap="FAQ-DEF, def" id="whatfor" >
      <question>
	<formalpara>
	  <title>What is XML for?</title>
	  <para>XML is for identification, transmission, and storage.</para>
	</formalpara>
      </question>
      <answer remap="examples roles web real world used for uses usage
      technology technologies single sourceing e-publishing publishing
      ecommerce"> 
	<blockquote xreflabel="spec">
	  <title>Goal</title>
	  <para>&hellip;to enable generic SGML to be served, received,
	    and processed on the Web in the way that is now possible
	    with HTML. XML has been designed for ease of
	    implementation and for interoperability with both SGML and
	    HTML.</para>
	</blockquote>
	<para>Despite <ulink
	    url="http://www.oasis-open.org/cover/sgmlwww.html">early
	    attempts</ulink>, browsers never allowed other SGML, only
	  HTML (although there were <link linkend="panorama"
	    xreflabel="simple">plugins</link>). Browser vendors also
	  allowed (even encouraged) HTML to be corrupt or broken in
	  order to make it <wordasword>easier</wordasword>. This
	  enabled HTML to become widespread, but held development back
	  for over a decade by making it impossible to program for it
	  reliably. XML fixes that by making it compulsory to stick to
	  the rules, and by making the rules much simpler than
	  SGML.</para>
	<para>But XML is not just for Web pages: in fact it's very
	  rarely used on its own for Web pages because browsers still
	  don't provide reliable support for it. Common uses for XML
	  include:</para>
	<variablelist>
	  <varlistentry>
	    <term>Information identification</term>
	    <listitem>
	      <para>You can define your own markup, so you can define
		meaningful names for all your information
		items.</para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>Information storage</term>
	    <listitem>
	      <para>Because XML is portable and non-proprietary, it
		can be used to store information across any platforms.
		Because it is backed by an international standard, it
		will remain accessible and processable as a data
		format.</para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>Information structure</term>
	    <listitem>
	      <para>XML structures can <wordasword>nest</wordasword>,
		so they can be used to store and identify any kind of
		hierarchical information, especially long, deep, or
		complex document sets or data sources, which makes it
		ideal for an information-management back-end to
		serving the Web. This is one if its most common Web
		applications, with a transformation system to serve it
		as HTML until such time as browsers are able to handle
		XML consistently.</para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>Publishing</term>
	    <listitem>
	      <para>The original goal of XML as defined in the
		quotation at the start of this section. Combining the
		three previous topics (identity, storage, and
		structure) means it is possible to get all the
		benefits of robust document management and control
		(with XML) and publish to the Web (as HTML) as well as
		to paper (as PDF) and to other formats (eg Braille,
		Audio, etc) from a single source document by using the
		appropriate stylesheets.</para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>Messaging and data transfer</term>
	    <listitem>
	      <para>XML is also very heavily used for enclosing or
		encapsulating information in order to pass it between
		different computing systems which would otherwise be
		unable to communicate because of their proprietary or
		secret data formats. By providing a
		<foreignphrase>lingua franca</foreignphrase> for data
		identity and structure, XML provides a common
		<wordasword>envelope</wordasword> for inter-process
		communication (messaging).</para>
	    </listitem>
	  </varlistentry>
	  <varlistentry>
	    <term>Web services</term>
	    <listitem>
	      <para>Building on all of these, as well as its use in
		browsers, machine-processable data can be exchanged
		between consenting systems, where before it was only
		comprehensible by humans (HTML). Weather services,
		e-commerce sites, blog newsfeeds, <link linkend="ajax"
		  xreflabel="simple">AJaX</link> sites, and thousands
		of other data-exchange services use XML for data
		management and transmission, and the web browser for
		display and interaction.</para>
	    </listitem>
	  </varlistentry>
	</variablelist>
      </answer>
    </qandaentry>
    <qandaentry remap="FAQ-SGML, sgml" id="whatissgml">
      <question>
	<formalpara>
	  <title>What is SGML?</title>
	  <para>Standard Generalized Markup Language, ISO
	    8879:1986</para>
	</formalpara>
      </question>
      <answer>
	<para id="faq:SGML">SGML is the Standard Generalized Markup
	  Language (<ulink url="http://www.iso.ch/">ISO
	    8879:1986</ulink>), the international standard for
	  defining descriptions of the structure of different types of
	  electronic document. There is an SGML FAQ from <personname>
	    <firstname>David</firstname>
	    <surname>Megginson</surname>
	  </personname> at <ulink id="FAQ:sgml"
	    url="http://math.albany.edu:8800/hm/sgml/cts-faq.html"></ulink>; 
	  and <personname>
	    <firstname>Robin</firstname>
	    <surname>Cover</surname>
	  </personname>'s SGML Web pages are at <ulink
	    url="http://www.oasis-open.org/cover/general.html"></ulink>. 
	  For a little light relief, try <personname>
	    <firstname>Joe</firstname>
	    <surname>English</surname>
	  </personname>'s <quote>Not the SGML FAQ</quote> at <ulink
	  id="FAQ:not-sgml" 
	    url="http://www.flightlab.com/~joe/sgml/faq-not.txt"></ulink>.</para>
	<para>SGML is very large, powerful, and complex. It has been
	  in heavy industrial and commercial use for nearly two decades,
	  and there is a significant body of expertise and software to
	  go with it.</para>
	<para>XML is a lightweight cut-down version of SGML
	  which keeps enough of its functionality to make it useful
	  but removes all the optional features which made SGML too
	  complex to program for in a Web environment.</para>
	<note>
	  <para>ISO standards like SGML are governed by the
	    International Organization for Standardization in Geneva,
	    Switzerland, and voted into or out of existence by
	    representatives from every country's national standards
	    body.</para>
	  <para>If you have a query about an international standard,
	    you should contact your national standards body for the
	    name of your country's representative on the relevant ISO
	    committee or working group.</para>
	  <para>If you have a query about your country's
	    representation in Geneva or about the conduct of your
	    national standards body, you should contact the relevant
	    government department in your country, or speak to your
	    public representative.</para>
	  <para>The representation of countries at the ISO is not a
	    matter for this FAQ. Please do not submit queries to the
	    editor about how or why your country's ISO representatives
	    have or have not voted on a specific standard.</para>
	</note>
      </answer>
    </qandaentry>
    <qandaentry id="whatishtml" remap="FAQ-HTML, html"
    revisionflag="changed">
      <question>
	<formalpara>
	  <title>What is HTML?</title>
	  <para>HyperText Markup Language, RFC 1866, the language of
	    Web pages.</para>
	</formalpara>
      </question>
      <answer>
	<para>HTML is the <ulink
	    url="http://www.w3.org/MarkUp">HyperText Markup
	    Language</ulink> (<ulink
	    url="ftp://ftp.rfc-editor.org/in-notes/rfc1866.txt">RFC
	    1866</ulink>), which started as a small application of
	  <link linkend="whatissgml" xreflabel="simple">SGML</link>
	  for the Web, originating with <ulink
	    url="http://public.web.cern.ch/Public/Content/Chapters/AboutCERN/Achievements/WorldWideWeb/WWW-en.html"><personname> 
	      <firstname>Tim</firstname>
	      <surname>Berners-Lee</surname> </personname> at
	    CERN</ulink> in 1989&ndash;90.</para>
	<para id="faq:HTML">It defines a very simple class of
	  report-style documents, with section headings, paragraphs,
	  lists, tables, and illustrations, with a few informational
	  elements, but very few presentational elements <biblioref
	    linkend="nopres" role="footnote"/>, plus some hypertext
	  and multimedia. See the question on <link
	    linkend="extendhtml" xreflabel="simple">extending
	    HTML</link>. The current recommendation is to use the XML
	  version, <link linkend="xhtml"
	    xreflabel="simple">XHTML</link>. There is a HTML and XHTML
	  FAQ maintained by <personname>
	    <firstname>Steven</firstname>
	    <surname>Pemberton</surname>
	  </personname> at <ulink id="FAQ:html"
	    url="http://www.w3.org/MarkUp/2004/xhtml-faq"></ulink></para>
	<para id="faq:HTML5">Recent moves 
	  the W3C have led to the development of a revision of HTML
	  called <ulink
	    url="http://www.w3.org/TR/html5/">HTML5</ulink>. There is an <ulink
	    url="http://www.ibm.com/developerworks/library/x-html5/?ca=dgr-lnxw01NewHTML">explanation</ulink> 
	  from Elliotte Rusty Harold, and a <ulink id="FAQ:html5"
	    url="http://blog.whatwg.org/faq/">FAQ</ulink> from the
	  WhatWG.</para>
      </answer>
    </qandaentry>
    <qandaentry id="differences" remap="FAQ-SAME, same">
      <question>
	<formalpara>
	  <title>Aren't XML, SGML, and HTML all the same
	    thing?</title>
	  <para>No, SGML and XML are
	    metalanguages. HTML is an application of them.</para>
	</formalpara>
      </question>
      <answer remap="differences similarity similarities different
	    between xml sgml html compiled case sensitive senstive">
	<para>Not quite; <link linkend="whatissgml"
	    xreflabel="simple">SGML</link> is the mother tongue, and
	  has been used for describing thousands of different document
	  types in many fields of human activity, from transcriptions
	  of <ulink url="http://celt.ucc.ie/">ancient Irish
	    manuscripts</ulink> to the <ulink
	    url="http://web.deskbook.osd.mil/">technical documentation
	    for stealth bombers</ulink>, and from <ulink
	    url="http://www.hl7.org">patients' medical and clinical
	    records</ulink> to <ulink
	    url="http://www.tecno.com/smdl.htm">musical
	    notation</ulink>. SGML is very large and complex, however,
	  and probably overkill for most common office desktop
	  applications.</para>
	<para>XML is an abbreviated version of SGML, to make it easier
	  to use over the Web, easier for you to define your own
	  document types, and easier for programmers to write programs
	  to handle them. It omits all the complex and less-used
	  options of SGML in return for the benefits of being easier
	  to write applications for, easier to understand, and more
	  suited to delivery and interoperability over the Web. But it
	  is still SGML, and XML files may still be processed in the
	  same way as any other SGML file (see the question on <link
	    linkend="software" xreflabel="simple">XML
	    software</link>).</para>
	<para><link linkend="whatissgml"
	    xreflabel="simple">HTML</link> is just one of many SGML or
	  XML applications&mdash;the one most frequently used on the
	  Web.</para>
	<para>Technical readers may find it more useful to think of
	  XML as being SGML&minus;&minus; rather than HTML++.</para>
	<para>(Ed: In respect of this last paragraph, see <link
	    linkend="programming"></link> and <link
	    linkend="execute"></link>.)</para>
      </answer>
    </qandaentry>
    <qandaentry remap="FAQ-OWNS, owns" id="responsible">
      <question>
	<formalpara>
	  <title>Who is responsible for XML?</title>
	  <para>The W3C</para>
	</formalpara>
      </question>
      <answer remap="function W3C windows microsoft office owns market">
	<para>XML is a Recommendation of the <ulink
	    url="http://www.w3.org/">World Wide Web Consortium
	    (W3C)</ulink>, and the development of the specification is
	  supervised by an XML Working Group. A Special Interest Group
	  of co-opted contributors and experts from various fields
	  contributed comments and reviews by email.</para>
	<para>XML is a public format: it is not a proprietary
	  development of any company, although the membership of the
	  WG and the SIG represented companies as well as research and
	  academic institutions. <link linkend="spec" xreflabel="simple">The v1.0
	    specification</link> was accepted by the W3C as a
	  Recommendation on Feb 10, 1998.</para>
      </answer>
    </qandaentry>
    <qandaentry remap="FAQ-IMPORT, import" id="important">
      <question>
	<formalpara>
	  <title>Why is XML such an important development?</title>
	  <para>It overcomes the inflexibility of HTML and the
	    complexity of SGML</para>
	</formalpara>
      </question>
      <answer remap="advantages using xml">
	<para>It removes two constraints which were holding back Web
	  developments:</para>
	<orderedlist>
	  <listitem>
	    <para>dependence on a single, inflexible document type
	      (<link linkend="whatishtml"
		xreflabel="simple">HTML</link>) which was being much
	      abused for tasks it was never designed for;</para>
	  </listitem>
	  <listitem>
	    <para>the complexity of full <link linkend="whatissgml"
		xreflabel="simple">SGML</link>, whose syntax allows
	      many powerful but hard-to-program options.</para>
	  </listitem>
	</orderedlist>
	    <para>XML allows the flexible development of user-defined
	  document types. It provides a robust, non-proprietary,
	  persistent, and verifiable file format for the storage and
	  transmission of text and data both on and off the Web; and
	  it removes the more complex options of SGML, making it
	  easier to program for.</para>
      </answer>
    </qandaentry>
    <qandaentry id="extendhtml" remap="FAQ-EXTEND, extend">
      <question>
	<formalpara>
	  <title>Why not just carry on extending HTML?</title>
	  <para>HTML is already too overburdened with proprietary
	    add-ons.</para>
	</formalpara>
      </question>
      <answer>
	<para><link linkend="whatishtml" xreflabel="simple">HTML</link>
	  was already overburdened with dozens of interesting but
	  incompatible inventions from different manufacturers,
	  because it provides only one way of describing your
	  information.</para>
	<para>XML allows groups of people or organizations to <link
	    linkend="owndoctype" xreflabel="simple">create their own
	    customized markup applications</link> for exchanging
	  information in their domain (music, chemistry, electronics,
	  hill-walking, finance, surfing, petroleum geology,
	  linguistics, cooking, knitting, stellar cartography,
	  history, engineering, rabbit-keeping, <link
	    xreflabel="simple"
	    linkend="mathematics">mathematics</link>, <ulink
	    url="http://users.iclway.co.uk/mhkay/gedml/index.html">genealogy</ulink>, 
	  etc).</para>
	<para>HTML as originally conceived is now well beyond the
	  limit of its usefulness as a way of describing information,
	  and while <link linkend="whatishtml"
	    xreflabel="simple">HTML5</link> will continue to play an
	  important role for the content it represents, many new
	  applications require a more robust and flexible
	  infrastructure.</para>
      </answer>
    </qandaentry>
    <qandaentry id="whyxml" remap="FAQ-WORD, word">
      <question>
	<formalpara>
	  <title>Why should I use XML?</title>
	  <para>It's a robust, durable, manipulable, and free format
	    for information identification, storage and
	    transfer.</para>
	</formalpara>
      </question>
      <answer remap="seperate data">
	<para>Here are a few reasons for using XML (in no particular
	  order). Not all of these will apply to your own
	  requirements, and you may have additional reasons not
	  mentioned here (if so, please let the editor of the FAQ
	  know!).</para>
	<itemizedlist>
	  <listitem>
	    <para>XML can be used to describe and identify information
	      accurately and unambiguously, in a way that computers
	      can be programmed to <quote>understand</quote> your
	      information (well, at least manipulate as if they could
	      understand it).</para>
	  </listitem>
	  <listitem>
	    <para>XML allows documents which are all the same type to
	      be created and handled consistently and without
	      structural errors, because it provides a standardised
	      way of describing, controlling, or allowing/disallowing
	      particular types of document structure. [Note that this
	      has absolutely nothing whatever to do with formatting,
	      appearance, or the actual text or data content of your
	      documents, only the structure of them. If you want
	      styling or formatting, see <link
		linkend="style"></link>.]</para>
	  </listitem>
	  <listitem>
	    <para>XML provides a robust and durable format for
	      information storage and transmission. Robust because it
	      is based on a proven standard, and can thus be tested
	      and verified; durable (persistent) because it uses
	      plain-text file formats which will outlast proprietary
	      binary ones.</para>
	  </listitem>
	  <listitem>
	    <para>XML provides a common syntax for messaging systems
	      for the exchange of information between applications.
	      Previously, each messaging system had its own format and
	      all were different, which made inter-system messaging
	      unnecessarily messy, complex, and expensive. If everyone
	      uses the same syntax it makes writing these systems much
	      faster and more reliable.</para>
	  </listitem>
	  <listitem>
	    <para>XML is free. Not just free of charge (free as in
	      beer) but free of legal encumbrances (free as in
	      speech). It doesn't belong to anyone, so it can't be
	      hijacked or pirated. And you don't have to pay a fee to
	      use it (you can of course choose to use commercial
	      software to deal with it, for lots of good reasons, but
	      you don't pay for XML itself).</para>
	  </listitem>
	  <listitem>
	    <para>XML information can be manipulated programmatically
	      (under machine control), so XML documents can be pieced
	      together from disparate sources, or taken apart and
	      re-used in different ways. They can be converted into
	      any other format with no loss of information.</para>
	  </listitem>
	  <listitem id="separate">
	    <para>XML lets you separate form (appearance) from
	      content. Your XML file contains your document
	      information (text, data) and identifies its structure:
	      your formatting and other processing needs are
	      identified separately in a <link linkend="style"
	      xreflabel="simple">stylesheet</link> or processing
	      system. The two are combined at output time to apply the
	      required formatting to the text or data identified by
	      its structure (location, position, rank, order, or
	      whatever).</para>
	  </listitem>
	  <listitem>
	    <para>Any of the Design Goals listed in the <ulink
		url="http://www.w3.org/TR/2004/REC-xml-20040204/#sec-origin-goals">XML 
		Specification</ulink>.</para>
	  </listitem>
	</itemizedlist>
	<tip xreflabel="Peter Flynn">
	  <title>Why not just use Word or Notes?</title>
	  <para>Restricted proprietary data formats are unsuitable
	    for durable public information.</para>
	  <para>Information on a network which connects many different
	    types of computer has to be usable on all of them. Public
	    information in particular cannot afford to be restricted
	    to one make or model or manufacturer, or to cede control
	    of its data format to private hands. It is also helpful
	    for such information to be in a form that can be reused in
	    many different ways, as this will minimize wasted time and
	    effort. <ulink
	      url="http://publish.ucc.ie/doc/markup?sectoc=1">Proprietary 
	      data formats</ulink>, no matter how well documented or
	    publicized, are simply not an option: their control still
	    resides in private hands and they can be changed or
	    withdrawn arbitrarily without notice.</para>
	  <para><link linkend="whatissgml" xreflabel="simple">SGML</link> is the
	    international standard for defining this kind of
	    application, and was therefore the natural choice for XML,
	    but those who need an alternative based on different
	    software for other purposes are entirely free to implement
	    similar services using such a system, especially if they
	    are for private use.</para>
	</tip>
      </answer>
    </qandaentry>
    <qandaentry id="moreinfo" remap="FAQ-HOWTO, FAQ-MORE, more"
    revisionflag="changed">
      <question>
	<formalpara>
	  <title>Where do I find more information about XML?</title>
	  <para>At http://xml.coverpages.org/</para>
	</formalpara>
      </question>
      <answer remap="documentation help conferences forums mailing
	  lists discussion groups books articles summer school">
	<para id="faq:XML-Condensed">Online, there's the <link
	    linkend="spec" xreflabel="simple">XML Specification</link>
	  and the ancillary documentation available from the <ulink
	    url="http://www.w3.org/">W3C</ulink>; Robin Cover's <ulink
	    url="http://xml.coverpages.org/">SGML/XML Web
	    pages</ulink> with an extensive list of online reference
	  material and links to software; and a <ulink
	    url="http://www.textuality.com/xml/">summary</ulink> and
	  <ulink id="FAQ:xml-condensed"
	    url="http://www.textuality.com/xml/faq.html">condensed
	    FAQ</ulink> from <personname>
	    <firstname>Tim</firstname>
	    <surname>Bray</surname>
	  </personname>; and thousands of reference resources
	  available by typing <quote>xml</quote> into Google or other
	  search engine.</para>
	<para>For offline resources, see the
	  lists of books, articles, and software for XML in
	    <personname>
	    <firstname>Robin</firstname>
	    <surname>Cover</surname>
	  </personname>'s <ulink
	    url="http://xml.coverpages.org/sgml-xml.html">SGML and XML
	    Web pages</ulink>. That site should always be your first
	  port of call.</para>
	<para>The events listed below are the
	  ones I have been told about. Please <ulink
	    url="xmlfaq@silmaril.ie">mail me</ulink> if you come
	  across others: there are many other XML events around the
	  world, and most of them are announced on the <link xreflabel="simple"
	    linkend="discussions">mailing lists and
	    newsgroups</link>.</para>
	<note id="events">
	  <title>Events</title>
	  <itemizedlist>
	    <listitem>
	      <para>The <ulink
		  url="http://balisage.net/">Balisage</ulink>
		conference (the principal technical meeting) will be
		in Montréal on 1st&ndash;5th August 2011.</para>
	    </listitem>
	    <listitem>
	      <para id="summer">The 2011 annual <ulink
		  url="http://www.xmlsummerschool.com/">XML Summer
		  School</ulink>, organised by <ulink
		  url="http://elevenllp.co.uk/">Eleven
		  Informatics</ulink>, will be held in St Edmund Hall,
		Oxford on 18th&ndash;23rd September 2011.</para>
	    </listitem>
	    <listitem>
	      <para>The <ulink
		  url="http://www.idealliance.org/conferences_and_events/find?industry=xml">XML-in-Practice
		  2011 Conference &ampers; Exposition</ulink> (run by
		  IDEAlliance, formerly the GCA) 
		is themed <quote></quote>
		and will be in  in October.</para>
	    </listitem>
	    <listitem>
	      <para><ulink
	      url="http://www.xmlprague.cz/2011/index.html">XML
	      Prague</ulink> will be held on March 26th &ampers; 27th,
	      2011 at Charles University.</para>
	    </listitem>
	  </itemizedlist>
	</note>
      </answer>
    </qandaentry>
    <qandaentry id="discussions" remap="FAQ-MAILINGLIST, mailinglist">
      <question>
	<formalpara>
	  <title>Where can I discuss implementation and development of
	    XML?</title>
	  <para>On mailing lists, Usenet newsgroups, web-based
	    bulletin-boards, and IRC channels</para> 
	</formalpara>
      </question>
      <answer remap="forums">
	<para>Two of the principal online support media are Usenet
	  newsgroups and mailing lists. The IRC network is also used
	  to some extent, and most individual projects and programs
	  have their own topic-specific bulletin-boards on their web
	  sites. There is also an unknown number of
	  question-and-answer forum sites which are findable using
	  search engines.</para>
	<para>For off-line support, see <link
	    linkend="moreinfo"></link> for details of conferences and
	  summerschools.</para>
	<itemizedlist>
	  <listitem>
	    <para>The main Usenet newsgroup is <ulink type="news"
		url="comp.text.xml">comp.text.xml</ulink>, although it
	      is less used than formerly. Ask your Internet Provider
	      for access to Usenet, or use a Web interface like the
	      <ulink
		url="http://groups.google.com/group/comp.text.xml/topics">searchable 
		archive</ulink> maintained by Google. If your browser
	      or mailer doesn't provide newsreading facilities,
	      install one that does, or (better) use a standalone
	      newsreader.</para>
	    <para>The <ulink type="news"
		url="comp.text.sgml">comp.text.sgml</ulink> is for all
	      practical purposes no longer used. The
	      Microsoft-specific newsgroups are being phased out in
	      favour of web-based forums hosted by Microsoft
	      themselves.</para>
	  </listitem>
	  <listitem>
	    <para>The general-purpose mailing list for public
	      discussion is <ulink
		url="http://listserv.heanet.ie/xml-l.html">XML-L</ulink>: 
	      to subscribe, visit <ulink
		url="https://listserv.heanet.ie/cgi-bin/wa?SUBED1=xml-l&ampers;A=1">the 
		Web site</ulink> and click on the link to join.</para>
	  </listitem>
	  <listitem>
	    <para>For those developing software components for XML
	      there is the <ulink
		url="http://lists.xml.org/archives/xml-dev/">xml-dev
		mailing list</ulink>. You can subscribe by sending a
	      1&ndash;line mail message to <ulink
		url="xml-dev-request@lists.xml.org"></ulink> saying
	      just <literal>SUBSCRIBE</literal>. Note that this list
	      is for those people actively involved in developing
	      resources for XML. It is not for general information
	      about XML (use the XML-L list above for that).</para>
	  </listitem>
	  <listitem>
	    <para>The XSL-List is for for discussing XSL (both XSLT
	      and XSL:FO). For details of how to subscribe, see <ulink
		url="http://www.mulberrytech.com/xsl/xsl-list"></ulink>.</para>
	  </listitem>
	  <listitem>
	    <para>There is a long list of other discussion groups,
	      mailing lists, and forums on Robin Cover's site at
	      <ulink
		url="http://xml.coverpages.org/lists.html"></ulink>.</para>
	  </listitem>
	</itemizedlist>
	<tip xreflabel="Andrew Watt">
	  <para>There is a mailing list specifically for <ulink
	      url="http://www.egroups.com/group/XSL-FO">XSL-FO only,
	      on eGroups.com</ulink>. You can subscribe by sending a
	    message to <ulink
	      url="XSL-FO-subscribe@egroups.com"></ulink>.</para>
	</tip>
	<warning>
	  <para>Be aware that the Yahoo E-Groups XSL-FO list sends out
	    regular automated spam to non-members falsely claiming
	    that they have asked to join.</para>
	</warning>
	<tip xreflabel="Gianni Rubagotti">
	  <para>A new Italian mailing list about XML is born: to
	    subscribe, send a mail message without a subject line but
	    with text saying <literal>subscribe XML-IT</literal> to
	    <ulink url="majordomo@ananas.usr.dsi.unimi.it"></ulink>.
	    Everyone, Italian or not, who wants to debate about XML in
	    our tongue is welcome.</para>
	  <para id="x-hum">Gianni also runs the <ulink
	      url="http://groups.yahoo.com/group/x-humanities/">Humanities 
	      XML List</ulink>.</para>
	</tip>
	<tip xreflabel="J-P Theberge">
	  <para>A French mailing list about XML has been created. To
	    subscribe, send <literal>subscribe</literal> to <ulink
	      url="xml-request@trisome.com"></ulink>.</para>
	</tip>
	<tip id="rng-list" xreflabel="Murata Makoto" lang="jp">
	  <para>Please mention this mailing list to your colleagues
	    who use RELAX NG. Go to: <ulink
	      url="http://groups.yahoo.com/group/rng-users/"></ulink>.</para>
	</tip>
	<note>
	  <title>Mailing lists</title>
	  <para>When you join a mailing list you will be sent details
	    of how to use it.  Please Read The Fine Documentation
	    because it  contains important information, particularly
	    about what to do if your company or ISP changes your email
	    address.</para>
	  <para>Please note that there is a lot of inaccurate and
	    misleading information published in print and on the Web
	    about subscribing to and unsubscribing from mailing lists.
	    Don't guess: Read The Fine Documentation.</para>
	</note>
      </answer>
    </qandaentry>
    <qandaentry id="programming" remap="langs javascript cobol pl/1 pl/i
	  pascal perl python ruby tcl/tk ppl differences" >
      <question>
	<formalpara>
	  <title>What is the difference between XML and C or
	    C++ or Java?</title>
	  <para>C and Java are for writing programs; XML is for
	    storing text.</para>
	</formalpara>
      </question>
      <answer>
	<para>C and C++ (and other languages like FORTRAN, or Pascal,
	  or Visual Basic, or Java or hundreds more) are
	  <emphasis>programming languages</emphasis> with which you
	  specify calculations, actions, and decisions to be carried
	  out in order:</para>
	<programlisting><![CDATA[
mod curconfig[if left(date,6) = "01-Apr", 
    t.put "April Fool!", 
    f.put days('31102011','DDMMYYYY') -
          days(sdate,'DDMMYYYY')
    " more shopping days to Samhain"];
	  ]]></programlisting>
	<para>XML is a markup specification language with which you
	  can design ways of describing information (text or data),
	  usually for storage, transmission, or processing by a
	  program. It says nothing about what you should do with the
	  data (although your choice of element names may hint at what
	  they are for):</para> 
	<programlisting><![CDATA[
<part num="DA42" models="LS AR DF HG KJ" update="2001-11-22">
  <name>Camshaft end bearing retention circlip</name>
  <image drawing="RR98-dh37" type="SVG" x="476" y="226"/>
  <maker id="RQ778">Ringtown Fasteners Ltd</maker>
  <notes>An <tool id="GH25"/>angle-nosed insertion tool</tool> is 
    required for the removal and replacement of this part.</notes>
</part>
	  ]]></programlisting>
	<para>On its own, an SGML or XML file (including HTML) doesn't
	  do anything. It's a data format which just sits there until
	  you run a program which does something
	  <emphasis>with</emphasis> it. See also the question about
	  <link linkend="execute" xreflabel="simple">how to run or
	    execute XML files</link>.</para>
	<tip xreflabel="William Hammond">
	  <para>(in article
	    <literal><![CDATA[<i7ll1362ib.fsf@hilbert.math.albany.edu>]]></literal>)</para>
	  <para>SGML is a category of <wordasword>document
	      types</wordasword>, with a configurable shared syntax,
	    most of which (like classic HTML) cannot be compiled to
	    produce executable programs.  XML is a subcategory of SGML
	    with syntactic restrictions.  For example, with XML the
	    vocabulary of a document type is always case sensitive,
	    while with SGML it may be either case sensitive or case
	    insensitive.  So, for example, classic HTML is an SGML
	    document type, and XHTML+MathML is an XML document
	    type.</para>
	  <para>While some document types correspond to document
	    markup languages, other document types (like a CTAN catalog
	    entry) are just for structured data[...]</para>
	  <para>I doubt seriously, however, that a computer language
	    like C is in any reasonable sense equivalent to an SGML
	    document type.
	  </para>
	</tip>
      </answer>
    </qandaentry>
    <qandaentry remap="FAQ-REPLACE, replace" id="replacehtml">
      <question>
	<formalpara>
	  <title>Does XML replace HTML?</title>
	  <para>No.</para>
	</formalpara>
      </question>
      <answer>
	<para>No. XML itself does not replace HTML. Instead, it
	  provides an alternative which allows you to define your own
	  set of markup elements. HTML is expected to remain in common
	  use on the web, and the current version of HTML (<link
	    linkend="xhtml" xreflabel="simple">XHTML</link>) is in XML
	  syntax, although HTML5 may depart from this.</para>
	<para>XML is designed to make the writing of processing
	  software much easier than with SGML, which is what the
	  original HTML was based on.</para>
      </answer>
    </qandaentry>
    <qandaentry id="xhtml" remap="htmlxml">
      <question>
	<formalpara>
	  <title>Is there an XML version of HTML?</title>
	  <para>Yes, XHTML from W3C</para>
	</formalpara>
      </question>
      <answer>
	<para>Yes, the W3C Recommendation is <ulink
	    url="http://www.w3.org/TR/xhtml1/">XHTML</ulink> which is
	  <quote>a reformulation of HTML 4 in XML 1.0</quote>. This
	  specification defines HTML as an XML application, and
	  provides three DTDs corresponding to the ones defined by
	  HTML 4.* (Strict, Transitional, and Frameset).</para>
	<para>The semantics of the elements and their attributes are
	  as defined in the W3C Recommendation for HTML 4. These
	  semantics were intended to provide the foundation for future
	  extensibility of XHTML. Compatibility with existing HTML
	  browsers is possible by following a small set of guidelines
	  (see the W3C site).</para>
      </answer>
    </qandaentry>
  </qandadiv>
  <qandadiv remap="FAQ-USER, User" id="users">
    <title>Existing users (including everyone who uses a
      browser)</title>
    <qandaentry remap="FAQ-USEXML, usexml" id="usexml">
      <question>
	<formalpara>
	  <title>What do I have to do to use XML?</title>
	  <para>To read it: an XML browser (eg Firefox or IE). To
	    create: an XML editor (Emacs, Spy, etc).</para>
	</formalpara>
      </question>
      <answer>
	<para>For the average user of the Web, nothing except use a
	  browser which works with XML (see the <link
	    linkend="browsers" xreflabel="simple">question about
	    browsers</link>). Remember some XML components are still
	  being invented or implemented (see the <ulink
	    url="http://www.w3.org/">W3C</ulink> web site), so some
	  features are still either undefined or have yet to be
	  written.</para>
	<para>You can use XML-conformant browsers to look at some of
	  the stable XML material, such as <ulink
	    url="ftp://sunsite.unc.edu/pub/sun-info/standards/xml/eg/">Jon 
	    Bosak's Shakespeare plays</ulink> and the molecular
	  experiments of the <ulink
	    url="http://www.xml-cml.org">Chemical Markup Language
	    (CML)</ulink>. There are some more example sources listed
	  at <ulink
	    url="http://xml.coverpages.org/xml.html#examples"></ulink>, 
	  and you will find XML (particularly in the guise of <link
	    linkend="xhtml" xreflabel="simple">XHTML</link>) being
	  introduced in places where it won't break older
	  browsers.</para>
	<para>If you want to start preparations for creating your own
	  XML files, see the questions in the <link xreflabel="simple"
	    linkend="authors">Authors' Section</link> and the <link
	    xreflabel="simple" linkend="developers">Developers'
	    Section</link>.</para>
      </answer>
    </qandaentry>
    <qandaentry remap="FAQ-XMLDOC, xmldoc" id="internals" >
      <question>
	<formalpara>
	  <title>What does an XML document actually look like (inside)?</title>
	  <para>Pointy brackets like HTML</para>
	</formalpara>
      </question>
      <answer remap="top level internalsubset">
	<para>The basic structure of XML is similar to other
	  applications of SGML, including HTML. The basic components
	  can be seen in the following examples. An XML document
	  starts with an optional <firstterm>Prolog</firstterm>, which
	  can have two (optional) parts:</para>
	<orderedlist>
	  <listitem>
	    <para>The <firstterm>XML Declaration</firstterm></para>
	    <programlisting><![CDATA[
<?xml version="1.0" encoding="utf-8"?>
	 ]]></programlisting> 
	    <para>which specifies that this is an XML document and
	    that it uses the UTF-8 character repertoire (the default);</para>
	  </listitem>
	  <listitem>
	    <para>A Document Type Declaration</para>
	    <programlisting><![CDATA[
<!DOCTYPE report SYSTEM "http://sales.acme.corp/dtds/salesrep.dtd">
	    ]]></programlisting>
	    <para>which identifies the type of document (here,
	      <wordasword>report</wordasword>) and says where the
	      Document Type <emphasis>Description</emphasis> (DTD) is
	      stored;</para>
	  </listitem>
	</orderedlist>
	<para>The Prolog is followed by the <firstterm>Document
	    Instance</firstterm>:</para>
	<orderedlist>
	  <listitem>
	    <para>A <firstterm>root element</firstterm>, which is the
	      outermost (top level) element (start-tag plus end-tag)
	      which encloses everything else: in the examples below
	      the root elements are <sgmltag>conversation</sgmltag>
	      and <sgmltag>titlepage</sgmltag>;</para>
	  </listitem>
	  <listitem>
	    <para>A structured mix of descriptive or prescriptive
	      <firstterm>elements</firstterm> enclosing the
	      <firstterm>character data content</firstterm> (text),
	      and optionally any <firstterm>attributes</firstterm>
	      (<quote>name="value"</quote> pairs) inside some
	      start-tags.</para>
	  </listitem>
	</orderedlist>
	<para>XML documents can be very simple, with straightforward
	  nested markup of your own design:</para>
	<programlisting><![CDATA[
<?xml version="1.0" standalone="yes"?>
<conversation>
  <greeting>Hello, world!</greeting>
  <response>Stop the planet, I want to get 
   off!</response>
</conversation>
	  ]]></programlisting>
	<para>Or they can be more complicated, with a <link
	    linkend="schemas" xreflabel="simple">Schema</link> or
	  <link linkend="dtds" xreflabel="simple">DTD</link>, and
	  maybe an <firstterm>internal subset</firstterm> (local DTD
	  changes in [square brackets]); and an arbitrarily complex
	  nested structure:</para>
	<programlisting><![CDATA[
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE titlepage 
  SYSTEM "http://www.foo.bar/dtds/typo.dtd" 
[<!ENTITY % active.links "INCLUDE">]>
<titlepage id="BG12273624">
  <white-space type="vertical" amount="36"/>
  <title font="Baskerville" alignment="centered" 
   size="24/30">Hello, world!</title>
  <white-space type="vertical" amount="12"/>
	  <!-- In some copies the following 
           decoration is hand-colored, presumably 
           by the author -->
  <image location="http://www.foo.bar/fleuron.eps" 
   type="URI" alignment="centered"/>
  <white-space type="vertical" amount="24"/>
  <author font="Baskerville" size="18/22" 
   style="italic">Vitam capias</author>
  <white-space type="vertical" role="filler"/>
</titlepage>
	  ]]></programlisting>
	<para>Or they can be anywhere between: a lot will depend on
	  how you want to define your document type (or whose you use)
	  and what it will be used for. Database-generated or
	  program-generated XML documents used in e-commerce are
	  usually unformatted because they are for machine
	  consumption, not for human reading, and they may use very
	  long names or values, with multiple redundancy and sometimes
	  no character data content at all, just values in
	  attributes:</para>
	<programlisting><![CDATA[
<?xml version="1.0"?>
<ORDER-UPDATE AUTHMD5="4baf7d7cff5faa3ce67acf66ccda8248"
 ORDER-UPDATE-ISSUE="193E22C2-EAF3-11D9-9736-CAFC705A30B3"
 ORDER-UPDATE-DATE="2005-07-01T15:34:22.46"
 ORDER-UPDATE-DESTINATION="6B197E02-EAF3-11D9-85D5-997710D9978F"
 ORDER-UPDATE-ORDERNO="8316ADEA-EAF3-11D9-9955-D289ECBC99F3">
  <ORDER-UPDATE-DELTA-MODIFICATION-DETAIL ORDER-UPDATE-ID="BAC352437484">
    <ORDER-UPDATE-DELTA-MODIFICATION-VALUE ORDER-UPDATE-ITEM="56"
     ORDER-UPDATE-QUANTITY="2000"/>
  </ORDER-UPDATE-DELTA-MODIFICATION-DETAIL>
</ORDER-UPDATE> 
	  ]]></programlisting>
      </answer>
    </qandaentry>
    <qandaentry remap="FAQ-XMLOFFER, xmloffer" id="xmlhtml">
      <question>
	<formalpara>
	  <title>Should I use XML instead of HTML?</title>
	  <para>Yes if you need robustness, accuracy, and
	    persistence.</para>
	</formalpara>
      </question>
      <answer remap="cascading style sheets">
	<para>Yes, if you need robustness, accuracy, and persistence.
	  XML allows authors and providers to <link
	    linkend="owndoctype" xreflabel="simple">design their own
	    document markup</link> instead of being limited by HTML.
	  Document types can be explicitly tailored to an application,
	  so the cumbersome fudging and poodlefaking that has to take
	  place with <link linkend="whatishtml"
	    xreflabel="simple">HTML</link> becomes a thing of the
	  past: your markup can always say what it means. Trivial
	  example:</para>
	  <programlisting><![CDATA[
<date YYYY-MM-DD="2005-12-26">next Monday</date>
          ]]></programlisting>
	<itemizedlist>
	  <listitem>
	    <para>Information content can be richer and easier to use,
	      because the descriptive and <link xreflabel="simple"
		linkend="links">hypertext linking abilities of
		XML</link> are much greater than those available in
	      HTML.</para>
	  </listitem>
	  <listitem>
	    <para>XML can provide more and better facilities for
	      browser presentation and performance, using XSLT and CSS
	      stylesheets;</para>
	  </listitem>
	  <listitem>
	    <para>It removes many of the underlying complexities of
	      SGML-format HTML (which led to them being ignored and
	      broken) in favor of a more flexible model, so writing
	      programs to handle XML is much easier than doing the
	      same for all the old broken HTML.</para>
	  </listitem>
	  <listitem>
	    <para>Information becomes more accessible and reusable,
	      because the more flexible markup of XML can be used by
	      any XML software instead of being restricted to specific
	      manufacturers as has become the case with HTML.</para>
	  </listitem>
	  <listitem>
	    <para>XML files can be used outside the Web as well, in
	      existing document-handling environments (eg
	      publishing).</para>
	  </listitem>
	</itemizedlist>
	<para>If your information is transient,
	  or completely static <emphasis>and</emphasis> unreferenced,
	  or very short and simple, and unlikely to need updating,
	  HTML may be all you need.</para>
      </answer>
    </qandaentry>
    <qandaentry id="readxml">
      <question>
	<formalpara>
	  <title>Someone sent me an XML file. How do I read it?</title>
	  <para>Open it in an XML browser or XML editor.</para>
	</formalpara>
      </question>
      <answer remap="reading opening">
	<para>If the file is well-formed or valid XML, you can just
	  open it with any XML-conformant browser (see <link
	    linkend="browsers"></link>). This will display the file in
	  an unformatted view, showing all the markup in a format that
	  lets you fold up or unfold the nested hierarchy (click on
	  the little plus and minus symbols), which will at least let
	  you read something.</para>
	<para>If the file contains a link to an XSLT or CSS stylesheet
	  (and the stylesheet was provided or is web-accessible) then
	  the browser should format the file in a readable manner (but
	  beware that in-browser formatting is not robust).</para>
	<para>If you want to edit the file, you need an XML editor
	  (see <link linkend="editors"></link>). Unless you are very
	  skilled with pointy-bracket markup, do
	  <emphasis>not</emphasis> try to edit XML files with non-XML
	  editors.</para>
      </answer>
    </qandaentry>
    <qandaentry id="style" remap="FAQ-STYLE, style">
      <question>
	<formalpara>
	  <title>How do I control formatting and appearance?</title>
	  <para>Use a CSS or XSLT stylesheet.</para>
	</formalpara>
      </question>
      <answer remap="calling assigning stylesheets document format
	language styling converting putting transform cascading style
	sheets layout ie internet explorer ie6">
	<para>In HTML, default styling was built into the browsers
	  because the tagset of HTML was predefined and hardwired into
	  browsers. In XML, where you can define your own tagset,
	  browsers cannot possibly be expected to guess or know in
	  advance what names you are going to use and what they will
	  mean, so you need a stylesheet if you want to display
	  formatted text.</para>
	<para><link xreflabel="simple" linkend="browsers">Browsers
	    which read XML</link> will accept and use a CSS stylesheet
	  at a minimum, but you can also use the more powerful XSLT
	  stylesheet language to transform your XML into
	  HTML&mdash;which browsers, of course, already know how to
	  display (and that HTML can still use a CSS stylesheet). This
	  way you get