您所在的位置: 首页 > 开发 >

XML常见问题(2)

http://developer.51cto.com  2005-11-08 10:05    51cto.com整理  我要评论(0)
  • 摘要:本文是关于XML常见问题的问答,包含多方面基础知识的介绍。
  • 标签:XML
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中应该有以下语句:<!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格式的信息中提取数据.


共5页: 上一页 [1] 2 [3] [4] [5] 下一页
【内容导航】
文档格式标准开战 OOXML成国际标准
XML可扩展标识语言详解
JSP开发基础教程
PHP开发基础入门
深入Vista应用程序开发
 
 验证码: (点击刷新验证码)   匿名发表
  • .NET程序员面试指南

  • 作者:朱毅
  • 本书着重针对.NET技术职位的应聘者,在.NET框架各个技术类别中,选取最常出现在.NET面试中的问题,进行分析和解答,同时解释和..
Copyright©2005-2008 51CTO.COM 版权所有