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

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