home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / CHIP_CD_1998_11_PL.iso / offline / internet / xml / xmlfaq / xmlview.exe / faq.sgm < prev    next >
Encoding:
Text File  |  1997-10-04  |  80.8 KB  |  1,282 lines

  1. <!DOCTYPE ARTICLE PUBLIC "+//Silmaril//DTD DocBook V3.0-Based Extension With HTML Forms//EN"
  2.  "http://www.ucc.ie/dtds/dbhtform.dtd"
  3. [
  4. <!ENTITY TeX CDATA "TeX">
  5. <!ENTITY amp CDATA "&">
  6. <!ENTITY apos CDATA "Æ">
  7. <!ENTITY dollar CDATA "$">
  8. <!ENTITY gt CDATA ">">
  9. <!ENTITY hellip CDATA " . . . ">
  10. <!ENTITY lt CDATA "<">
  11. <!ENTITY para CDATA "╢">
  12. <!ENTITY pi CDATA "╥">
  13. <!ENTITY plusmn CDATA "▒">
  14. <!ENTITY sect CDATA "º">
  15. <!ENTITY trade CDATA "TM">
  16. <!ENTITY xmlfiles PUBLIC "+//Silmaril//NONSGML The XML Files//EN" "head-xmlfiles.gif"
  17.  NDATA GIF>
  18. <!ENTITY xmllogo PUBLIC "+//Silmaril//NONSGML XML Logo//EN" "xml.gif" NDATA GIF
  19. >
  20. ]>
  21. <?ATTLINK ULINK URL URI>
  22. <ARTICLE><ARTHEADER><TITLE>Frequently Asked Questions about the
  23. Extensible Markup Language</TITLE>
  24. <TITLEABBREV>The XML FAQ
  25. <INLINEGRAPHIC FILEREF="xml.gif" FORMAT="GIF" XREFLABEL="[logo]"></INLINEGRAPHIC>&xmllogo;</TITLEABBREV>
  26. <ISSUENUM>1.1 (1 October 1997)</ISSUENUM>
  27. <BIBLIOSET><BIBLIOMISC>Maintained on behalf of the World Wide Web
  28. Consortium's XML Special Interest Group by</BIBLIOMISC>
  29. <AUTHORGROUP><EDITOR ID="faq-editor"><FIRSTNAME>Peter</FIRSTNAME>
  30. <SURNAME>Flynn</SURNAME>
  31. <AFFILIATION><ORGNAME>Silmaril Consultants</ORGNAME></AFFILIATION></EDITOR></AUTHORGROUP>
  32. <BIBLIOMISC>with the collaboration of</BIBLIOMISC>
  33. <AUTHORGROUP><OTHERCREDIT><FIRSTNAME>Terry</FIRSTNAME> <SURNAME>Allen</SURNAME>
  34. <AFFILIATION><ORGNAME></ORGNAME></AFFILIATION></OTHERCREDIT>
  35. <OTHERCREDIT><FIRSTNAME>Tom</FIRSTNAME> <SURNAME>Borgman</SURNAME>
  36. <AFFILIATION><ORGNAME>Harlequin Ltd</ORGNAME></AFFILIATION></OTHERCREDIT>
  37. <OTHERCREDIT><FIRSTNAME>Tim</FIRSTNAME> <SURNAME>Bray</SURNAME>
  38. <AFFILIATION><ORGNAME>Textuality, Inc</ORGNAME></AFFILIATION></OTHERCREDIT>
  39. <OTHERCREDIT><FIRSTNAME>Robin</FIRSTNAME> <SURNAME>Cover</SURNAME>
  40. <AFFILIATION><ORGNAME>Summer Institute of Linguistics</ORGNAME></AFFILIATION></OTHERCREDIT>
  41. <OTHERCREDIT><FIRSTNAME>Christopher</FIRSTNAME> <SURNAME>Maden</SURNAME>
  42. <AFFILIATION><ORGNAME>O'Reilly & Associates</ORGNAME></AFFILIATION></OTHERCREDIT>
  43. <OTHERCREDIT><FIRSTNAME>Eve</FIRSTNAME> <SURNAME>Maler</SURNAME>
  44. <AFFILIATION><ORGNAME>Arbortext, Inc</ORGNAME></AFFILIATION></OTHERCREDIT>
  45. <OTHERCREDIT><FIRSTNAME>Peter</FIRSTNAME> <SURNAME>Murray-Rust</SURNAME>
  46. <AFFILIATION><ORGNAME>Nottingham University</ORGNAME></AFFILIATION></OTHERCREDIT>
  47. <OTHERCREDIT><FIRSTNAME>Liam</FIRSTNAME> <SURNAME>Quin</SURNAME>
  48. <AFFILIATION><ORGNAME></ORGNAME></AFFILIATION></OTHERCREDIT>
  49. <OTHERCREDIT><FIRSTNAME>Michael</FIRSTNAME> <SURNAME>Sperberg-McQueen</SURNAME>
  50. <AFFILIATION><ORGNAME>University of Illinois at Chicago</ORGNAME></AFFILIATION></OTHERCREDIT>
  51. <OTHERCREDIT><FIRSTNAME>Joel</FIRSTNAME> <SURNAME>Weber</SURNAME>
  52. <AFFILIATION><ORGNAME>MIT</ORGNAME></AFFILIATION></OTHERCREDIT>
  53. <OTHERCREDIT><SURNAME>Murata</SURNAME> <FIRSTNAME>Makoto</FIRSTNAME><AFFILIATION>
  54. <ORGNAME>Fuji Xerox Japan</ORGNAME></AFFILIATION></OTHERCREDIT></AUTHORGROUP>
  55. <BIBLIOMISC>and many other members of the </BIBLIOMISC>
  56. <AUTHORGROUP><OTHERCREDIT><CONTRIB>XML Special Interest Group of the
  57. W3C</CONTRIB>
  58. <CONTRIB>as well as FAQ readers around the world. Please use the form
  59. at the end for any corrections or additions.</CONTRIB></OTHERCREDIT></AUTHORGROUP>
  60. <REVHISTORY ID="faq-revhist"><REVISION><REVNUMBER>0.1</REVNUMBER>
  61. <DATE>31 January 1997</DATE> <AUTHORINITIALS>PF</AUTHORINITIALS>
  62. <REVREMARK>First draft. Sample questions devised by participants.</REVREMARK></REVISION>
  63. <REVISION><REVNUMBER>0.2</REVNUMBER> <DATE>3 February 1997</DATE>
  64. <AUTHORINITIALS>PF</AUTHORINITIALS> <REVREMARK>Revised draft.
  65. Additional questions and answers.</REVREMARK></REVISION>
  66. <REVISION><REVNUMBER>0.3</REVNUMBER> <DATE>17 February 1997</DATE>
  67. <AUTHORINITIALS>PF</AUTHORINITIALS> <REVREMARK>Extensive revision
  68. following comments from the group. Changes to markup and organization.</REVREMARK></REVISION>
  69. <REVISION><REVNUMBER>0.4</REVNUMBER> <DATE>23 February 1997</DATE>
  70. <AUTHORINITIALS>PF</AUTHORINITIALS> <REVREMARK>Minor editorial changes</REVREMARK></REVISION>
  71. <REVISION><REVNUMBER>0.5</REVNUMBER> <DATE>1 April 1997</DATE>
  72. <AUTHORINITIALS>PF</AUTHORINITIALS> <REVREMARK>Added Multidoc Pro as
  73. SGML browser; question on XML math; fixed ambiguity in explanation of
  74. NETs; added JUMBO; ERB changes of March 26; more details of linking and
  75. tools; adding element declaration minimization to the forbidden list.</REVREMARK></REVISION>
  76. <REVISION><REVNUMBER>1.0</REVNUMBER> <DATE>1 May 1997</DATE>
  77. <AUTHORINITIALS>PF</AUTHORINITIALS> <REVREMARK>Added reference to ToC
  78. and printed URLs; added disclaimer at A6; combined old A11 with A5 to
  79. explain SGML/XML/HTML; clarified explanation of XML not replacing HTML
  80. at C1; added new course and conference at (new) A11; clarified B1, C4,
  81. C8; added FPI server at C12; removed examples in C13.</REVREMARK></REVISION>
  82. <REVISION REVISIONFLAG="ADDED"><REVNUMBER>1.1</REVNUMBER> <DATE>1
  83. October 1997</DATE> <AUTHORINITIALS>PF</AUTHORINITIALS> <REVREMARK>No
  84. more minimization parameters in element declarations; Parsers must now
  85. pass all white-space to the application; Everything is now
  86. case-sensitive, including all markup; A new proposal for stylesheets:
  87. XSL, which combines DSSSL and CSS in an XML format; Java[Script] and and
  88. metadata and their use in XML; Updated list of software; First XML book
  89. is published; New public mailing list XML-L</REVREMARK></REVISION></REVHISTORY>
  90. <RELEASEINFO>Paragraphs which have been added since the last version
  91. are shown prefixed with a pilcrow (¶). Paragraphs which have been
  92. changed since the last version are shown prefixed with a section sign (§).
  93. Paragraphs marked for future deletion but retained at the moment for
  94. information are prefixed with a plus/minus sign (±).</RELEASEINFO></BIBLIOSET></ARTHEADER>
  95. <ABSTRACT><TITLE>Summary</TITLE>
  96. <PARA REVISIONFLAG="CHANGED">This document contains the most
  97. frequently-asked questions (with answers) about XML, the Extensible
  98. Markup Language. It is intended as a first resource for users,
  99. developers, and the interested reader, and should not be regarded as a
  100. part of the
  101. <ULINK URL="http://www.w3.org/pub/WWW/TR/">XML Draft Specification</ULINK>.</PARA>
  102. </ABSTRACT>
  103. <NOTE><TITLE>Organization</TITLE>
  104. <PARA>The FAQ is divided into four parts: <ITEMIZEDLIST><LISTITEM><SIMPARA><LINK
  105. LINKEND="faq-general">General</LINK>,</SIMPARA></LISTITEM>
  106. <LISTITEM><SIMPARA><LINK LINKEND="faq-user">User</LINK>,</SIMPARA></LISTITEM>
  107. <LISTITEM><SIMPARA><LINK LINKEND="faq-author">Author</LINK>, and</SIMPARA>
  108. </LISTITEM>
  109. <LISTITEM><SIMPARA><LINK LINKEND="faq-developer">Developer</LINK></SIMPARA></LISTITEM></ITEMIZEDLIST>.
  110. The questions are numbered independently within each section. As the
  111. numbering may therefore change with each version, comments and
  112. suggestions should refer to the version number (see
  113. <LINK LINKEND="faq-revhist">Revision History</LINK> above) as well as
  114. the Part and Question Number.</PARA>
  115. <PARA>There is <LINK LINKEND="faq-form">a form</LINK> at the end of
  116. this document which you can use to submit bug reports, suggestions for
  117. improvement, and other comments relating to <EMPHASIS>this FAQ only</EMPHASIS>.
  118. Comments about the
  119. <ULINK URL="http://www.w3.org/pub/WWW/TR/">XML Draft Specification</ULINK>
  120. itself should be sent to the
  121. <ULINK URL="http://www.w3.org/">W3C</ULINK>.</PARA></NOTE>
  122. <NOTE><TITLE>Availability</TITLE>
  123. <PARA>The <LINK LINKEND="faq-sgml">SGML</LINK> file for use with any
  124. conforming SGML system is available at
  125. <FILENAME><ULINK URL="http://www.ucc.ie/xml/faq.sgml">http://www.ucc.ie/xml/faq.sgml</ULINK></FILENAME>
  126. (this can also be used online with SGML browsers like
  127. <PRODUCTNAME><ULINK
  128. URL="http://www.sq.com/products/panorama/panor-fe.htm">Panorama</ULINK></PRODUCTNAME>
  129. or <PRODUCTNAME><ULINK URL="http://www.citec.fi/mdp/index.html">Multidoc
  130. Pro</ULINK></PRODUCTNAME>; you can also
  131. <ULINK URL="http://www.ucc.ie/xml/xmlview.exe">download the DTD and
  132. stylesheet installation self-extractor</ULINK> for faster local access
  133. with these browsers, or the <ULINK URL="http://www.ucc.ie/xml/catalog">DTD
  134. set as ASCII files</ULINK>).</PARA>
  135. <PARA>The same text is available in an
  136. <ULINK URL="http://www.ucc.ie/xml/faq.html">HTML version</ULINK> for
  137. use with an HTML browser (<EMPHASIS>eg</EMPHASIS>
  138. <PRODUCTNAME><ULINK URL="http://www.netscape.com/">Netscape Navigator</ULINK></PRODUCTNAME>,
  139. <PRODUCTNAME><ULINK URL="http://www.microsoft.com/">Microsoft Internet
  140. Explorer</ULINK></PRODUCTNAME>,
  141. <PRODUCTNAME><ULINK URL="http://www.spry.com/">Spry Mosaic</ULINK></PRODUCTNAME>,
  142. <PRODUCTNAME><ULINK URL="http://www.ncsa.edu">NCSA Mosaic</ULINK></PRODUCTNAME>,
  143. <PRODUCTNAME><ULINK URL="http://kufacts.cc.ukans.edu/">Lynx</ULINK></PRODUCTNAME>,
  144. <PRODUCTNAME><ULINK URL="http://opera.nta.no">Opera</ULINK></PRODUCTNAME>,
  145. <PRODUCTNAME><ULINK URL="http://www.cs.indiana.edu/???">GNUscape
  146. Navigator</ULINK></PRODUCTNAME>
  147. <EMPHASIS>etc</EMPHASIS>) at <FILENAME><ULINK
  148. URL="http://www.ucc.ie/xml/">http://www.ucc.ie/xml/</ULINK></FILENAME>.</PARA>
  149. <PARA REVISIONFLAG="ADDED">An XML version will be produced once the
  150. specification has been agreed and when DTDs and browsers are available
  151. to handle it. </PARA>
  152. <PARA>A plaintext (ASCII) version is available
  153. <ULINK URL="http://www.ucc.ie/xml/faq.txt">from the Web</ULINK> and
  154. (eventually) by
  155. <ULINK URL="http://www.ucc.ie/doc/other/howtoftp.html" REMAP="ULINK">anonymous
  156. FTP</ULINK> to one of several <ULINK URL="ftp://rtfm.mit.edu/">FAQ
  157. repositories</ULINK>. The versions above are also available by
  158. <ULINK URL="mailto:webmail@www.ucc.ie">electronic mail</ULINK> to the
  159. <PRODUCTNAME><ULINK URL="http://www.ucc.ie/webmail/">WebMail</ULINK></PRODUCTNAME>
  160. server (for users with email-only access). </PARA>
  161. <PARA REVISIONFLAG="CHANGED">For printed copies there are PostScript<SUPERSCRIPT>™</SUPERSCRIPT>
  162. versions for <ULINK URL="http://www.ucc.ie/xml/faqa4.ps">A4</ULINK> and
  163. <ULINK URL="http://www.ucc.ie/xml/faqlet.ps">Letter</ULINK> sizes of
  164. paper.</PARA>
  165. <PARA>The document is also available in oil-based toner on flattened
  166. dead trees by sending
  167. $10 (or equivalent) to the
  168. <ULINK URL="mailto:silmaril@m-net.arbornet.org">editor</ULINK> (email
  169. first to check currency and postal address).</PARA>
  170. <PARA REVISIONFLAG="CHANGED">Thanks to Murata Makoto for making this
  171. document available in Japanese: see <FILENAME><ULINK
  172. URL="http://www.iijnet.or.jp/FXIS/XSoft/sgml/xml/XMLFAQ.htm">http://www.iijnet.or.jp/FXIS/XSoft/sgml/xml/XMLFAQ.htm</ULINK></FILENAME></PARA>
  173. <PARA>You can download <ULINK URL="xml.gif">the XML logo</ULINK> and
  174. an icon for your files in <ULINK URL="xml.ico">ICO</ULINK> (Microsoft
  175. Windows) or
  176. <ULINK URL="xml.xpm">XBM</ULINK> (X Window system) format (<ULINK
  177. URL="mailto:pflynn@imbolc.ucc.ie">volunteer wanted</ULINK> to do a Mac
  178. icon).</PARA></NOTE>
  179. <SECT1 ID="faq-general"><TITLE>General questions</TITLE>
  180. <SECT2 ID="faq-acro"><TITLE>What is XML?</TITLE>
  181. <PARA>XML is the <WORDASWORD>Extensible Markup Language</WORDASWORD>
  182. (extensible because it is not a fixed format like
  183. <LINK LINKEND="faq-html">HTML</LINK>).  It is designed to enable the
  184. use of <LINK LINKEND="faq-sgml">SGML</LINK> on the World-Wide Web.</PARA>
  185. <PARA REVISIONFLAG="CHANGED">It's actually slightly misnamed: XML
  186. itself is not a single markup language: it's a metalanguage to let
  187. you design your own markup language. A regular markup language defines a
  188. way to describe information in a certain class of documents (<FOREIGNPHRASE>eg</FOREIGNPHRASE>
  189. HTML). XML lets you define your own customized markup languages for many
  190. classes of document. It can do this because it's done in SGML, the
  191. international standard metalanguage for markup languages.</PARA></SECT2>
  192. <SECT2 ID="faq-def"><TITLE>What is XML for?</TITLE>
  193. <PARA REVISIONFLAG="CHANGED">XML is designed <QUOTE>to make it easy
  194. and straightforward to use <LINK LINKEND="faq-sgml">SGML</LINK> on the
  195. Web: easy to define document types, easy to author and manage
  196. SGML-defined documents, and easy to transmit and share them across the
  197. Web.</QUOTE></PARA>
  198. <PARA>It defines <QUOTE>an extremely simple dialect of SGML which is
  199. completely described in the
  200. <LINK LINKEND="faq-spec">Draft XML Specification</LINK>. The goal is to
  201. enable generic SGML to be served, received, and processed on the Web in
  202. the way that is now possible with <LINK LINKEND="faq-html">HTML</LINK>.</QUOTE></PARA>
  203. <PARA><QUOTE>For this reason, XML has been designed for ease of
  204. implementation, and for interoperability with both SGML and HTML</QUOTE>
  205. [quotes from <LINK LINKEND="faq-spec">the XML spec</LINK>].</PARA></SECT2>
  206. <SECT2 ID="faq-sgml"><TITLE>What is SGML?</TITLE>
  207. <PARA REVISIONFLAG="CHANGED">SGML is the
  208. <ULINK URL="http://www.sil.org/sgml/sgml.html">Standard Generalized
  209. Markup Language</ULINK> (<ULINK URL="http://www.iso.ch/">ISO 8879</ULINK>),
  210. the international standard for defining descriptions of the structure
  211. and content of different types of electronic document. There is an SGML
  212. FAQ at <ULINK URL="http://www.infosys.utas.edu.au/info/sgmlfaq.txt"><SYSTEMITEM>http://www.infosys.utas.edu.au/info/sgmlfaq.txt</SYSTEMITEM></ULINK>.</PARA></SECT2>
  213. <SECT2 ID="faq-html"><TITLE>What is HTML?</TITLE>
  214. <PARA REVISIONFLAG="CHANGED">HTML is the
  215. <ULINK URL="http://www.w3.org/">HyperText Markup Language</ULINK> (<ULINK
  216. URL="http://ds.internic.net/rfc/rfc1866.txt">RFC 1866</ULINK>), a
  217. specific application of <LINK LINKEND="faq-sgml">SGML</LINK> used in
  218. the <ULINK URL="http://www.w3.org">World-Wide Web</ULINK>.</PARA></SECT2>
  219. <SECT2 ID="faq-same"><TITLE>Aren't XML, SGML, and HTML all the
  220. same thing?</TITLE>
  221. <PARA REVISIONFLAG="CHANGED">Not quite. <LINK LINKEND="faq-sgml">SGML</LINK>
  222. is the <WORDASWORD>mother tongue</WORDASWORD>, used for describing
  223. thousands of different document types in many fields of human activity,
  224. from transcriptions of ancient Sumerian scrolls to the technical
  225. documentation for stealth bombers, and from patients' clinical
  226. records to musical notation.</PARA>
  227. <PARA REVISIONFLAG="CHANGED"><LINK LINKEND="faq-sgml">HTML</LINK> is
  228. just one of these document types, the one most frequently used in the
  229. <ULINK URL="http://www.w3.org/">Web</ULINK>. It defines a single, fixed
  230. type of document with markup that lets you describe a common class of
  231. simple office-style report, with headings, paragraphs, lists,
  232. illustrations,
  233. <FOREIGNPHRASE>etc</FOREIGNPHRASE>, and some provision for hypertext
  234. and multimedia.</PARA>
  235. <PARA>XML is an abbreviated version of SGML, to make it easier for you
  236. to define your own document types, and to make it easier for programmers
  237. to write programs to handle them. It omits the more complex and
  238. less-used parts of SGML in return for the benefits of being easier to
  239. write applications, easier to understand, and more suited to delivery
  240. and interoperability over the Web. But it is still SGML, and XML files
  241. may still be parsed and validated the same as any other SGML file (see
  242. the question on <LINK LINKEND="faq-xmlsoft">XML software</LINK>).</PARA>
  243. <PARA>Programmers may find it useful to think of XML as being SGML--
  244. rather than HTML++.</PARA></SECT2>
  245. <SECT2 ID="faq-owns"><TITLE>Who is responsible for XML?</TITLE>
  246. <PARA REVISIONFLAG="CHANGED">XML is a project of the
  247. <ULINK URL="http://www.w3.org/pub/WWW/MarkUp/SGML/Activity">World-Wide
  248. Web Consortium (W3C)</ULINK>, and the development of the specification
  249. is being supervised by their XML Working Group. A Special Interest Group
  250. of co-opted contributors and experts from various fields contributes
  251. comments and reviews by email.</PARA>
  252. <PARA>XML is a public format: it is not a proprietary development of
  253. any company.</PARA></SECT2>
  254. <SECT2 ID="faq-import"><TITLE>Why is XML such an important
  255. development?</TITLE>
  256. <PARA REVISIONFLAG="CHANGED">It removes two constraints which are
  257. holding back Web developments:</PARA>
  258. <ORDEREDLIST REVISIONFLAG="ADDED"><LISTITEM><PARA>dependence on a
  259. single, inflexible document type (<LINK LINKEND="faq-html">HTML</LINK>);</PARA></LISTITEM>
  260. <LISTITEM><PARA>the complexity of full <LINK LINKEND="faq-sgml">SGML</LINK>,
  261. whose syntax allows many powerful but hard-to-program options.</PARA></LISTITEM></ORDEREDLIST>
  262. <PARA>XML simplifies the levels of optionality in SGML, and allows the
  263. development of user-defined document types on the Web.</PARA>
  264. </SECT2>
  265. <SECT2 ID="faq-howto"><TITLE>How does XML make SGML simpler and still
  266. let you define your own document types?</TITLE>
  267. <PARA REVISIONFLAG="CHANGED">To make SGML simpler, XML redefines some
  268. of
  269. <LINK LINKEND="faq-sgml">SGML</LINK>'s internal values and
  270. parameters, and removes a large number of the more complex and sometimes
  271. less-used features which made it harder to write processing programs 
  272. (see Appendix A of <LINK LINKEND="faq-spec">the XML specification</LINK>).</PARA>
  273. <PARA REVISIONFLAG="CHANGED">But it retains all of SGML's
  274. structural abilities which let you define your own document type. It
  275. also introduces a new class of document which does not require you to
  276. use a predefined document type. See the questions about
  277. <LINK LINKEND="faq-validwf"><QUOTE>valid</QUOTE> and <QUOTE>well-formed</QUOTE>
  278. documents</LINK>, and
  279. <LINK LINKEND="faq-selfdef">how to define your own document types</LINK>
  280. in the <LINK LINKEND="faq-developer">Developers' Section</LINK>.</PARA></SECT2>
  281. <SECT2 ID="faq-extend"><TITLE>Why not just carry on extending HTML?</TITLE>
  282. <PARA><LINK LINKEND="faq-html">HTML</LINK> is already overburdened
  283. with dozens of interesting but often incompatible inventions from
  284. different manufacturers, because it provides only one way of describing
  285. your information.</PARA>
  286. <PARA>XML will allow groups of people or organizations to create their
  287. own customized markup languages for exchanging information in their
  288. domain (music, chemistry, electronics, hill-walking, finance, surfing,
  289. linguistics, knitting, history, engineering, rabbit-keeping
  290. <FOREIGNPHRASE>etc</FOREIGNPHRASE>).</PARA>
  291. <PARA>HTML is at the limit of its usefulness as a way of describing
  292. information, and while it will continue to play an important role for
  293. the content it currently represents, many new applications require a
  294. more robust and flexible infrastructure. </PARA></SECT2>
  295. <SECT2 ID="faq-word"><TITLE>Why do we need all this SGML stuff? Why
  296. not just use <PRODUCTNAME>Word</PRODUCTNAME> or <PRODUCTNAME>Notes</PRODUCTNAME>?</TITLE>
  297. <PARA>Information on a network which connects many different types of
  298. computer has to be usable on all of them. Public information cannot
  299. afford to be restricted to one make or model or manufacturer, or to cede
  300. control of its data format to private hands. It is also helpful for such
  301. information to be in a form that can be reused in many different ways,
  302. as this can minimize wasted time and effort.</PARA>
  303. <PARA REVISIONFLAG="CHANGED"><LINK LINKEND="faq-sgml">SGML</LINK> is
  304. the international standard which is used for defining this kind of
  305. application, but those who need an alternative based on different
  306. software are entirely free to implement similar services using such a
  307. system, especially if they are for private use. </PARA> </SECT2>
  308. <SECT2 ID="faq-more"><TITLE>Where do I find more information about
  309. XML?</TITLE>
  310. <PARA>Online, there's the
  311. <LINK LINKEND="faq-spec">XML Draft Specification</LINK> and ancillary
  312. documentation available from the W3C; an
  313. <ULINK URL="http://www.sil.org/sgml/xml.html">XML section</ULINK> with
  314. an extensive list of online reference material in Robin Cover's
  315. <ULINK URL="http://www.sil.org/sgml/sgml.html">SGML pages</ULINK>; and
  316. a <ULINK URL="http://www.textuality.com/xml/">summary</ULINK> and
  317. <ULINK URL="http://www.textuality.com/xml/faq.html">condensed FAQ</ULINK>
  318. from Tim Bray.</PARA>
  319. <PARA REVISIONFLAG="ADDED">The items listed below are the ones the
  320. maintainer has been able to discover: please mail
  321. <ULINK URL="mailto:pflynn@imbolc.ucc.ie">me</ULINK> if you come across
  322. others. Old items are retained here for reference at the moment- they
  323. will eventually expire.</PARA>
  324. <ITEMIZEDLIST><LISTITEM><PARA REVISIONFLAG="ADDED">Eve Maler is
  325. giving a one-day tutorial (working title <CITETITLE>XML for the
  326. SGML-Knowledgeable</CITETITLE>) at the <ULINK URL="http://www.gca.org/">GCA</ULINK>
  327. offices on 14 November 1997.  This will also be given at SGML/XML '97
  328. (see below).</PARA></LISTITEM>
  329. <LISTITEM><PARA REVISIONFLAG="CHANGED">Technology Appraisals Ltd are
  330. holding a seminar in London, England, on <CITETITLE>XML ready for prime
  331. time?</CITETITLE> on 24-25 November 1997.  Details from
  332. <ULINK URL="mailto:techapp@cix.compulink.co.uk">Susan Dennington</ULINK>
  333. at TAL.</PARA></LISTITEM>
  334. <LISTITEM><PARA>Peter Murray-Rust is preparing an
  335. <ULINK
  336. URL="http://www.vsms.nottingham.ac.uk/vsms/java/advert/advert.txt">XML/Java
  337. Virtual Course</ULINK> entitled <CITETITLE><ULINK
  338. URL="http://www.vsms.nottingtham.ac.uk/vsms/java">Scientific
  339. Information Components using Java and XML</ULINK></CITETITLE>  Details
  340. are at <FILENAME><ULINK
  341. URL="http://www.vsms.nottingham.ac.uk/vsms/java/advert/advert.txt">http://www.vsms.nottingham.ac.uk/vsms/java/advert/advert.txt</ULINK></FILENAME>.
  342. The XML will be very low-level (<FOREIGNPHRASE>ie</FOREIGNPHRASE>
  343. <LINK LINKEND="faq-wf">well-formed</LINK> only, balanced tags, and
  344. quoted attributes; no DTDs, entities, marked sections, catalogs, links,
  345. etc.) It concentrates on building element trees (including those from
  346. legacy files).</PARA></LISTITEM>
  347. <LISTITEM><PARA REVISIONFLAG="CHANGED">The annual SGML Conference run
  348. by the Graphic Communications Association has been renamed the SGML/XML
  349. Conference. SGML/XML '97 will be held in Washington DC, 8-11 December
  350. 1997 (further details on
  351. <ULINK URL="http://www.gca.org/">the GCA's Web site</ULINK>).</PARA></LISTITEM></ITEMIZEDLIST>
  352.     
  353. <PARA REVISIONFLAG="CHANGED">There is a list of articles on XML which
  354. have appeared in the computing press: details are being kept in Robin
  355. Cover's
  356. <ULINK URL="http://www.sil.org/sgml/sgml.html">SGML pages</ULINK>.</PARA>
  357. <PARA REVISIONFLAG="CHANGED">The first XML books are starting to
  358. appear: </PARA>
  359. <BIBLIOGRAPHY><BIBLIOENTRY><AUTHOR><SURNAME>Light</SURNAME><FIRSTNAME>Richard</FIRSTNAME></AUTHOR>
  360. <TITLE><ULINK URL="http://www.mcp.com/info/1-57521/1-57521-334-6/">Presenting
  361. XML</ULINK></TITLE><PUBLISHERNAME>Sams.Net</PUBLISHERNAME><ISBN>1-27221-334-6</ISBN>
  362. <PAGENUMS>414</PAGENUMS><ADDRESS><OTHERADDR>http://www.mcp.com/info/1-57521/1-57521-334-6/</OTHERADDR></ADDRESS>
  363. <RELEASEINFO>With contributions from Simon North and Charles Allen, and
  364. a foreword from Tim Bray</RELEASEINFO></BIBLIOENTRY></BIBLIOGRAPHY></SECT2>
  365. <SECT2 ID="faq-mailinglist"><TITLE>Where can I discuss implementation
  366. and development of XML?</TITLE>
  367. <PARA>There is a mailing list called <FILENAME>xml-dev</FILENAME> for
  368. those committed to developing components for XML. You can subscribe by
  369. sending a 1-line mail message to
  370. <FILENAME><ULINK URL="mailto:majordomo@ic.ac.uk">majordomo@ic.ac.uk</ULINK></FILENAME>
  371. saying:<COMMAND>subscribe xml-dev <REPLACEABLE>yourname@yoursite</REPLACEABLE></COMMAND>
  372. The list is hypermailed for online reference at <FILENAME><ULINK
  373. URL="http://www.lists.ic.ac.uk/hypermail/xml-dev/">http://www.lists.ic.ac.uk/hypermail/xml-dev/</ULINK></FILENAME>.</PARA>
  374. <PARA>Note that this list is for those people actively involved in
  375. developing  resources for XML. It is <EMPHASIS>not</EMPHASIS> for
  376. general information about XML (see this FAQ and
  377. <LINK LINKEND="faq-more">other sources</LINK>) or for general
  378. discussion about SGML implementation and resources (see <FILENAME><ULINK
  379. URL="news:comp.text.sgml">comp.text.sgml</ULINK></FILENAME>).</PARA>
  380. <PARA>There is a general-purpose mailing list <FILENAME>XML-L</FILENAME>
  381. for public discussions: to subscribe, send a 1-line mail message to
  382. <FILENAME><ULINK URL="mailto:listserv@listserv.hea.ie">LISTSERV@listserv.hea.ie</ULINK></FILENAME>
  383. saying<COMMAND>subscribe XML-L <REPLACEABLE>forename</REPLACEABLE> <REPLACEABLE>surname</REPLACEABLE></COMMAND>(substituting
  384. your own forename and surname). To unsubscribe, send a 1-line message to
  385. the same address saying<COMMAND>unsubscribe XML-L</COMMAND>Please Read
  386. The Fine Documentation which you will be sent when you join either
  387. mailing list, as it contains important information, particularly about
  388. what to do when your email address changes.</PARA></SECT2></SECT1>
  389. <SECT1 ID="faq-user"><TITLE>Users of SGML (including browsers of HTML)</TITLE>
  390. <SECT2 ID="faq-usexml"><TITLE>Do I have to do anything to use XML?</TITLE>
  391. <PARA REVISIONFLAG="CHANGED">Not yet. XML is still being developed, but
  392. there are already <LINK LINKEND="faq-browser">some pilot browsers</LINK>,
  393. so you can experiment with them. When the specification is complete,
  394. more software should start to appear, and you may be able to download
  395. browsers and use them to browse the Web much as you do with current
  396. applications.</PARA>
  397. <PARA REVISIONFLAG="CHANGED">You can use the pilot browsers to look at
  398. some of the emerging XML material, such as
  399. <ULINK
  400. URL="http://sunsite.unc.edu/pub/sun-info/standards/dsssl/egs/21_shaks/">Jon
  401. Bosak's Shakespeare plays</ULINK> and the molecular experiments of
  402. the <ULINK URL="http://www.venus.co.uk/omf/cml/">Chemical Markup
  403. Language (CML)</ULINK>. There are some more example sources listed at
  404. <ULINK URL="http://www.sil.org/sgml/xml.html#examples"><SYSTEMITEM>http://www.sil.org/sgml/xml.html#examples</SYSTEMITEM></ULINK>.</PARA>
  405. <PARA>If you want to start preparations for writing your own XML, see
  406. <LINK LINKEND="faq-author">the questions in the Authors' Section</LINK>.</PARA></SECT2>
  407. <SECT2 ID="faq-xmloffer"><TITLE>Why should I use XML instead of HTML?</TITLE>
  408. <ITEMIZEDLIST REVISIONFLAG="CHANGED"><LISTITEM><PARA>Authors and
  409. providers can
  410. <LINK LINKEND="faq-doctype">design their own document types</LINK>
  411. using XML, instead of being stuck with HTML. Document types can be
  412. explicitly tailored to an audience, so the cumbersome fudging that has
  413. to take place with <LINK LINKEND="faq-html">HTML</LINK> to achieve
  414. special effects should become a thing of the past: authors and designers
  415. will be free to invent their own markup elements;</PARA></LISTITEM>
  416. <LISTITEM><PARA>Information content can be richer and easier to use,
  417. because the
  418. <LINK LINKEND="faq-hypertext">hypertext linking abilities of XML</LINK>
  419. are much greater than those of HTML.</PARA>
  420. </LISTITEM>
  421. <LISTITEM><PARA>XML can provide more and better facilities for browser
  422. presentation and  performance;</PARA></LISTITEM>
  423. <LISTITEM><PARA>It removes many of the underlying complexities of SGML
  424. in favor of a more flexible model, so writing programs to handle XML
  425. will be much easier than doing the same for full SGML.</PARA>
  426. </LISTITEM>
  427. <LISTITEM><PARA>Information will be more accessible and reusable,
  428. because the more flexible markup of XML can be used by any XML software
  429. instead of being restricted to specific manufacturers as has become the
  430. case with HTML.</PARA>
  431. </LISTITEM>
  432. <LISTITEM><PARA><LINK LINKEND="faq-valid">Valid XML files</LINK> are
  433. kosher SGML, so they can be used outside the Web as well, in an SGML
  434. environment (once the spec is stable and SGML software adopts it).
  435. </PARA></LISTITEM></ITEMIZEDLIST></SECT2>
  436. <SECT2 ID="faq-browser"><TITLE>Where can I get an XML browser?</TITLE>
  437. <PARA>There are already some browsers emerging (see below), but the
  438. <LINK LINKEND="faq-spec">XML specification</LINK> is still under
  439. development. As with <LINK LINKEND="faq-html">HTML</LINK>, there won't
  440. be just one browser, but many. However, because the potential number of
  441. different XML applications is not limited, no single browser should be
  442. expected to handle 100% of everything.</PARA>
  443. <PARA>The generic parts of XML (<FOREIGNPHRASE>eg</FOREIGNPHRASE>
  444. parsing, tree management, searching, formatting, <FOREIGNPHRASE>etc</FOREIGNPHRASE>)
  445. are being combined into general-purpose browser libraries or toolkits to
  446. make it easier for <LINK LINKEND="faq-developer">developers</LINK> to
  447. take a consistent line when writing XML applications. Such applications
  448. could then be customized by adding semantics for specific markets, or
  449. using languages like
  450. <PRODUCTNAME REMAP="ULINK" XREFLABEL="http://www.sun.com/">Java</PRODUCTNAME>
  451. to develop plugins for generic browsers and have the specialist modules
  452. delivered transparently over the Web.</PARA>
  453. <PARA>Netscape and Microsoft are both now developing XML facilities:
  454. some development work at Microsoft can be seen at <FILENAME><ULINK
  455. URL="http://www.microsoft.com/msdn/sdk/inetsdk/help/inet5017.htm">http://www.microsoft.com/msdn/sdk/inetsdk/help/inet5017.htm</ULINK>.</FILENAME></PARA>
  456. <ITEMIZEDLIST><LISTITEM><PARA><PRODUCTNAME>JUMBO</PRODUCTNAME> is a
  457. prototype GUI browser/editor/search/rendering tool for the output of XML
  458. parsers, developed as part of the project to produce
  459. <LINK LINKEND="faq-usexml">CML</LINK>.  It displays the abstract
  460. document tree which can be queried and edited in limited fashion. 
  461. <PRODUCTNAME>Java</PRODUCTNAME> classes can be dynamically loaded for
  462. the  current DTD and allow complex transformation and rendering.  The
  463. emphasis is on the import of legacy files into structured documents, and
  464. the management of  non-textual data, including common data structures
  465. (trees, tables, lists,
  466. <FOREIGNPHRASE>etc</FOREIGNPHRASE>). Currently <PRODUCTNAME>JUMBO</PRODUCTNAME>
  467. parses a subset of XML files (<FOREIGNPHRASE>ie</FOREIGNPHRASE> only
  468. elements and their attributes) and will be grafted onto other parsers as
  469. soon as possible.  The software and a wide range of XML demo files,
  470. including Jon Bosak's PLAY, can be downloaded for any Java-enabled 
  471. browser from
  472. <FILENAME><ULINK URL="http://www.venus.co.uk/omf/cml/">http://www.venus.co.uk/omf/cml/</ULINK></FILENAME></PARA></LISTITEM>
  473. <LISTITEM><PARA>The <PRODUCTNAME>DynaWeb</PRODUCTNAME> server from
  474. Inso Corporation (formerly EBT) can serve other forms of SGML translated
  475. on-the-fly to XML (demonstrated at the GCA's XML Conference in San
  476. Diego, March 1997). Sun Microsystems are currently serving XML using
  477. this software on an experimental basis (message to the
  478. <LINK LINKEND="faq-mailinglist"><FILENAME>xml-dev</FILENAME> mailing
  479. list</LINK> dated Mon, 17 Mar 1997 16:49:42 -0800 from Jon Bosak).</PARA></LISTITEM>
  480. <LISTITEM><PARA>Microsoft are defining their proposed Channel
  481. Definition Format (CDF) as an application of XML, but no DTD is
  482. available yet. Their Open Software Description (OSD; endorsed by
  483. CyberMedia, InstallShield, LANovation, Lotus, and Netscape) is also
  484. proposed as an XML application. For further information on these
  485. formats, contact <ULINK URL="http://www.microsoft.com/">Microsoft</ULINK></PARA></LISTITEM></ITEMIZEDLIST>
  486. <PARA>See also the notes on software for <LINK LINKEND="faq-xmlsoft">authors</LINK>
  487. and <LINK LINKEND="faq-api">developers</LINK>, and the more detailed
  488. list at <FILENAME><ULINK URL="http://www.sil.org/sgml/xml.html">http://www.sil.org/sgml/xml.html</ULINK></FILENAME>.</PARA></SECT2>
  489. <SECT2 ID="faq-switch"><TITLE>Do I have to switch from SGML or HTML to
  490. XML?</TITLE>
  491. <PARA>No, existing <LINK LINKEND="faq-sgml">SGML</LINK> and
  492. <LINK LINKEND="faq-html">HTML</LINK> applications software will
  493. continue to work with existing files. But as with any enhanced facility,
  494. if you want to view or download and use XML files, you will need to add
  495. XML-aware software when it becomes available.</PARA></SECT2></SECT1>
  496. <SECT1 ID="faq-author"><TITLE>Authors of SGML (including writers of
  497. HTML)</TITLE>
  498. <NOTE><PARA>Authors should also read the
  499. <LINK LINKEND="faq-developer">Developers' Section</LINK>, which
  500. contains further information about the internals of XML files.</PARA></NOTE>
  501. <SECT2 ID="faq-replace"><TITLE>Does XML replace HTML?</TITLE>
  502. <PARA REVISIONFLAG="CHANGED">No, XML itself does not replace
  503. <LINK LINKEND="faq-html">HTML</LINK>: instead, it provides an
  504. alternative by allowing you to define your own set of markup elements.
  505. HTML is expected to remain in common use for some time to come, and DTDs
  506. will be available in XML versions as well as the original SGML versions.
  507. XML is designed to make the writing of DTDs much simpler than with full
  508. <LINK LINKEND="faq-sgml">SGML</LINK>.</PARA>
  509. <PARA REVISIONFLAG="CHANGED">Work is going on to produce XML versions
  510. of HTML and other popular DTDs, but this may not take off until the
  511. specification for XML 1.0 is complete (targeted November 1997). Watch
  512. <SYSTEMITEM>comp.text.sgml</SYSTEMITEM> and <SYSTEMITEM>XML-L</SYSTEMITEM>
  513. for announcements.</PARA></SECT2>
  514. <SECT2 ID="faq-xmldoc"><TITLE>What does an XML document look like
  515. inside?</TITLE>
  516. <PARA>The basic structure is very similar to most other applications of
  517. SGML, including HTML. XML documents can be very simple, with no document
  518. type declaration, and straightforward nested markup of your own design:</PARA>
  519. <PROGRAMLISTING><LINK LINKEND="faq-rmdpi"><?XML version="1.0" RMD="NONE"?></LINK>
  520. <conversation>
  521.   <greeting><PROPERTY>Hello, world!</PROPERTY></greeting>
  522.   <response><PROPERTY>Stop the planet, I want to get off!</PROPERTY></response>
  523. </conversation></PROGRAMLISTING>
  524. <PARA>Or they can be more complicated, with a DTD specified, and maybe
  525. an internal subset, and a more complex structure:</PARA>
  526. <PROGRAMLISTING><?XML version="1.0" <LINK LINKEND="faq-rmd">RMD</LINK>="ALL" encoding="UTF-8"?>
  527. <!<LINK LINKEND="faq-doctype">DOCTYPE</LINK> titlepage SYSTEM "typo.dtd" 
  528. [<!ENTITY % active.links "INCLUDE">]>
  529. <titlepage>
  530.   <white-space type="vertical" amount="36"/>
  531.   <title font="Baskerville" size="24/30" 
  532.          alignment="centered"><PROPERTY>Hello, world!</PROPERTY></title>
  533.   <white-space type="vertical" amount="12"/>
  534.   <!-- In some copies the following decoration is 
  535.         hand-colored, presumably by the author -->
  536.   <image location="http://www.foo.bar/fleuron.eps" type="URL" alignment="centered"/>
  537.   <white-space type="vertical" amount="24"/>
  538.   <author font="Baskerville" size="18/22" style="italic"><PROPERTY
  539. MOREINFO="REFENTRY">Munde Salutem</PROPERTY></author>
  540. </titlepage></PROGRAMLISTING>
  541. <PARA>Or they can be anywhere between: a lot will depend on how you
  542. want to define your document type (or whose you use) and what it will be
  543. used for. See the question on <LINK LINKEND="faq-validwf">valid and
  544. well-formed files</LINK>.</PARA></SECT2>
  545. <SECT2 ID="faq-space"><TITLE>How does XML handle white-space in my
  546. documents?</TITLE>
  547. <WARNING><PARA>This section contains a major change from the previous
  548. version.</PARA></WARNING>
  549. <PARA REVISIONFLAG="CHANGED">The SGML rules regarding white-space have
  550. been changed for XML, so <EMPHASIS>all</EMPHASIS> white-space,
  551. including linebreaks, TAB characters, and regular spaces, is passed by
  552. the parser <EMPHASIS>unchanged</EMPHASIS> to the application (browser,
  553. formatter, viewer,
  554. <FOREIGNPHRASE>etc</FOREIGNPHRASE>). This means:
  555. </PARA>
  556. <ITEMIZEDLIST REVISIONFLAG="ADDED"><LISTITEM><PARA><WORDASWORD>insignificant</WORDASWORD>
  557. white-space between structural elements (those which can contain only
  558. other elements, not text data,) <EMPHASIS>will now</EMPHASIS> get
  559. passed to the application (under <WORDASWORD>full</WORDASWORD> SGML
  560. this white-space is suppressed);</PARA></LISTITEM>
  561. <LISTITEM><PARA><WORDASWORD>significant</WORDASWORD> white-space
  562. within elements which can contain text and markup mixed together (<FOREIGNPHRASE>ie</FOREIGNPHRASE>
  563. paragraphs) will also get passed to the application as before.</PARA></LISTITEM></ITEMIZEDLIST>
  564. <PROGRAMLISTING><chapter>
  565.   <section>
  566.     <title>
  567.       My title for Section 
  568. 1.
  569.     </title>
  570.     <para>
  571.       ...
  572.     </para>
  573.   </section>
  574. </chapter></PROGRAMLISTING>
  575. <PARA REVISIONFLAG="CHANGED">The parser must, however, still inform the
  576. application what white-space occurred in element content, if known. 
  577. (Users of <QUOTE>full</QUOTE> SGML may recognize that this information
  578. was not in the <ULINK URL="http://www.sil.org/sgml/WG8-n931a.html">ESIS</ULINK>,
  579. but it <EMPHASIS>is</EMPHASIS> in the
  580. <ULINK URL="http://www.sil.org/sgml/topics.html#groves">grove</ULINK>.)
  581. In the above example, the application will receive all the
  582. pretty-printing linebreaks, TABs, and spaces between the elements as
  583. well as those embedded in the section title. It is the function of the
  584. application (browser, formatter, viewer,
  585. <FOREIGNPHRASE>etc</FOREIGNPHRASE>) to decide which type of white-space
  586. to discard and which to retain.</PARA></SECT2>
  587. <SECT2 ID="faq-case"><TITLE>Which parts of an XML document are
  588. case-sensitive?</TITLE>
  589. <WARNING><PARA>This section contains a major change from the previous
  590. version.</PARA></WARNING>
  591. <PARA REVISIONFLAG="CHANGED">All of an XML file is case-sensitive, both
  592. markup <EMPHASIS>and</EMPHASIS> text. This is significantly different
  593. from HTML and many other SGML document types.</PARA>
  594. <ITEMIZEDLIST REVISIONFLAG="CHANGED"><LISTITEM><PARA>Element names
  595. (used in start-tags and end-tags) are case-sensitive: you must stick
  596. with whatever combination of upper- or lower-case was used to define
  597. them in the <LINK LINKEND="faq-dtd">DTD</LINK> (for valid files);</PARA></LISTITEM>
  598. <LISTITEM><PARA>For well-formed files with no DTD, the <EMPHASIS>first
  599. occurrence</EMPHASIS> of an element name defines the casing. So you can't
  600. say <SGMLTAG CLASS="STARTTAG">BODY</SGMLTAG>…<SGMLTAG
  601. CLASS="ENDTAG">body</SGMLTAG>: upper- and lower-case must match; thus
  602. <SGMLTAG CLASS="ENDTAG" LANG="xml" REMAP="empty">IMG</SGMLTAG> and
  603. <SGMLTAG CLASS="ENDTAG" LANG="xml" REMAP="empty">img</SGMLTAG> are
  604. <EMPHASIS>two different elements</EMPHASIS>;</PARA></LISTITEM>
  605. <LISTITEM><PARA>Attribute names are also case-sensitive, on a
  606. per-element basis: for example
  607. <SGMLTAG CLASS="ENDTAG" LANG="xml" REMAP="empty">PIC width="7in"</SGMLTAG>
  608. and <SGMLTAG CLASS="ENDTAG" LANG="xml" REMAP="empty">PIC WIDTH="6in"</SGMLTAG>
  609. in the same file exhibit two <EMPHASIS>separate</EMPHASIS> attributes,
  610. because the different casings of <SGMLTAG CLASS="ATTRIBUTE">width</SGMLTAG>
  611. and <SGMLTAG CLASS="ATTRIBUTE">WIDTH</SGMLTAG> distinguish them;</PARA>
  612. </LISTITEM>
  613. <LISTITEM><PARA>Attribute values are also case-sensitive. Character
  614. data values (<FOREIGNPHRASE>eg</FOREIGNPHRASE>
  615. <SGMLTAG CLASS="ATTRIBUTE">HRef="MyFile.SGML"</SGMLTAG>) are exactly as
  616. before, but ID and IDREF attributes are case-sensitive and no longer get
  617. folded to uppercase for comparisons;</PARA></LISTITEM>
  618. <LISTITEM><PARA>All entity names (<SGMLTAG CLASS="GENENTITY">Aacute</SGMLTAG>),
  619. and your data content (your text), are case-sensitive, exactly as
  620. before.</PARA></LISTITEM></ITEMIZEDLIST></SECT2> 
  621. <SECT2 ID="faq-exist"><TITLE>How can I make my existing HTML files
  622. work in XML?</TITLE>
  623. <PARA REVISIONFLAG="CHANGED">All XML documents must be
  624. <LINK LINKEND="faq-wf">well-formed</LINK> (see below), but a DTD is
  625. optional. HTML files currently have to be DTDless in XML, because there
  626. is no XML version of the HTML DTD yet. Many HTML authoring tools already
  627. produce almost (but not quite) <EMPHASIS>well-formed</EMPHASIS> XML.</PARA>
  628. <PARA REVISIONFLAG="CHANGED">If you have created your
  629. <LINK LINKEND="faq-html">HTML</LINK> files conforming to one of the
  630. several HTML <LINK LINKEND="faq-dtd">Document Type Definitions (DTDs)</LINK>,
  631. and they validate OK, then they can be converted as follows:</PARA>
  632. <ITEMIZEDLIST REVISIONFLAG="ADDED"><LISTITEM><PARA>replace the
  633. <SGMLTAG>DOCTYPE</SGMLTAG> declaration and any internal subset
  634. (basically everything within the first set of angled brackets <SGMLTAG><!DOCTYPE
  635. HTML...></SGMLTAG>) with the XML Declaration <SYSTEMITEM><?XML
  636. version="1.0" RMD="NONE"?></SYSTEMITEM></PARA></LISTITEM>
  637. <LISTITEM><PARA>change any <SGMLTAG>EMPTY</SGMLTAG> elements (<FOREIGNPHRASE>eg</FOREIGNPHRASE>
  638. <SGMLTAG CLASS="ELEMENT">ISINDEX</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">BASE</SGMLTAG>,
  639. <SGMLTAG CLASS="ELEMENT">META</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">LINK</SGMLTAG>,
  640. <SGMLTAG CLASS="ELEMENT">NEXTID</SGMLTAG> and <SGMLTAG CLASS="ELEMENT">RANGE</SGMLTAG>
  641. in the header, and <SGMLTAG CLASS="ELEMENT">IMG</SGMLTAG>,
  642. <SGMLTAG CLASS="ELEMENT">BR</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">HR</SGMLTAG>,
  643. <SGMLTAG CLASS="ELEMENT">FRAME</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">WBR</SGMLTAG>,
  644. <SGMLTAG CLASS="ELEMENT">BASEFONT</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">SPACER</SGMLTAG>,
  645. <SGMLTAG CLASS="ELEMENT">AUDIOSCOPE</SGMLTAG>,
  646. <SGMLTAG CLASS="ELEMENT">AREA</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">PARAM</SGMLTAG>,
  647. <SGMLTAG CLASS="ELEMENT">KEYGEN</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">COL</SGMLTAG>,
  648. <SGMLTAG CLASS="ELEMENT">LIMITTEXT</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">SPOT</SGMLTAG>,
  649. <SGMLTAG CLASS="ELEMENT">TAB</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">OVER</SGMLTAG>,
  650. <SGMLTAG CLASS="ELEMENT">RIGHT</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">LEFT</SGMLTAG>,
  651. <SGMLTAG CLASS="ELEMENT">CHOOSE</SGMLTAG>, <SGMLTAG CLASS="ELEMENT">ATOP</SGMLTAG>,
  652. and <SGMLTAG CLASS="ELEMENT">OF</SGMLTAG> in the body) so that they end
  653. with <QUOTE><SYSTEMITEM>/></SYSTEMITEM></QUOTE>, for example
  654. <SGMLTAG CLASS="ENDTAG" LANG="xml" REMAP="empty">IMG SRC="mypic.gif"
  655. alt="Picture"</SGMLTAG></PARA></LISTITEM>
  656. <LISTITEM><PARA>ensure there are correctly-matched explicit end-tags
  657. for all non-empty elements; <FOREIGNPHRASE>eg</FOREIGNPHRASE> every
  658. <SGMLTAG CLASS="STARTTAG">P</SGMLTAG> must have a
  659. <SGMLTAG CLASS="ENDTAG">P</SGMLTAG>, <FOREIGNPHRASE>etc</FOREIGNPHRASE>:
  660. this can be automated by a normalizer progam like <PRODUCTNAME>sgmlnorm</PRODUCTNAME>
  661. (part of <ULINK URL="http://www.jclark.com/sp/"><PRODUCTNAME>SP</PRODUCTNAME></ULINK>)
  662. or a function in an editor like <PRODUCTNAME>Emacs</PRODUCTNAME>/<PRODUCTNAME>psgml</PRODUCTNAME>'s
  663. <SYSTEMITEM>sgml-normalize</SYSTEMITEM>;</PARA></LISTITEM>
  664. <LISTITEM><PARA>escape all markup characters (<SYSTEMITEM><</SYSTEMITEM>
  665. and <SYSTEMITEM>&</SYSTEMITEM>) as <SGMLTAG CLASS="GENENTITY">lt</SGMLTAG>
  666. and <SGMLTAG CLASS="GENENTITY">amp</SGMLTAG></PARA></LISTITEM>
  667. <LISTITEM><PARA>ensure all attribute values are in quotes;</PARA></LISTITEM>
  668. <LISTITEM><PARA>ensure all occurrences of all element names in
  669. start-tags <EMPHASIS>and</EMPHASIS> end-tags match with respect to
  670. upper- and lower-case and that they are consistent throughout the file;</PARA></LISTITEM>
  671. <LISTITEM><PARA>ensure all attribute names are similarly in a
  672. consistent case throughout the file.</PARA></LISTITEM></ITEMIZEDLIST>
  673. <PARA REVISIONFLAG="ADDED">Be aware that many HTML browsers may not
  674. accept XML-style <SGMLTAG>EMPTY</SGMLTAG> elements with the trailing
  675. slash, so the above changes are not backwards-compatible. An alternative
  676. might be to add a dummy end-tag to all <SGMLTAG>EMPTY</SGMLTAG>
  677. elements, so <SGMLTAG CLASS="STARTTAG">IMG</SGMLTAG> becomes
  678. <SGMLTAG CLASS="STARTTAG">IMG</SGMLTAG><SGMLTAG CLASS="ENDTAG">IMG</SGMLTAG>.</PARA>
  679. <PARA REVISIONFLAG="CHANGED">If you have a lot of valid HTML files, you
  680. could write a script in an SGML conversion system to do this (such as
  681. <PRODUCTNAME><ULINK URL="http://www.omnimark.com">Omnimark</ULINK></PRODUCTNAME>,
  682. <PRODUCTNAME><ULINK URL="http://www.balise.fr">Balise</ULINK></PRODUCTNAME>,
  683. <PRODUCTNAME><ULINK URL="http://www.dircon.co.uk/sgmlc">SGMLC</ULINK></PRODUCTNAME>,
  684. or a system using one of the SGML <PRODUCTNAME>Perl</PRODUCTNAME>
  685. libraries), or you could even use edit macros if you know what you're
  686. doing.</PARA>
  687. <PARA REVISIONFLAG="CHANGED">If your HTML files are invalid then they
  688. will almost certainly have to be converted manually, although if the
  689. deformities are regular and carefully constructed, the files may
  690. actually be almost well-formed, and you could write a program or script
  691. to do as described above. To test for invalidity and non-conformance,
  692. check the following:</PARA>
  693. <ITEMIZEDLIST><LISTITEM><PARA REVISIONFLAG="CHANGED">do the files
  694. contain markup syntax errors? For example, are there any backslashes
  695. instead of forward slashes on end-tags; or elements which nest
  696. incorrectly (<SGMLTAG CLASS="STARTTAG">SAMP</SGMLTAG>an element which
  697. starts <SGMLTAG CLASS="STARTTAG">EM</SGMLTAG>inside one element<SGMLTAG
  698. CLASS="ENDTAG">SAMP</SGMLTAG> but ends outside it<SGMLTAG
  699. CLASS="ENDTAG">EM</SGMLTAG>);</PARA> </LISTITEM>
  700. <LISTITEM><PARA REVISIONFLAG="CHANGED">do the files contain markup
  701. which conflicts with the HTML DTDs, such as headings inside list items,
  702. or list items outside list environments; </PARA></LISTITEM>
  703. <LISTITEM><PARA REVISIONFLAG="CHANGED">do the files use elements which
  704. are not in any DTD? Although this is easy to transform to a DTDless
  705. well-formed file (because you don't have to define elements in
  706. advance) most proprietary [browser-specific] extensions have never been
  707. formally defined, so it is often difficult to work out where they can
  708. meaningfully be used.</PARA></LISTITEM></ITEMIZEDLIST>
  709. <PARA REVISIONFLAG="ADDED">Markup which is valid but which is
  710. meaningless or void may need to be edited out before conversion (such as
  711. repeated empty paragraphs or linebreaks, empty tables, invisible
  712. <WORDASWORD>spacing</WORDASWORD> GIFs <FOREIGNPHRASE>etc</FOREIGNPHRASE>:
  713. XML uses stylesheets, so you won't need any of these contrivances)
  714. </PARA>
  715. <PARA REVISIONFLAG="ADDED">See the <LINK LINKEND="faq-wf">rules for
  716. <WORDASWORD>well-formed</WORDASWORD> XML files</LINK> for details of
  717. what you need to check in XML when converting.</PARA>
  718. <PARA REVISIONFLAG="ADDED">Note there are XML versions of the HTML DTD
  719. in preparation:</PARA>
  720. <ITEMIZEDLIST><LISTITEM><PARA><ULINK
  721. URL="mailto:btrafford@worldnet.att.net">Ben Trafford</ULINK> has
  722. developed an XML version of HTML 4.2</PARA></LISTITEM>
  723. <LISTITEM><PARA>[details of others sought: please contact the
  724. <ULINK URL="mailto:pflynn@m-net.arbornet.org">editor</ULINK>]</PARA></LISTITEM></ITEMIZEDLIST></SECT2>
  725. <SECT2 ID="faq-subset"><TITLE>If XML is just a subset of SGML, can I
  726. use XML files directly with SGML tools?</TITLE>
  727. <PARA REVISIONFLAG="CHANGED">Yes, provided: <ITEMIZEDLIST>
  728. <LISTITEM><PARA>the document has a valid <LINK LINKEND="faq-dtd">Document
  729. Type Definition (DTD)</LINK>, <FOREIGNPHRASE>ie</FOREIGNPHRASE> the
  730. files are <LINK LINKEND="faq-valid">valid</LINK>, not just
  731. <LINK LINKEND="faq-wf">well-formed</LINK>; and</PARA></LISTITEM>
  732. <LISTITEM><PARA>you use software which knows about the features needed
  733. to support XML, such as the special form for <SGMLTAG>EMPTY</SGMLTAG>
  734. elements; some aspects of the SGML Declaration such as <SGMLTAG>NAMECASE
  735. GENERAL NO</SGMLTAG>; multiple attribute declarations.</PARA></LISTITEM></ITEMIZEDLIST></PARA>
  736. <PARA REVISIONFLAG="CHANGED">At the moment there are few tools which
  737. handle XML files unchanged because of the format of these <SGMLTAG>EMPTY</SGMLTAG>
  738. elements, but this is changing. The <PRODUCTNAME>nsgmls</PRODUCTNAME>
  739. parser has an experimental XML conformance switch, and the first
  740. XML-specific editors and parsers are appearing (see the question on
  741. <LINK LINKEND="faq-xmlsoft">software</LINK>).</PARA>
  742. <PARA REVISIONFLAG="ADDED">The rules of ISO 8879 are up for minor
  743. amendments, some of which are to facilitate changes needed for
  744. Web-enablement.</PARA></SECT2>
  745. <SECT2 ID="faq-learn"><TITLE>I'm used to authoring and serving
  746. HTML. Can I learn XML easily?</TITLE>
  747. <PARA>Yes, very easily, but at the moment there is still a need for
  748. tutorials, simple tools, and more examples of XML documents.
  749. <LINK LINKEND="faq-wf">Well-formed</LINK> XML documents may look
  750. similar to <LINK LINKEND="faq-html">HTML</LINK> except for some small
  751. but very important points of syntax.</PARA>
  752. <PARA>As every user community can have their own document type defined,
  753. it should be much easier to learn, because element names can be picked
  754. for relevance.</PARA></SECT2>
  755. <SECT2 ID="faq-charents"><TITLE>Will XML be able to use non-Latin
  756. characters?</TITLE>
  757. <PARA REVISIONFLAG="CHANGED">Yes, the <LINK LINKEND="faq-spec">XML
  758. Draft Specification</LINK> explicitly says XML uses
  759. <ULINK URL="http://www.iso.ch/">ISO 10646</ULINK>, the international
  760. standard 31-bit character repertoire which covers most human (and some
  761. non-human) written languages. This is currently congruent with Unicode.</PARA>
  762. <PARA REVISIONFLAG="CHANGED"><QUOTE>…all XML processors must
  763. accept the UTF-8 and UCS-2 encodings of ISO 10646…</QUOTE>. UCS-2
  764. is the 16-bit version of Unicode.  UTF-8 is an encoding of Unicode into
  765. 8-bit characters: the first 128 are the same as ASCII, the rest are used
  766. to encode the rest of Unicode into sequences of between 2 and 6 bytes.
  767. UTF-8 in its single-octet form is therefore the same as ISO 646 IRV
  768. (ASCII), so you can continue to use ASCII for English or other
  769. unaccented languages using the Latin alphabet. Note that UTF-8 is
  770. incompatible with ISO 8859-1 (ISO Latin-1) after code point 126 decimal
  771. (the end of ASCII).</PARA>
  772. <PARA REVISIONFLAG="CHANGED"><QUOTE>…the mechanisms for
  773. signalling which of the two are in use, and for bringing other encodings
  774. into play, are […] in the discussion of character encodings.</QUOTE>
  775. The <LINK LINKEND="faq-spec">XML Draft Specification</LINK> explains
  776. how to specify in your XML file which coded character set you are using.</PARA>
  777. <PARA REVISIONFLAG="CHANGED">Use of UCS-4 can only legally be specified
  778. in SGML or XML when the pending <WORDASWORD>WebSGML</WORDASWORD>
  779. Technical Corrigendum to ISO 8879 comes into force to enable numbers
  780. longer than eight digits to be used in the SGML Declaration.</PARA>
  781. <PARA REVISIONFLAG="CHANGED"><QUOTE>Regardless of the specific
  782. encoding used, any character in the ISO 10646 character set may be
  783. referred to by the decimal or hexadecimal equivalent of its bit string</QUOTE>:
  784. so no matter which character set you personally use, you can still refer
  785. to specific individual characters from elsewhere in the encoded
  786. repertoire by using <SGMLTAG CLASS="NUMCHARREF"><REPLACEABLE>dddd</REPLACEABLE></SGMLTAG>
  787. (decimal character code) or
  788. <SGMLTAG CLASS="NUMCHARREF">x<REPLACEABLE>hhhh</REPLACEABLE></SGMLTAG>
  789. (hexadecimal character code).</PARA>
  790. <PARA REVISIONFLAG="ADDED">The terminology can get confusing, as can
  791. the numbers: see the
  792. <ULINK
  793. URL="http://cns-web.bu.edu/pub/djohnson/web_files/i18n/ISO-10646.html">ISO
  794. 10646 Concept Dictionary</ULINK>.</PARA></SECT2>
  795. <SECT2 ID="faq-doctype"><TITLE>What's a Document Type Definition
  796. (DTD) and where do I get one?</TITLE>
  797. <PARA REVISIONFLAG="CHANGED">A DTD is usually a file (or several files
  798. to be used together) which contains a formal definition of a particular
  799. type of document. This sets out what names can be used for elements,
  800. where they may occur, and how they all fit together. For example, if you
  801. want a document type to describe <SGMLTAG CLASS="ELEMENT">LIST</SGMLTAG>s
  802. which contain <SGMLTAG CLASS="ELEMENT">ITEM</SGMLTAG>s, part of your
  803. DTD would contain something like<PROGRAMLISTING><!ELEMENT item (#pcdata)>
  804. <!ELEMENT list (item)+></PROGRAMLISTING>This defines items containing
  805. text, and lists containing items. It's a formal language which lets
  806. processors automatically parse a document and identify where every
  807. element comes and how they relate to each other, so that stylesheets,
  808. navigators, browsers, search engines, databases, printing routines, and
  809. other applications can be used.</PARA>
  810. <PARA>[Note that in XML, there are no minimization parameters (<QUOTE><SYSTEMITEM>-</SYSTEMITEM></QUOTE>
  811. and <QUOTE><SYSTEMITEM>O</SYSTEMITEM></QUOTE> characters in element
  812. definitions between element name and content model), because all
  813. elements except empty ones must have both start-tag and end-tag present
  814. at all times.]</PARA>
  815. <PARA ID="faq-selfdef">There are thousands of SGML DTDs already in
  816. existence in all kinds of areas (see the
  817. <ULINK URL="http://www.sil.org/sgml/sgml.html">SGML Web pages</ULINK>
  818. for examples). Many of them can be downloaded and used freely; or you
  819. can write your own. As with any language, you need to learn it to do
  820. this: but XML is much simpler than full SGML: see the
  821. <LINK LINKEND="faq-restrict">list of restrictions</LINK> which shows
  822. what has been cut out. Existing SGML DTDs need to be converted to XML
  823. for use with XML systems: expect to see announcements soon of popular
  824. DTDs becoming available in XML format.</PARA></SECT2>
  825. <SECT2 ID="faq-hypertext"><TITLE>How will XML affect my document
  826. links?</TITLE>
  827. <PARA REVISIONFLAG="CHANGED"><LINK LINKEND="tei-link">The linking
  828. abilities of XML systems</LINK> are much more powerful than those of
  829. HTML, so you'll be able to do much more with them. Existing
  830. <MARKUP>HREF</MARKUP>-style links will remain usable, but new linking
  831. technology is based on the lessons learned in the development of other
  832. standards involving hypertext, such as
  833. <ULINK URL="http://www.sil.org/sgml/acadapps.html#tei">TEI</ULINK> and
  834. <ULINK URL="http://www.sil.org/sgml/">HyTime</ULINK>, which let you
  835. manage bidirectional and multi-way links, as well as links to a span of
  836. text (within your own or other documents) rather than to a single point.
  837. This is already implemented for SGML in browsers like
  838. <PRODUCTNAME>Panorama</PRODUCTNAME> and <PRODUCTNAME>Multidoc Pro</PRODUCTNAME>.</PARA>
  839. <PARA REVISIONFLAG="CHANGED">The
  840. <ULINK URL="http://www.w3.org/TR/WD-xml-link">XML Linking Specification
  841. (XLL)</ULINK> document contains a detailed specification. An XML link
  842. can be either a URL or a TEI-style Extended Pointer (<WORDASWORD><LINK
  843. LINKEND="tei-link">Xptr</LINK></WORDASWORD>), or both. A URL on its own
  844. is assumed to be a resource (as with HTML); if an Xptr follows it, it is
  845. assumed to be a sub-resource of that URL; an Xptr on its own is assumed
  846. to apply to the current document.</PARA>
  847. <PARA REVISIONFLAG="CHANGED">An Xptr is always preceded by one of
  848. <FILENAME>#</FILENAME>, <FILENAME>?</FILENAME>, or <FILENAME>|</FILENAME>.
  849. The <FILENAME>#</FILENAME> and <FILENAME>?</FILENAME> mean the same as
  850. in HTML applications; the <FILENAME>|</FILENAME> means the sub-resource
  851. can be found by applying the Xptr to the resource, but the method of
  852. doing this is left to the application.</PARA>
  853. <PARA REVISIONFLAG="CHANGED">The
  854. <ULINK URL="http://etext.virginia.edu/bin/tei-tocs?div=DIV2&id=SAXR">TEI
  855. Extended Pointer Notation</ULINK> (EPN) is much more powerful than the
  856. <WORDASWORD>fragment address</WORDASWORD> on the end of some URLs.
  857. <LINK LINKEND="faq-hypertext" ID="tei-link">For example, the word
  858. <WORDASWORD>Xptr</WORDASWORD> two paragraphs back could be referred to
  859. as <SYSTEMITEM>http://www.ucc.ie/xml/faq.sgml#ID(faq-hypertext)CHILD(3,*)(4,*)</SYSTEMITEM>,
  860. meaning the fourth child object within the third child object after the
  861. element whose ID is <FILENAME>tei-link</FILENAME>.</LINK> Count the
  862. objects from the start of this question in the <ULINK URL="faq.sgml">SGML
  863. version</ULINK> (which has the ID <QUOTE><SYSTEMITEM>faq-hypertext</SYSTEMITEM></QUOTE>):</PARA>
  864. <ORDEREDLIST REVISIONFLAG="ADDED"><LISTITEM><PARA>the title of the
  865. question;</PARA>
  866. <PROGRAMLISTING><SECT2 ID="faq-hypertext">
  867. <TITLE>How will XML affect my document links?</TITLE>
  868. </PROGRAMLISTING></LISTITEM>
  869. <LISTITEM><PARA>the first paragraph;</PARA>
  870. <PROGRAMLISTING><PARA><LINK LINKEND="tei-link">The linking abilities of XML 
  871. systems</LINK> are much more powerful than those...
  872. </PROGRAMLISTING></LISTITEM>
  873. <LISTITEM><PARA>the second  paragraph:</PARA>
  874. <ORDEREDLIST><LISTITEM><PARA>the character data from the start of the
  875. paragraph to the first item of markup:</PARA>
  876. <PROGRAMLISTING><PARA>The</PROGRAMLISTING></LISTITEM>
  877. <LISTITEM><PARA>the markup item:</PARA>
  878. <PROGRAMLISTING><ULINK URL="http://www.w3.org/TR/WD-xml-link">XML Linking 
  879. Specification (XLL)</ULINK></PROGRAMLISTING></LISTITEM>
  880. <LISTITEM><PARA>the next stretch of character data:</PARA>
  881. <PROGRAMLISTING>document contains a detailed specification. An XML link can 
  882. be either a URL or a TEI-style Extended Pointer (</PROGRAMLISTING></LISTITEM>
  883. <LISTITEM><PARA>the next markup item:</PARA>
  884. <PROGRAMLISTING><LINK LINKEND="tei-link">Xptr</LINK></PROGRAMLISTING></LISTITEM></ORDEREDLIST></LISTITEM></ORDEREDLIST>
  885. <PARA REVISIONFLAG="CHANGED">If you view this file with <PRODUCTNAME>Panorama</PRODUCTNAME>
  886. or
  887. <PRODUCTNAME>MultiDoc Pro</PRODUCTNAME> you can click on the
  888. highlighted cross-reference button at the start of the example sentence,
  889. and it will display the locations in Extended Pointer Notation of all
  890. the links to it, including the word <QUOTE>Xptr</QUOTE> mentioned.
  891. (Doing this in an HTML browser is not meaningful, as they do not support
  892. bidirectional linking or EPN.)</PARA></SECT2>
  893. <SECT2 ID="faq-math"><TITLE>Can I do mathematics using XML?</TITLE>
  894. <PARA>Yes, if the <LINK LINKEND="faq-doctype">document type</LINK> you
  895. use provides for math. The long-expired HTML3 could be used, or
  896. <ULINK URL="http://www.arbornet.org/~silmaril/dtds/html/htmlpro.html">HTML
  897. Pro</ULINK>, or
  898. <ULINK URL="http://www.sil.org/sgml/gen-apps.html#iso12083DTDs">ISO
  899. 12083 Math</ULINK>, or the proposals of the
  900. <ULINK URL="http://www.can.nl/~abbott/OpenMath/">OpenMath</ULINK> or
  901. <ULINK URL="http://www.w3.org/TR/WD-math-970515">HTML-Math</ULINK>
  902. projects, or one of your own making. Browsers which display simple math
  903. embedded in SGML already exist (<FOREIGNPHRASE>eg</FOREIGNPHRASE>
  904. <PRODUCTNAME>Panorama</PRODUCTNAME>,
  905. <PRODUCTNAME>Multidoc Pro</PRODUCTNAME>), and the mathematics-using
  906. communities may develop their own XML software.</PARA>
  907. <PARA REVISIONFLAG="CHANGED">The sophistication could vary from math
  908. expressions like
  909. <INFORMALEQUATION><MATH POSITION="INLINE"><I>x</I><SUB CLASS="char"><I>i</I></SUB></MATH></INFORMALEQUATION>
  910. through simple inline equations such as <INFORMALEQUATION><MATH
  911. POSITION="INLINE"><I>E</I> = <I>mc</I><SUP>2</SUP></MATH></INFORMALEQUATION>
  912. to display equations like<EQUATION>
  913. <MATH POSITION="DISPLAY"><BOX><ABOVE><FONT SIZE="+2" FACE="Symbol">S</FONT><SUP><I>n</I></SUP><SUB><I>i</I>=1</SUB>  (<I>x</I><SUB><I>i</I></SUB> - <FONT
  914. FACE="Symbol">p</FONT>)<SUP>2</SUP></ABOVE><OVER><BELOW><I>n</I></BELOW></BOX></MATH></EQUATION>(If
  915. you are using an HTML browser to read this, the above equations may not
  916. be rendered correctly unless you have a math plugin for <PRODUCTNAME>Netscape</PRODUCTNAME>
  917. like IBM's <PRODUCTNAME><ULINK
  918. URL="http://www.ics.raleigh.ibm.com/ics/techexp.htm">TechExplorer</ULINK></PRODUCTNAME>
  919. which reads the embedded &TeX; equivalent.</PARA></SECT2>
  920. <SECT2 ID="faq-meta" REVISIONFLAG="ADDED"><TITLE>How does XML handle
  921. metadata?</TITLE>
  922. <PARA>Because XML lets you define your own markup language, you can
  923. make full use of the extended hypertext features (see the question on
  924. <LINK LINKEND="faq-hypertext">Links</LINK>) of XML to store or link to
  925. metadata in any format (<FOREIGNPHRASE>eg</FOREIGNPHRASE>
  926. <ULINK URL="http://www2.sub.uni-goettingen.de/dc-wf.html">Dublin Core,
  927. Warwick Framework</ULINK>, <ULINK URL="http://www.dstc.edu.au/RDU/RDF/">Resource
  928. Description Framework (RDF)</ULINK>, and
  929. <ULINK URL="http://www.w3.org/PICS/">Platform for Internet Content
  930. Selection (PICS)</ULINK>).</PARA>
  931. <PARA>There are no predefined elements in XML, because it is an
  932. architecture, not an application, so it is not part of XML's job to
  933. specify how or if authors should or should not implement metadata. You
  934. are therefore free to use any suitable method from simple attributes to
  935. the embedding of entire Dublin Core/Warwick Framework metadata records.
  936. Browser makers may also have their own architectural recommendations or
  937. methods to propose.</PARA></SECT2>
  938. <SECT2 ID="faq-java" REVISIONFLAG="ADDED"><TITLE>Can I use Java,
  939. ActiveX, <FOREIGNPHRASE>etc</FOREIGNPHRASE> in XML?</TITLE>
  940. <PARA>This depends on what facilities the browser makers implement. XML
  941. is about describing information; scripting languages and languages for
  942. embedded functionality are the software which enables the information to
  943. be manipulated at the user's end.</PARA>
  944. <PARA>XML itself provides a way to define the markup needed to
  945. implement scripting languages: as a neutral standard it neither
  946. encourages not discourages their use, and does not favour one language
  947. over another, so the field is wide open. Developments are ongoing: see
  948. John Tigue's suggestions for
  949. <ULINK URL="http://www.datachannel.com/ChannelWorld/XML/dev/">standardising
  950. the API for Java</ULINK> in respect of XML.</PARA>
  951. <PARA>Scripting languages <EMPHASIS>are</EMPHASIS> provided for in a
  952. proposal for an <ULINK URL="http://www.w3.org/TR/NOTE-XSL-970910">Extensible
  953. Style Language, XSL</ULINK> (see question on <LINK LINKEND="faq-style">Stylesheets</LINK>).</PARA></SECT2>
  954. <SECT2 ID="faq-style" REVISIONFLAG="ADDED"><TITLE>How do I control
  955. appearance?</TITLE>
  956. <PARA>The use of a stylesheet is implicit in XML. Some browsers may
  957. possibly provide simple default styles for popular elements like
  958. <SGMLTAG CLASS="ELEMENT">PARA</SGMLTAG>, or <SGMLTAG CLASS="ELEMENT">LIST</SGMLTAG>
  959. containing <SGMLTAG CLASS="ELEMENT">ITEM</SGMLTAG>, but in general a
  960. stylesheet gives the author much better control of the layout. But as
  961. with any system where files can be viewed at random by arbitrary users,
  962. the author cannot know what resources (such as fonts) are on the user's
  963. system, so care is needed.</PARA>
  964. <ITEMIZEDLIST><LISTITEM><PARA>The international standard for
  965. stylesheets for SGML documents is
  966. <ULINK URL="http://www.sil.org/sgml/related.html#dsssl">DSSSL, the
  967. Document Style and Semantics Specification Language</ULINK> (<ULINK
  968. URL="http://www.iso.ch/">ISO 10179</ULINK>). This provides Scheme-like
  969. languages for stylesheets and document conversion, and is extensively
  970. implemented in the <ULINK URL="http://www.jclark.com/jade/"><PRODUCTNAME>Jade</PRODUCTNAME>
  971. formatter</ULINK>.</PARA></LISTITEM>
  972. <LISTITEM><PARA>The <ULINK URL="http://www.w3.org/Style/css">Cascading
  973. Stylesheet Specification (CSS)</ULINK> provides a simple syntax for
  974. assigning styles to elements, and has been implemented in HTML browsers.</PARA></LISTITEM>
  975. <LISTITEM><PARA>The Synex stylesheet DTD as already used in
  976. <PRODUCTNAME>Panorama</PRODUCTNAME> and <PRODUCTNAME>MultiDoc Pro</PRODUCTNAME>;</PARA></LISTITEM>
  977. <LISTITEM><PARA>A new
  978. <ULINK URL="http://www.w3.org/TR/NOTE-XSL-970910">Extensible Style
  979. Language</ULINK>  (XSL) is being proposed for use specifically with XML.
  980. This uses XML syntax (a stylesheet is actually an XML file) and combines
  981. formatting features from both DSSSL and CSS (HTML) and has already
  982. attracted support from several major vendors.</PARA></LISTITEM></ITEMIZEDLIST>
  983. <PARA>It remains to be seen which ones browsers will implement.</PARA></SECT2></SECT1>
  984. <SECT1 ID="faq-developer"><TITLE>Developers and Implementors
  985. (including WebMasters and server operators)</TITLE>
  986. <SECT2 ID="faq-spec"><TITLE>Where's the spec?</TITLE>
  987. <PARA>Right
  988. <ULINK URL="http://www.w3.org/TR/WD-xml">here (<FILENAME
  989. REMAP="ULINK" XREFLABEL="http://www.w3.org/TR/WD-xml">http://www.w3.org/TR/WD-xml</FILENAME>)</ULINK>.
  990. Includes the EBNF. There's also a
  991. <ULINK URL="http://www.iijnet.or.jp/FXIS/XSoft/sgml/xml/xml-lj11.htm">version
  992. in Japanese</ULINK>.</PARA></SECT2>
  993. <SECT2 ID="faq-validwf"><TITLE>What are these terms <WORDASWORD>DTDless</WORDASWORD>,
  994. <WORDASWORD>valid</WORDASWORD>, and <WORDASWORD>well-formed</WORDASWORD>?</TITLE>
  995.  
  996. <PARA>Full SGML uses a Document Type Definition (DTD) to describe the
  997. markup (elements) available in any specific type of document. However,
  998. the design and construction of a DTD can be a complex and non-trivial
  999. task, so XML has been designed so it can be used either with or without
  1000. a DTD. DTDless operation means you can invent markup without having to
  1001. define it formally.</PARA>
  1002. <PARA>To make this work, a DTDless file in effect <WORDASWORD>defines</WORDASWORD>
  1003. its own markup, informally, by the existence and location of elements
  1004. where you create them. But when an XML application such as a browser
  1005. encounters a DTDless file, it needs to be able to understand the
  1006. document structure as it reads it, because it has no DTD to tell it what
  1007. to expect, so some changes have been made to the rules. </PARA>
  1008. <PARA>For example, HTML's <SGMLTAG CLASS="ELEMENT">IMG</SGMLTAG>
  1009. element is defined as <QUOTE><SGMLTAG>EMPTY</SGMLTAG></QUOTE>: it
  1010. doesn't have an end-tag. Without a DTD, an XML application would
  1011. have no way to know whether or not to expect an end-tag for an element,
  1012. so the concept of <WORDASWORD>well-formed</WORDASWORD> has been
  1013. introduced. This makes the start and end of every element, and the
  1014. occurrence of <SGMLTAG>EMPTY</SGMLTAG> elements completely unambiguous.</PARA>
  1015. <SECT3 ID="faq-wf"><TITLE><QUOTE>Well-formed</QUOTE> documents</TITLE>
  1016. <PARA>All XML documents must be well-formed:</PARA>
  1017. <ITEMIZEDLIST><LISTITEM><PARA ID="faq-rmdpi">if there is no DTD in
  1018. use, the document must start with a <LINK LINKEND="faq-rmd">Required
  1019. Markup Declaration (RMD)</LINK> saying so:<PROGRAMLISTING><?XML version="1.0" RMD="NONE"?>
  1020. <foo>
  1021.   <bar>...<blort/>...</bar>
  1022. </foo></PROGRAMLISTING></PARA>
  1023. </LISTITEM>
  1024. <LISTITEM><PARA>all tags must be balanced: that is, all elements which
  1025. may contain character data must have both start- and end-tags present
  1026. (omission is not allowed except for
  1027. <LINK LINKEND="faq-empty">empty elements</LINK>, see below);</PARA></LISTITEM>
  1028. <LISTITEM><PARA>all attribute values must be in quotes (the
  1029. single-quote character [the apostrophe] may be used if the value
  1030. contains a double-quote character, and <FOREIGNPHRASE>vice versa</FOREIGNPHRASE>):
  1031. if you need both, use <SGMLTAG CLASS="GENENTITY">apos</SGMLTAG> and
  1032. <SGMLTAG CLASS="GENENTITY">quot</SGMLTAG></PARA></LISTITEM>
  1033. <LISTITEM><PARA ID="faq-empty">any <MARKUP>EMPTY</MARKUP> element
  1034. tags (<FOREIGNPHRASE>eg</FOREIGNPHRASE> those with no end-tag like HTML's
  1035. <SGMLTAG CLASS="ELEMENT">IMG</SGMLTAG>,
  1036. <SGMLTAG CLASS="ELEMENT">HR</SGMLTAG>, and <SGMLTAG CLASS="ELEMENT">BR</SGMLTAG>
  1037. and others) must either end with <QUOTE><MARKUP>/></MARKUP></QUOTE>
  1038. or you have to make them non-<MARKUP>EMPTY</MARKUP> by adding a real
  1039. end-tag;</PARA>
  1040. <PARA>Example:
  1041. <SGMLTAG CLASS="ELEMENT">BR</SGMLTAG> would become either
  1042. <SGMLTAG CLASS="ENDTAG" LANG="xml" REMAP="empty">BR</SGMLTAG> or
  1043. <SGMLTAG CLASS="STARTTAG">BR</SGMLTAG><SGMLTAG CLASS="ENDTAG">BR</SGMLTAG>.</PARA></LISTITEM>
  1044. <LISTITEM><PARA REVISIONFLAG="CHANGED">there must not be any isolated
  1045. markup characters (<MARKUP><</MARKUP> or <MARKUP>&</MARKUP>) in
  1046. your text data (<FOREIGNPHRASE>ie</FOREIGNPHRASE> they must be escaped
  1047. as <SGMLTAG CLASS="GENENTITY">lt</SGMLTAG> and
  1048. <SGMLTAG CLASS="GENENTITY">amp</SGMLTAG>), and the sequence
  1049. <SYSTEMITEM>]]></SYSTEMITEM> must be escaped as <SYSTEMITEM>]]&gt;</SYSTEMITEM>
  1050. if it does not occur as the end of a <SGMLTAG>CDATA</SGMLTAG> marked
  1051. section;</PARA></LISTITEM>
  1052. <LISTITEM><PARA REVISIONFLAG="CHANGED">elements must nest inside each
  1053. other properly (no overlapping markup, same rule as for all SGML);</PARA></LISTITEM>
  1054. <LISTITEM><PARA REVISIONFLAG="ADDED">Well-formed files with no DTD may
  1055. use attributes on any element, but the attributes must all be of type
  1056. CDATA by default.</PARA></LISTITEM></ITEMIZEDLIST>
  1057. <PARA REVISIONFLAG="CHANGED">Well-formed XML files with no DTD are
  1058. considered to have
  1059. <SGMLTAG CLASS="GENENTITY">lt</SGMLTAG>, <SGMLTAG CLASS="GENENTITY">gt</SGMLTAG>,
  1060. <SGMLTAG CLASS="GENENTITY">apos</SGMLTAG>,
  1061. <SGMLTAG CLASS="GENENTITY">quot</SGMLTAG>, and
  1062. <SGMLTAG CLASS="GENENTITY">amp</SGMLTAG> predefined and thus available
  1063. for use even without a DTD.  Valid XML files must declare them
  1064. explicitly if they use them.</PARA>
  1065. <PARA REVISIONFLAG="CHANGED">Note that the value of the RMD <QUOTE><SYSTEMITEM>NONE</SYSTEMITEM></QUOTE>
  1066. indicates that an XML processor can parse the  document correctly
  1067. without first reading any part of the DTD, so it can also be used if you
  1068. do supply a DTD but don't want it used on this occasion. See the
  1069. next section for other values of the RMD. </PARA></SECT3>
  1070. <SECT3 ID="faq-valid"><TITLE>Valid XML</TITLE>
  1071. <PARA ID="faq-docdec">Valid XML files are those which have a
  1072. <LINK LINKEND="faq-dtd">Document Type Definition (DTD)</LINK> like all
  1073. other <LINK LINKEND="faq-sgml">SGML</LINK> applications, and which
  1074. adhere to it. <EMPHASIS>They must also be <LINK LINKEND="faq-wf">well-formed</LINK></EMPHASIS>.</PARA>
  1075. <PARA>A valid file begins like any other SGML file with a Document Type
  1076. Declaration, but may have an optional XML Declaration prepended:<PROGRAMLISTING><?XML version="1.0"?>
  1077. <!DOCTYPE advert SYSTEM "http://www.foo.org/ad.dtd">
  1078. <advert>
  1079.   <headline>...<pic/>...</headline>
  1080.   <text>...</text>
  1081. </advert></PROGRAMLISTING>The <LINK LINKEND="faq-spec">XML
  1082. Specification</LINK> defines an <ULINK URL="sgmlxml.decl">SGML
  1083. Declaration for XML</ULINK> which is fixed for all instances. An
  1084. <LINK LINKEND="faq-dtd">XML version</LINK> of the specified DTD must be
  1085. accessible to the XML processor, either by being available locally (<FOREIGNPHRASE>ie</FOREIGNPHRASE>
  1086. the user already has a copy on disk), or by being retrievable via the
  1087. network. You can enable this <EMPHASIS>either</EMPHASIS> by supplying
  1088. the URL for the DTD in a System Identifier (as in the example above)
  1089. <EMPHASIS>or</EMPHASIS> by supplying the
  1090. <ULINK URL="http://www.ucc.ie/cgi-bin/public">Formal Public Identifier</ULINK>,
  1091. <FOREIGNPHRASE>eg</FOREIGNPHRASE><PROGRAMLISTING><!DOCTYPE advert PUBLIC "-//Foo, Inc//DTD Advertisements//EN"></PROGRAMLISTING>and
  1092. providing a catalog file which equates FPIs with their URL equivalents.</PARA>
  1093. <PARA ID="faq-rmd">The <LINK LINKEND="faq-rmd">Required Markup
  1094. Declaration (RMD)</LINK> can take two other values (apart from <QUOTE><SYSTEMITEM>NONE</SYSTEMITEM></QUOTE>
  1095. which was discussed in the previous subsection): <QUOTE><SYSTEMITEM>INTERNAL</SYSTEMITEM></QUOTE>
  1096. and <QUOTE><SYSTEMITEM>ALL</SYSTEMITEM></QUOTE>.</PARA>
  1097. <PARA><QUOTE><MARKUP>INTERNAL</MARKUP></QUOTE> indicates that the XML
  1098. processor is required to read and process the internal subset of the
  1099. DTD, if provided, to parse the document correctly:<PROGRAMLISTING><?XML VERSION="1.0" RMD="INTERNAL"?>
  1100. <!DOCTYPE foo [
  1101. <!ENTITY alephhb cdata "&#224;">
  1102. ]>
  1103. <foo>The first letter is &alephhb;</foo></PROGRAMLISTING><QUOTE><SYSTEMITEM>ALL</SYSTEMITEM></QUOTE>
  1104. is the default, when no XML Declaration is present, and indicates that
  1105. the DTD and the internal subset must both be read in order to parse the
  1106. document correctly. See the <LINK LINKEND="faq-spec">the XML
  1107. Specification</LINK> for a more detailed description.</PARA>
  1108. <PARA>The defaults for the other attributes of the XML Declaration are
  1109. <SGMLTAG>VERSION="1.0"</SGMLTAG> and <SGMLTAG CLASS="ATTRIBUTE">ENCODING="UTF-8"</SGMLTAG>.</PARA></SECT3></SECT2>
  1110. <SECT2 ID="faq-dtd" REVISIONFLAG="CHANGED"><TITLE>What else has
  1111. changed between SGML and XML?</TITLE>
  1112. <PARA ID="faq-restrict">The principal changes are in what you can do in
  1113. writing a Document Type Definition (DTD). To simplify the syntax and
  1114. make it easier to write processing software, a large number of markup
  1115. declaration options have been suppressed (see Appendix A of
  1116. <LINK LINKEND="faq-spec">the XML Specification</LINK>).</PARA>
  1117. <PARA REVISIONFLAG="ADDED">A new delimiter is permitted in Names (the
  1118. colon) for use in experiments with namespaces (enabling DTDs to
  1119. distinguish element source, ownership, or application). A colon may only
  1120. appear in mid-name, though, not at the start or the end, and the syntax
  1121. may change in a future version.</PARA>
  1122. </SECT2>
  1123. <SECT2 ID="faq-xmlsoft"><TITLE>What XML software can I use today?</TITLE>
  1124. <PARA>There is a modification under development for <PRODUCTNAME>Emacs</PRODUCTNAME>/<PRODUCTNAME>psgml-mode</PRODUCTNAME>
  1125. to handle XML files.</PARA>
  1126. <PARA>Most of the well-known <ULINK URL="http://www.sil.org/sgml/">SGML
  1127. vendors</ULINK> are working on XML versions of editors and other tools;
  1128. the editors with a product released (or very close) so far are:</PARA>
  1129. <ITEMIZEDLIST><LISTITEM><PARA>GriF's <PRODUCTNAME>Symposia Doc+</PRODUCTNAME>
  1130. (<FILENAME><ULINK URL="http://www.grif.fr/">http://www.grif.fr/</ULINK></FILENAME>)</PARA></LISTITEM>
  1131. <LISTITEM><PARA>STiLO's <PRODUCTNAME>WebWriter</PRODUCTNAME> (<FILENAME><ULINK
  1132. URL="http://www.stilo.com/">http://www.stilo.com/</ULINK></FILENAME>)</PARA></LISTITEM>
  1133. <LISTITEM><PARA>ArborText's <PRODUCTNAME>ADEPT*Editor</PRODUCTNAME>
  1134. (<FILENAME><ULINK URL="http://www.stilo.com/">http://www.arbortext.com/</ULINK></FILENAME>)</PARA></LISTITEM>
  1135. <LISTITEM><PARA>[anyone with details of others please let me know]</PARA></LISTITEM></ITEMIZEDLIST>
  1136. <PARA>There is a growing number of XML parsers which can be used to
  1137. check that your files conform to the
  1138. <LINK LINKEND="faq-spec">Draft XML Specification</LINK>:</PARA>
  1139. <ITEMIZEDLIST REVISIONFLAG="CHANGED"><LISTITEM><PARA>Norbert Mikula's
  1140. <PRODUCTNAME>NXP</PRODUCTNAME> at
  1141. <FILENAME
  1142. REMAP="ULINK" XREFLABEL="http://edu.uni-klu.ac.at/~nmikula/NXP/"><ULINK
  1143. URL="http://www.edu.uni-klu.ac.at/~nmikula/NXP/">http://www.edu.uni-klu.ac.at/~nmikula/NXP/</ULINK></FILENAME></PARA></LISTITEM>
  1144. <LISTITEM><PARA>Tim Bray's <PRODUCTNAME>Lark</PRODUCTNAME> at
  1145. <FILENAME><ULINK URL="http://www.textuality.com/Lark/">http://www.textuality.com/Lark/</ULINK></FILENAME></PARA></LISTITEM>
  1146. <LISTITEM><PARA>Sean Russell's Java test kernel at <FILENAME><ULINK
  1147. URL="http://jersey.uoregon.edu/ser/software/XML.tar.gz">http://jersey.uoregon.edu/ser/software/XML.tar.gz</ULINK></FILENAME></PARA></LISTITEM>
  1148. <LISTITEM><PARA>Microsoft's <PRODUCTNAME>MSXML</PRODUCTNAME>
  1149. parser at <FILENAME><ULINK
  1150. URL="http://www.microsoft.com/standards/xml/xmlparse.htm">http://www.microsoft.com/standards/xml/xmlparse.htm</ULINK></FILENAME></PARA></LISTITEM>
  1151. <LISTITEM><PARA>Steve Ball's parser in Tcl at <FILENAME><ULINK
  1152. URL="http://tcltk.anu.edu.au/XML/">http://tcltk.anu.edu.au/XML/</ULINK></FILENAME></PARA></LISTITEM>
  1153. <LISTITEM><PARA>[anyone with details of others please let me know]</PARA></LISTITEM></ITEMIZEDLIST>
  1154. <PARA REVISIONFLAG="CHANGED">For browsers see the question on
  1155. <LINK LINKEND="faq-browser">XML Browsers</LINK> and the details of the
  1156. <LINK LINKEND="faq-mailinglist"><FILENAME>xml-dev</FILENAME> mailing
  1157. list</LINK> for software developers. Bert Bos keeps
  1158. <ULINK URL="http://www.w3.org/XML/notes.html">a list of some XML
  1159. developments</ULINK> in bison, flex, perl and Python.</PARA></SECT2>
  1160. <SECT2 ID="faq-swchx"><TITLE>Do I have to change any of my server
  1161. software to work with XML?</TITLE>
  1162. <PARA REVISIONFLAG="CHANGED">Only to serve up <FILENAME>.xml</FILENAME>
  1163.  files as the correct MIME type. MIME types of
  1164. <SYSTEMITEM>text/xml</SYSTEMITEM> and <SYSTEMITEM>application/xml</SYSTEMITEM>
  1165. have been submitted for approval, so for serving XML documents all that
  1166. is needed is to edit the
  1167. <FILENAME>mime-types</FILENAME> file (or its equivalent) and add the
  1168. lines<PROGRAMLISTING>text/xml            xml XML
  1169. application/xml     xsl XSL</PROGRAMLISTING>However, more sophisticated
  1170. applications may require HTTP content negotiation to determine what
  1171. tools the client has for display.  Also, since XML is designed to
  1172. support stylesheets and sophisticated hyperlinking, XML documents will
  1173. be accompanied by ancillary files such as DTDs, entity files, catalogs,
  1174. stylesheets, etc, which may need their own MIME entry, and which require
  1175. placing in the appropriate directories.</PARA>
  1176. <PARA>If you run scripts generating HTML, which you wish to work with
  1177. XML, they will need to be modified to produce the relevant document
  1178. type.</PARA></SECT2>
  1179. <SECT2 ID="faq-ssincludes"><TITLE>Can I still use server-side
  1180. <MARKUP>INCLUDE</MARKUP>s?</TITLE>
  1181. <PARA>Yes, so long as what they generate ends up as part of an
  1182. XML-conformant file (<FOREIGNPHRASE>ie</FOREIGNPHRASE> either
  1183. <LINK LINKEND="faq-valid">valid</LINK> or just <LINK LINKEND="faq-wf">well-formed</LINK>).</PARA></SECT2>
  1184. <SECT2 ID="faq-csincludes"><TITLE>Can I (and my authors) still use
  1185. client-side <MARKUP>INCLUDE</MARKUP>s?</TITLE>
  1186. <PARA>The same rule applies as for
  1187. <LINK LINKEND="faq-ssincludes">server-side <MARKUP>INCLUDE</MARKUP>s</LINK>,
  1188. so you need to ensure that any embedded code which gets passed to a
  1189. third-party engine (<FOREIGNPHRASE>eg</FOREIGNPHRASE> <PRODUCTNAME>SDQL</PRODUCTNAME>
  1190. enquiries, <PRODUCTNAME>Java</PRODUCTNAME>
  1191. <MARKUP>write</MARKUP>s, <PRODUCTNAME>LiveWire</PRODUCTNAME> requests,
  1192. streamed content,
  1193. <FOREIGNPHRASE>etc</FOREIGNPHRASE>) does not contain any characters
  1194. which might be misinterpreted as XML markup (<FOREIGNPHRASE>ie</FOREIGNPHRASE>
  1195. no angle brackets or ampersands): either use a <MARKUP>CDATA</MARKUP>
  1196. marked section to avoid your XML application parsing the embedded code,
  1197. or use the standard <SGMLTAG CLASS="GENENTITY">lt</SGMLTAG>,
  1198. <SGMLTAG CLASS="GENENTITY">gt</SGMLTAG>, and
  1199. <SGMLTAG CLASS="GENENTITY">amp</SGMLTAG> character entity references
  1200. instead.</PARA></SECT2>
  1201. <SECT2 ID="faq-terms"><TITLE>I'm trying to understand the XML
  1202. Spec: why does SGML (and XML) have such difficult terminology?</TITLE>
  1203. <PARA>For implementation to succeed, the terminology needs to be
  1204. precise.</PARA>
  1205. <PARA REVISIONFLAG="ADDED">Example: <WORDASWORD>element</WORDASWORD>
  1206. and
  1207. <WORDASWORD>tag</WORDASWORD> are not synonymous: an element is a whole
  1208. unit of information with its markup, and may consist of a start-tag
  1209. alone (as in HTML's
  1210. <SGMLTAG CLASS="STARTTAG">BR</SGMLTAG>) or a start-tag and an end-tag
  1211. <EMPHASIS>and the content which goes between them</EMPHASIS>; tags
  1212. alone are simply the markers at the start and end of elements.</PARA>
  1213. <PARA>Sloppy terminology in specifications causes misunderstandings, so
  1214. formal standards have to be phrased in formal terminology. This is not a
  1215. formal document, and the astute reader may already have noticed it
  1216. refers to <WORDASWORD>element names</WORDASWORD> where <WORDASWORD>element
  1217. type names</WORDASWORD> is more correct; but the former is more widely
  1218. understood.</PARA>
  1219. <PARA>Those new to <LINK LINKEND="faq-sgml">SGML</LINK> may want to
  1220. read something like the <CITETITLE><ULINK
  1221. URL="http://etext.virginia.edu/bin/tei-tocs?div=DIV1&id=SG">Gentle
  1222. Introduction to SGML</ULINK></CITETITLE> chapter of the
  1223. <ULINK URL="http://www.sil.org/sgml/acadapps#tei">TEI</ULINK>.</PARA></SECT2>
  1224. <SECT2 ID="faq-api"><TITLE>Is there a Developer's API kit for
  1225. XML?</TITLE>
  1226. <PARA>Several are reported to be under development. The ones I have
  1227. found so far are:</PARA>
  1228. <ITEMIZEDLIST><LISTITEM> <PARA>The Language Technology Group has
  1229. produced the <PRODUCTNAME>LT XML</PRODUCTNAME> toolkit (<FILENAME><ULINK
  1230. URL="http://www.ltg.ed.ac.uk/software/xml/">http://www.ltg.ed.ac.uk/software/xml/</ULINK></FILENAME>)
  1231. and the DSSSL Syntax Checker (DSC: <FILENAME><ULINK
  1232. URL="http://www.ltg.ed.ac.uk/~ht/dsc-blurb.html">http://www.ltg.ed.ac.uk/~ht/dsc-blurb.html</ULINK></FILENAME>).</PARA></LISTITEM>
  1233. <LISTITEM><PARA>[anyone with details of others please let me know]</PARA></LISTITEM></ITEMIZEDLIST>
  1234. <PARA>The big SGML conversion and application development engines like
  1235. <PRODUCTNAME>Balise</PRODUCTNAME>, <PRODUCTNAME>Omnimark</PRODUCTNAME>,
  1236. and <PRODUCTNAME>SGMLC</PRODUCTNAME> are all working on XML versions.
  1237. Details of SGML software of all kinds are on
  1238. <ULINK URL="http://www.sil.org/sgml/">the SGML Web pages</ULINK>.</PARA></SECT2></SECT1>
  1239. <APPENDIX ID="faq-form"><TITLE>Response and query form</TITLE>
  1240. <TITLEABBREV>Illustration from
  1241. <ULINK URL="http://webreview.com/97/05/16/feature/index.html">Dale
  1242. Dougherty's article in Web Review</ULINK> (courtesy of the
  1243. publishers).<INLINEGRAPHIC
  1244. FILEREF="head-xmlfiles.gif" FORMAT="GIF" XREFLABEL="[XMLfiles image]"></INLINEGRAPHIC>&xmlfiles;</TITLEABBREV>
  1245. <FORM ACTION="http://www.ucc.ie/cgi-bin/uncgi/mailform" METHOD="POST"><INFORMALTABLE>
  1246. <TGROUP COLS="2"><TBODY><ROW><ENTRY VALIGN="TOP"><PARA>Section and
  1247. question:
  1248. <INPUT NAME="QNo" SIZE="6"><DUMMY></INPUT></PARA><VARIABLELIST>
  1249. <VARLISTENTRY><TERM>New material</TERM>
  1250. <LISTITEM><PARA><INPUT
  1251. LANG="checked" TYPE="RADIO" NAME="Type" VALUE="NewQ" CHECKED="CHECKED"><DUMMY></INPUT>
  1252. New question, answer not known</PARA>
  1253. <PARA><INPUT TYPE="RADIO" NAME="Type" VALUE="NewA"><DUMMY></INPUT>
  1254. New question, with sample answer</PARA></LISTITEM></VARLISTENTRY>
  1255. <VARLISTENTRY><TERM>Corrections to existing wording</TERM>
  1256. <LISTITEM><PARA><INPUT TYPE="RADIO" NAME="Type" VALUE="ModQ"><DUMMY></INPUT>
  1257. Correction to an existing question only</PARA>
  1258. <PARA><INPUT TYPE="RADIO" NAME="Type" VALUE="ModA"><DUMMY></INPUT>
  1259. Correction to an existing answer only</PARA>
  1260. <PARA><INPUT TYPE="RADIO" NAME="Type" VALUE="ModB"><DUMMY></INPUT>
  1261. Correction to both question and answer</PARA></LISTITEM></VARLISTENTRY>
  1262. <VARLISTENTRY><TERM>Additional material</TERM>
  1263. <LISTITEM><PARA><INPUT TYPE="RADIO" NAME="Type" VALUE="AddQ"><DUMMY></INPUT>
  1264. Addition to an existing question only</PARA>
  1265. <PARA><INPUT TYPE="RADIO" NAME="Type" VALUE="AddA"><DUMMY></INPUT>
  1266. Addition to an existing answer only</PARA>
  1267. <PARA><INPUT TYPE="RADIO" NAME="Type" VALUE="AddB"><DUMMY></INPUT>
  1268. Addition to both question and answer</PARA></LISTITEM></VARLISTENTRY></VARIABLELIST></ENTRY>
  1269. <ENTRY><VARIABLELIST>
  1270. <VARLISTENTRY><TERM>Question and Answer</TERM>
  1271. <LISTITEM><PARA><TEXTAREA NAME="Q" ROWS="5" COLS="32">[replace this
  1272. with your question]</TEXTAREA></PARA>
  1273. <PARA><TEXTAREA NAME="A" ROWS="5" COLS="32">[replace this with your
  1274. model answer]</TEXTAREA></PARA></LISTITEM></VARLISTENTRY>
  1275. <VARLISTENTRY><TERM>Details</TERM>
  1276. <LISTITEM><PARA>Your name: <INPUT NAME="sender_Name" SIZE="32"><DUMMY></INPUT></PARA>
  1277. <PARA>Affiliation: <INPUT NAME="Affiliation" SIZE="32"><DUMMY></INPUT></PARA>
  1278. <PARA>Email address: <INPUT NAME="sender_Email" SIZE="32"><DUMMY></INPUT></PARA>
  1279. <PARA><INPUT TYPE="SUBMIT" VALUE=" Submit "><DUMMY></INPUT>
  1280. <INPUT TYPE="RESET" VALUE=" Clear and start again "><DUMMY></INPUT><INPUT
  1281. TYPE="HIDDEN" NAME="Version" VALUE="v.1.0"><DUMMY></INPUT></PARA></LISTITEM></VARLISTENTRY></VARIABLELIST></ENTRY></ROW></TBODY></TGROUP></INFORMALTABLE></FORM></APPENDIX></ARTICLE>
  1282.