日期:2014-3-12 浏览次数:20241次

A.概述性问题
  A.1 什么是XML?
  XML 全称是“可扩展标识言语“(Extensible Markup Language)。之所以称之为可扩展,是由于它不像HTML 那样只要固定的方式。它是被用来使SGML 能在万维网上能使用自若。
  XML并不是一个独立的,预定义的标识言语。它是一种元言语。它是用来描述其他言语的言语。它允许你本人设计你的标识。(HTML 是一种预定义的标识言语。HTML 只是在一类特定的文件中定义了一种描述信息的方法。而XML 能允许你在不同的文件中定义你本人设计的标识言语。)这是由于XML 是用SGML (“通用标识言语标准”国际标准的标识元言语)书写的。 
  A.2 XML的目的是什么?
  XML是被设计用来使SGML 能在万维网上能自若使用的:方便地定义文件类型,方便地制造和管理用SGML定义的文件,在网上方便地传输和共享这些文件。 
  A.3 什么是SGML?
  SGML的全称是“Standard Generalized Markup Language“(通用标识言语标准)。它是国际上定义电子文件结构和内容描述的标准。在往上有以下相关资源:
  SGML FAQ: http://www.infosys.utas.edu.au/info/sgmlfaq.txt
  SGML 主页: http://www.oasis-open.org/cover/sgml-xml.html 
  A.4 什么是HTML?
  HTML的全称是“HyperText Markup Language “(超文本标识言语)。它是SGML在网络上的一个特殊使用。
  A.5 XML,SGML,HTML是不是一回事?
  不竟然。SGML是XML和HTML的母言语。SGML的覆盖面很广。它几乎涉及人们生活的每一个领域。它被用来描述成千上万中文件。HTML只是其中一种文件类型,是一种在网上最常用的类型。它定义了一种简单而固定且含标识的文件类型。
  XML是SGML的简化版。为了实现愈加方便地编写和理解使用程序,愈加方便地在网络上传输信息,愈加方便地实现互操作性,XML申略了一些SGML中复杂和不常用的部分。但XML还能和SGML一样通过解析。
  A.6 SGML/XML 和C/ C++?什么不同?
  C和C++和Fortran, Pascal, Basic, 或是Java一样都是编程言语。是用来制定运算和操作的。
  而SGML和XML标是说明性的言语。它们是用来表现信息的。它们使得信息能被程序正常地存储传输和处理。就它们本身而言,并不能产生什么操作。操作要由使用程序来实现。 
  A.7 是由谁担任XML?
  XML是W3C(World Wide Web Consortium 万维网络联盟)的一个项目。XML不是任何一家公司的私有财产。 
  A.8 为什么XML是一项重要的技术?
  应为它处理了两个制约网络发展的问题:
  1.基础是单一固定的文件类型。(HTML);
  2.完整的SGML过于复杂。 
  A.9 为什么不只是扩展HTML?
  不同的厂家在开发HTML时产生了许多风趣但却不兼容的发明。这已使HTML不堪重负。由于这使得你只能用一种方法表现你的信息。XML却允许许许多多的团体与组织来创造他们本人的标识言语。使用这些标识言语他们可以在本人的领域内自在地交换信息。HTML在表现信息方面是有缺陷的。当然我们必须承认它如今仍然扮演着重要的角色。但许多新的使用领域需求愈加强大和灵活的工具。 
  B.SGML的使用(包括HTML的各种浏览器) 
  B.1 为什么我们要推荐XML而不主张HTML?
  1.我们可以用XML设计本人的文件类型。
  2.信息的内容将愈加丰富,愈加方便使用。在XML中超文本链接的能力比HTML更强。
  3. XML能使得浏览器的表现方式愈加丰富。
  4.处理XML文件比.处理SGML文件来得简单。信息的开放性和反复使用的功用斗将提高。
  5.合法(Valid 参见D中Valid与-formed)的XML文件在SGML中也是合法的。
  B.2 我是不是必须由SGML或是HTML转向XML?
  不是的。现存的SGML和HTML的使用软件仍能正常处理现有的文件。 
  C. SGML 和HTML的编写
  C.1 XML能否已取代了HTML?
  没有。XML并没有取代HTML。它只是给了你一种新的选择。HTML将仍在一段时间内广泛地被使用。HTML的DTD(参见C中DTD)将既有XML版本,又有SGML版本。但XML版本愈加简单。 
  C.2 XML文件是怎样的?
  它的基本结构和SGML和HTML差不多。XML文件可以非常简单。它可以不需求文件类型说明,而直接就是你本人设计的内嵌式标识。如下面一段代码:
  <?xml version="1.0" standalone="yes"?>
  <conversation>
  <greeting>Hello, world!</greeting>
  <response>Stop the planet, I want to get off!</response>
  </conversation>
  当然它也可以愈加复杂些。如DTD声明,内嵌子集,等等:
  <?xml version="1.0" standalone="no" encoding="UTF-8"?>
  <!DOCTYPE titlepage SYSTEM "http://www.frisket.org/dtds/typo.dtd"
  [<!ENTITY % active.links "INCLUDE">]>
  <titlepage>
  <white-space type="vertical" amount="36"/>
  <title font="Baskerville" size="24/30" alignment="centered">Hello, world!</title>
  <white-space type="vertical" amount="12"/>
  <!-- In some copies the following decoration is hand-colored, presumably by the author -->
  <image location="http://www.foo.bar/fleuron.eps" type="URL" alignment="centered"/>
  <white-space type="vertical" amount="24"/>
  <author font="Baskerville" size="18/22" style="italic">Vitam capias</author>
  </titlepage> 
  C.3 是不是HTML有一个XML版本?
  曾经有好几个HTML的XML版本,但都只是在预备阶段,并未完成。 
  C.4 既然说XML是SGML的子集,我能不能用SGML的工具直接处理XML文件?
  是的.而且非常简单。一个结构完整的XML文件和HTML文件非常相像。当然也有一些小的而且是重要的不同。在实际操作当中最大的不同就是XML文件必须摇恪守一定的法则。HTML的浏览器可以允许一些小的错误。而如果是XML就行不通了。
  C.5 什么是DTD?我能在哪儿找到?
  DTD的全称是“Document Type Definition“(文件类型定义)。具体地说,DTD是一个或是一些用XML书写的文件。它包含了对一种文件的正式定义。它定义了文件中的元素能用什么名字,能放在什么位置,应该怎样组合。在这里举一个简单的例子。比如说你想要你的文件可以描述一组<List>,其中每个<List>由可以包含若干个<Item>。那么你的DTD中应该有以下语句:<!ELEME