|
lt;!-- 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中应该有以下语句:<!ELEMENT List (Item) >
<!ELEMENT Item (#PCDATA)>
这样一个框架定义了一个表(list),它可以包含若干个项(items)。每一个项只能包括文本的内容。当处理器处理XML文件时将自动检查DTD,以此确定文件中元素从哪而来,以及它们之间是什么关系。上面的框架允许你生成下面的一个表:
<List><Item>Chocolate</Item><Item>Music</Item><Item>Surfing</Item></List>
而这样一个表在屏幕上是怎样一个表象,取决于你的样式表(Stylesheet)。在HTML中你要在文件中指定应是怎样的形式。使用DTD表明你能够确定一类文章的结构和格式。
要想找一个DTD看看吗?实际上,各个领域里的SGML DTD由成千上万。你可以参看SGML 的网页。
C.6 我总是听说DTD的替代者Schema,它到底是什么?
有许多XML的开发者并不满意XML的规范。原因有两点:
1.既然XML在说明结构信息是有很多好处,那么用来描述文件类型的结构的文件(这就是Schema)为什么不是也用XML书写的呢?这样做的好处不光是统一,而且便于用正规的文件工具编辑管理Schema。
2.过去的DTD对数据的限制不够。比如说你想要一个元素只取负值,或是必须有一个值,DTD很难做到。
C.7 我能用XML作算术运算吗?
只要你的文件类型提供算术类型,知识可以的。W3C已经有了一个MathML(Mathematical Markup Language数学标识语言)的计划。清参看W3C最新(1999年7月)发布的MathML规范。
C.8 在XML中,我能使用Java, ActiveX吗?
这取决于浏览器制造者运用的工具. XML是用来描述信息的; 描述性语言和用来描述内嵌函数功能的语言的目的是使得信息能在客户端被操作.. XML本身提供了一种定义标识的方法,而这些标识是描述性语言所必需的. XML是一个中立的标准.他不支持或是反对任何一种描述性语言.所以说它是一个开放的领域. 描述性语言是在”Extensible Style Language”XSL (可扩展类型语言).计划中提出的.
C.9 我能用Java编写或是管理XML文件吗?
可以.我们可以用任何一种编程语言从任何一种XML格式的信息中提取数据.
D.高级开发者和应用者(包括网络管理员和服务器操作人员)
D.1哪儿可以找到XML的规范?
请参见: http://www.w3.org/TR/REC-xml
D.2 "DTDless" ,"valid",和"well-formed"这些术语是什么意思?
在完整的SGML中,我们用DTD描述特定文件中的各种标识.但DTD的生成是一件极其复杂的工作.所以XML被设计成可以缺省DTD. DTDless表示您可以创造一个标识而不需正式的定义.当然这也要付出代价.您不能在其他的文件中对同样的形式采用自动的处理. DTDless的文件是以一种非正式的方式定义它的标识的.标识是在哪儿出现的就在哪儿定义它.但当一个比方说是浏览器的XML应用程序打开了一个DTDless的文件,它必须要有办法来理解文件的结构.但它又没有DTD,所以规则上有了一些改变. 举一个例子:
HTML中的<img> 是被定义为”EMPTY”(空)的.它并不需要”end-tag”(结尾标签). DTD 的XML应用程序在打开一个缺省DTD. 的文件,读到<img>时不知道是否需要一个”end-tag”.所以”well-formed”(结构良好)的定义也变得重要了. ”well-formed”可以使得一般元素和”EMPTY”元素区分开来.
D.2.1 ”well-formed”(结构良好的)文件
1.如果一个文件没有DTD,它必须在开头处有一个"Standalone Document Declaration"(独立文件声明):
<?xml version="1.0" standalone="no" encoding="UTF-8"?>
<foo>
. <bar> ...<blort/>...</bar>
</foo>
2.除了空素以外, 标记必须前后匹配.
3.所有的”attribute”值都要用引号括起来.
4. ”EMPTY”元素的tag要么用”/>”结尾,要么要补成”non-EMPTY”(非空)的元素. 比如说: <BR>要么写为<BR/> 或是<BR></BR>
5.文件中必须不能出现”markup-start “(标识开始符), 比如”<”或是“&”.
6.元素必须遵守SGML的规则,正确嵌套.
D.2.2”Valid “(合法的)XML
合法的XML是指有DTD的文件.它必须是”well-formed”的.
D.3 在DTD中,我什么时候用属性, 什么时候用元素?
这并没有唯一的答案.着取决于您设计文件的风格.以下是两个极端的例子,它们的功能是一样的:
1. <l n="184"><sp>Portia</sp><text>The quality of mercy is not strain’d,</text></l>
2. <line speaker="Portia" text="The quality of mercy is not strain’d">184</line>
D.4 SGML 和XML之间还有什么区别?
主要的区别在于DTD的内容.为了简化语法和编写软件的过程, XML中对SGML做了很大缩减.
D.5 现在有哪些XML的软件可以使用?
由于更新速度太快,我们建议您参看: http://www.oasis-open.org/cover/xml.html.
D.6 要使用XML,我是否要改变服务器的软件?
要的,但改动不大.您只要编辑您的mime-types文件,加上以下一句:
application/xml xml XML
经典问答
一.HTML已经这样流行了,为什么还要发展XML?
简单地讲,HTML不能完成,我们希望XML所要完成的任务。原因很简单,XML所要完成的任务,必须由元置标语言来完成,而HTML只是一个实例置标语言。 在XML发布之前,国际互联网的发展受到HTML如下几个问题的束缚:
1) HTML无法描述数据内容,而这一点恰恰是数据检索、电子商务所必须的。
2) HTML对数据表现的描述能力是十分不够的,如HTML还不能描述矢量图形、 科学符号等对象,目前只能通过图象来表现这些对象。
3) HTML实例置标语言的地位,完全不能适应对新标记需求的发展需要。
XML的出现,使上述问题都得到很好的解决。
试想在互联网世界,如果大家都讲方言,互相交换信息时都要进行翻译,那将是一个多么难以沟通和交流的世界。在互联网世界,XML之所以重要,恰恰是由于它扮演了"国际语言"角色的缘故。此外,XML更为互联网世界提供了定义各行各业的"专业术语"的工具。
二.如何在浏览器中阅读XML?
阅读XML文档的工具一般称为XML解析器, 也称为XML处理器。 XML处理器将数据传送到应用软件, 以便处理, 出版, 查询, 或显示。XML不给应用软件提供 应用程序接口 (API), 它只是把数据传给应用软件. XML处理器不解析非构造良好的数据。 Netscape 和 Microsoft 都已经将XML解析器包含在其浏览器中。 XML开发者团体提供免费的XML阅读器和解析器, 以便在应用软件或XML制作软件中进行应用。
三.为什么要使用XML而不是HTML?
比较重要的原因有以下六条:
1)作者和供应商能使用XML设计自己的文档类型,不必被HTML所约束。
2)由于XML的超文本链接能力比HTML强得多,XML提供的信息内容比 HTML更丰富,也更易于使用。
3)XML能提供更多更好的机制方便浏览器的信息表现和优化性能。
4)XML舍弃了SGML的复杂性,因此编写处理XML的应用程序会很容易。
5)信息易于存储,可重复使用。
6)XML文件在SGML环境中也可使用,不一定要局限于在WEB中使用。
四.可以用Java创建和管理XML文件吗?
是的,任何程序设计语言都能被用来从XML形式的源文档中输出数据。已经出现了许多的前端和后台工具使得程序设计和数据管理更加方便。下面两个网址有更加详细的?br />
[3] [4] [5] [6] [7] [8] [9] [10]
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
|