home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / CHIP_CD_1998_11_PL.iso / offline / internet / xml / xmlfaq / faq.txt < prev    next >
Encoding:
Text File  |  1998-09-17  |  50.2 KB  |  1,193 lines

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