请问HTML. XML..VRML.的区别
2HTML,DHTML,VRML,XML功能分析与比较研究
摘 要:按照标记语言的发展历程,对HTML,DHTML,VRML,XML的功能和特点进行比较分析。
关键词:Internet;Web;HTML;DHTML;VRML;XML;WWW;CSS;CGI;SML
随着Internet的普及和人们对Web日异增长的需求,需要不断有新的Web标记语言产生。本文按照标记语言的发展历程,对HTML,DHTML,VRML,XML的功能和特点进行比较分析。
1 HTML语言
HTML(Hyper TextMarkup Language,超文本标记语言),或称为“多媒体文件语言”,是用于创建Web页和Web信息发布的第一个通用语言。HTML以其简单精练的语法、极易掌握的通用性与易学性,使Web网页可以亲近于每一个普通人,Internet也才得以普及发展,以至今日的辉煌。
HTML语言是一种描述文档结构而不能描述实际的语言,用HTML语言书写的页面是普通的文本文档(ASCII),不含任何与平台和程序相关的信息,可以被任何文本编辑器读取,文字和图形可以同时在同一Page中显示。HTML文档包含2种信息:一是页面本身的文本;二是表示页面元素、结构、格式和其他超文本链接的HTML标签。
现在的HTML已经进入了第四代。第一代的Web页采用HTML1.0制作,其页面中的大部分都是文字,中间部分采用了一两幅图形。第二代的Web页采用HTML2.0制作,最主要的是增加了对表格的支持,使得WWW具有了交互功能,即可以进行信息的双向交流。目前的大多数浏览器都支持HTML2.0,在其页面中可以加入一些漂亮的背景,以表格的形式组织文字,同时提供在线的顺序表单。第三代的Web页采用HTML3.2制作,该版本增加了许多重要的标签,采用了富有创造性的页面布局、色彩控制、快速图像显示、字体显示和交互式的Web页,使得主页生动活泼、富有生机,制作主页也变得非常方便。第四代的HTML4.0和以前几个版本比较起来,除了将原有的标记扩充外,其最大的变革是可以将网页上的文字和图形当作对象,并通过Script(脚本)程序来控制,这种改变对于网页内容的动态显示或控制是非常重要的。同时CGI(Common Gateway Interface)能使Web有更强的交互功能。
HTML语言的特性可总结为以下几个方面:
(1)通用性 可实现不同平台的文档共享。
(2)可扩展性 HTML的标签集合可以根据新需求而不断修正或加入有限的新标签符,为实现有限的新功能的扩展提供保障。
(3)创建的灵活性 HTML文档是纯文本文档,可以由网页编辑器以及其他文本编辑软件创建。
2 DHTML语言
在WWW中发布HTML文档,大多数信息是静态的,而且要求服务器响应用户的交互。DHTML(Dynamic HTML)的出现,使Web范例从要求服务器交互改变为创建Web站点和Web应用。由于DHTML允许HTML文档与用户交互及客户机的巨大变化,则可以创建丰富的Web应用。
DHTML并不是什么新的技术,只不过是一些现有网页技术与标准的整合,主要包括以下一些内容:
(1)HTML4.0
(2)CSS
CSS(Cascading Style sheets,级联样式表),是W3C协会为了弥补HTML在样式编排上的不足,所制定的一种扩展式标准。由于HTML标记属性非常有限,且无法通过Script程序来控制,因此CSS扩充了HTML各标记的属性设定(称为样式),是网页内容视觉化效果有更多的变化,网页内容的表现方式也更灵活,更美观。
(3)浏览器对象模型
在4.0版以后的IE或Netscape都是对象化的,浏览器本身就是由许多对象所组成,这些对象有各自的属性、方法和事件。因此,网页设计者可通过Script程序来控制或调用这些对象。目前Microsot和Netscape的浏览器对象模型都是以W3C所公布的文件对象模型(DocumentObject Modle,DOM)为基础,再加上以扩展对象而组成。
(4)Script
Script是整个DHTML的灵魂角色,在DHTML里,网页之所以能够动起来,最主要的原因在于网页中的对象必须通过Script程序来控制,进行交互式操作。在不同的浏览器中,所使用的脚本语言不同。目前,Netscape里支持的Script是JavaScript,而IE所支持的则包括了JavaScript,JScript和VBScript。
总结以上技术,DHTML的结构可以表示为:DHTML=HTML+浏览器对象模型结构+CSS+Script。
DHTML的特点可以总结为:
(1)动态内容 通过浏览器与网页文字的对象模型,网页不用下载,其内容与对象即可以动态的增加、删除和改变显示内容。
(2)动态样式 CSS除了可以扩展HTML标记的样式属性外,还可以通过Script程序来改变这些属性。传统网页的内容与样式编排,在下载到浏览器后,是固定的,相比之下,以CSS定义的样式网页,只要通过Script控制,网页就算已经下载显示来了,还是可以改变其字体、颜色,甚至是样式的编排内容。
(3)绝对定位 以前的HTML只能定位网页对象的x,y坐标,现在DHTML可以定位网页对象的x,y,z坐标,也就是说,可以在网页上建立三维的立体空间。
3 VRML语言
VRML(VirtualReality Modeling Language)是一种模型语言,用来描述一个目标对象是如何呈现在Web上的。和HTML一样,VRML也是可由浏览器解释的描述语言,只不过VRML不是描述成一个Page的格式,而是描述成3D环境和目标的布局。HTML和VRML的差别与建筑物的蓝本和他的模型的差别是同一个道理。
VRML为虚拟环境的建立提供了规范,综合了现有三维软件的景象描述语言的优点,他有基本元素、顶点、线和面的定义,坐标变换有缩放(Scaling)、旋转(Rotation)和平移(Translation),并有优化的数据结构。
VRML浏览器作为VRML的解释器,其主要功能是读入VRML代码文件,并把他解释成一个图形映象。目前VRML浏览器软件种类很多,如:Netscape公司的Live3D,Paper Software公司的WebFX,SGI和Template Graphics Software公司的WebSpace,InterVista软件公司的World View,以及Microsoft公司的VirtualExplorer等。他们基本上实现了物体的变换效果,如灯光、视角变换、模糊、裁剪、阴影、投影和碰撞等。
VRML语言具有的基本物体有:球体、锥体、柱体、立方体和文本等为创建景象提供了方便,如下面为建立一个球体的实例:
目前有许多创建VRML文件的模型软件,并且有许多软件可以把其他三维格式的文件转换成VRML文件,如3DS,RAW等。VRML的出现使得虚拟现实像多媒体和Internet一样逐渐走进我们的生活,简单地说,以VRML为基础的第二代万维网可以表示为:“多媒体+虚拟现实+因特网”。第一代WWW是一种访问文档的媒体,能够提供阅读的感受,使那些对Windows风格的计算机环境熟悉的人们容易使用Internet,而以VRML为核心的第二代WWW将使用户如身处真实世界,在一个三维环境里随意探索因特网上无比丰富的巨大信息资源,每个人都可以从不同的路线进入虚拟世界,和虚拟物体交互,这样控制感受的就不再是计算机,而是用户自己,人们可以以习惯、自然的方式访问各种场所,在虚拟社区中“直接”交谈和交往。事实上,目前采用VRML技术取得成功的案例已经很多,例如探路者到达火星后的信息就是利用VRML在Internet上即时发布的,网络用户可以以三维方式随探路者探索火星。
VRML在电子商务、教育、工程技术、建筑、娱乐、艺术等领域的广泛应用,将会促使他迅速发展,并成为构建虚拟现实应用系统的基础。虚拟现实作为一种全新的人机接口技术,必须研究用户和计算机之间的协调关系问题,这样一个问题只有通过大量的使用才能逐步解决,VRML以Internet作为应用平台,最有希望成为构筑虚拟现实应用的基本构架。
总之,VRML将创造一种融多媒体、三维图形、网络通讯、虚拟现实为一体的新型媒体,兼具先进性和普及性。
4 XML语言
XML(eXtensible Markup Language,扩展标记语言)是Web中的新一代标记语言,是SGML的一个简化但严格的子集,他与SGML同属元标记语言。XML继承了SGML的3个特性,同时也具有HTML的灵活性和通用性,其特性主要表现在:
①确认性;
②结构化;
③可扩展性;④通用性;
⑤灵活性。
XML在三层架构上为数据处理提供了很好的方法。数据的集成、发送、处理和显示是图1所示过程中的每一个步骤。
CSS仍然被应用于结构简单的XML数据,但是,CSS不提供与数据源结构不同的数据显示结构。使用XSL,可以产生与原来的XML数据结构完全不同的表达结构。如图2所示。
XML的一个主要目标市场是电子商务。传统EDI(电子数据交换)机制依靠不同商业之间的强大计算机系统来实现压缩的信息传输,每一条信息在传输使用、提供给用户之前都必须编码,电子商务在网上运作时,用户端每填完一个HTML的表格之后,都要把表格法还给初始的服务器处理,产品交易、谈判签约、后勤管理、税收报表等这些活动的数据处理都集中在一端。可以预测到,有了XLL所链接的行为控制机构和XSL所提供的客户端评价功能,将来的数据可以从屏幕上抓取,有必要的话可在客户端处理,在处理数据时,传输给相关用户而不必改换数据格式。
XML的应用弥补了许多HTML的缺陷,我们把他在网上的应用总结为以下几点:
(1)当网络客户必须在不同的数据库之间传递信息时的应用;
(2)当需要把大部分从网络服务器下载的数据在用户端处理时的应用;
(3)当相同的数据对于不同的用户需要有不同的界面时的应用;
(4)当网络情报供货商要把发现的信息精心裁减,并发送给不同的个人用户时的应用。
XML DTD XSD XSL XDR都有什么区别?
XML=可扩展标记语言(eXtensible Markup Language).
可扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。XML的前身是SGML(The Standard Generalized Markup Language),是自IBM从60年代就开始发展的GML(Generalized Markup Language)
同HTML一样, XML (可扩展标识语言)是通用标识语言标准(SGML)的一个子集,它是描述网络上的数据内容和结构的标准。尽管如此,XML不象HTML,HTML仅仅提供了在页面上显示信息的通用方法(没有上下文相关和动态功能) ,XML则对数据赋予上下文相关功能,它继承了SGML的大部分功能,却使用了不太复杂的技术。
为了使得SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。
因为XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对XML标准的意见,并提出自己的看法 (www.w3.org/TR/WD-xml)。因为XML 是个公共格式, (它不专属于任何一家公司),你不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言
DTD=类型定义(Documnet Type Definition)
DTD 是一套关于标记符的语法规则。它是XML1.0版规格得一部分,是XML文件的验证机制,属于XML文件组成的一部分。
DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。
XML文件提供应用程序一个数据交换的格式,DTD正是让XML文件能够成为数据交换的标准,因为不同的公司只需定义好标准的DTD,各公司都能够依照DTD建立XML文件,并且进行验证,如此就可以轻易的建立标准和交换数据,这样满足了网络共享和数据交互。但是DTD 是使用非 XML 语法编写的
DTD 不可扩展,不支持命名空间,只提供非常有限的数据类型
XSD=XML结构定义 ( XML Schemas Definition )
它是DTD的替代品。XML Schema语言也就是XSD。XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。
一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。
XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间。
XML Schema的优点:
1) XML Schema基于XML,没有专门的语法
2) XML可以象其他XML文件一样解析和处理
3) XML Schema支持一系列的数据类型(int、float、Boolean、date等)
4) XML Schema提供可扩充的数据模型。
5) XML Schema支持综合命名空间
6) XML Schema支持属性组。
XSL=可扩展样式表语言 (EXtensible Stylesheet Language)
XSL 之于 XML ,就像 CSS 之于 HTML。它是指可扩展样式表语言 (EXtensible Stylesheet Language)。这是一种用于以可读格式呈现 XML 数据的语言。
XDR=XML数据简化构架定义(XML-Data Reduced),用来校验一个XML文件。
参考:
http://www.w3.org
http://baike.baidu.com/view/63.htm
http://baike.baidu.com/view/45861.htm
http://baike.baidu.com/view/712698.htm
http://baike.baidu.com/view/147436.htm
HTML、xml什么差别
1:xml是用来存放数据的
2: xml不是HTML的替代品,xml和html是2钟不同用途的语言。
3:xml是被设计用来描述数据的,重点的是:什么是数据,如何存放数据,用来描述数据是什么的,所以可以作为持久化的介质!
4:html是被设计用来显示数据的,重点的是:显示数据以及如何更好的展示在页面
5:html是用来显示信息的,xml是用来描述信息的
6:XML只是用来组织、存储和发送信息的。
7:对于XML最好的形容可能是: XML是一种跨平台的,与软、硬件无关的,处理信息的工具。
8:XML将成为最普遍的数据操纵和数据传输的工具
9:这与HTML不一样, XML标记是大小写敏感的。
10:在XML文档中,空白部分不会被解析器自动删除 但是html是过滤掉空格的
简述XML,DTD,XSL,CSS,DSO,DOM各是什么东西
xml是一种数据结构,主要特征就是标签式和内部属性,特点是结构要求非常严谨
标签必须闭合。html可以说是xml的一种形式,不过不严谨
DTD的话通常出现在html文件头部的
这句话里吧,定义一套规则解析xml的规则,比如“XHTML 1.0 Transitional”意味着是用Transitional方式解析html,还可以取值Strict,那么对于你的html就会要求很严格,一点小错都会导致检查不通过。
XSL格式和xml语法方式相同,XML 用于承载数据,而 XSL 则用于设置数据的格式。xsl这方面我不是非常了解,就不扯了。
css是翻译成中文是层叠式样式表,用来修饰html,是html拥有复杂样式,更加美观
DSO不晓得是啥
DOM指的的是xml里面的节点结构,比如任何一段闭合标签块,都能称为dom,通常说得dom操作就是指xml里面的结点增删改查。
XML和HTML 有什么区别?
(1)XML
XML是The Extensible Markup Language(可扩展标识语言)的简写。目前推荐遵循的是W3C于2000年10月6日发布的XML1.0,参考(www.w3.org/TR/2000/REC-XML-20001006)。和HTML一样,XML同样来源于SGML,但XML是一种能定义其他语言的语。XML最初设计的目的是弥补HTML的不足,以强大的扩展性满足网络信息发布的需要,后来逐渐用于网络数据的转换和描述。关于XML的好处和技术规范细节这里就不多说了,网上有很多资料,也有很多书籍可以参考。
(2)XHTML
XHTML是The Extensible HyperText Markup Language可扩展标识语言的缩写。目前推荐遵循的是W3C于2000年1月26日推荐XML1.0(参考 http://www.w3.org/TR/xhtml1)。XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的站点,直接采用XML还为时过早。因此,我们在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。简单的说,建立XHTML的目的就是实现HTML向XML的过渡。
(3)HTML
HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。神奇吗?一点都不神奇,因为现在你看到的就是这种语言写的页面.哈哈.
也许你听说过许多可以编辑网页的软件,事实上,
XML格式是什么格式 ?
XML(eXtensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。
为了使得SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。
因为XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对XML标准的意见,并提出自己的看法 (www.w3.org/TR/WD-xml)。因为XML 是个公共格式, (它不专属于任何一家公司),你不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言
RTF格式是许多软件都能够识别的文件格式。比如Word、WPS Office、Excel等都可以打开RTF格式的文件,这说明这种格式是较为通用的。
RTF是Rich Text Format的缩写,意即多文本格式。这是一种类似DOC格式(Word文档)的文件,有很好的兼容性,使用Windows“附件”中的“写字板”就能打开并进行编辑。使用“写字板”打开一个RTF格式文件时,将看到文件的内容;如果要查看TRF格式文件的源代码,只要使用“记事本”将它打开就行了。这就是说,你完全可以像编辑HTML文件一样,使用“记事本”来编辑RTF格式文件。
对普通用户而言,RTF格式是一个很好的文件格式转换工具,用于在不同应用程序之间进行格式化文本文档的传送。
通用兼容性应该是RTF的最大有点,但同时也就具有它的缺点,比如文件一般相对较大(可能因为嵌入了兼容各种应用程序的控制符号吧)、WORD等应用软件特有的格式可能无法正常保存等。
.xml是什么格式?有什么用,怎么打开呢?
XML有以下几个优点:
数据是自说明的
数据可用标准工具加以处理
数据可用标准工具查看
用样式单可容易地生成同样数据的不同视图
XML格式的第一条主要好处是数据是自描述的。每个数字的意义是清楚的,且不会错误地与数字本身相联系。当读取文档时,用户了解 2 中的2指的是击中数而不是得分或是防守。如果键入文档的打字员漏掉了一个数字,不会造成其后的数字都错了位。HITS就是HITS,即使它前面的RUNS元素丢失也没关系。
在本书第二部分中,读者会看到,XML还可以使用DTD来加强限制,使得某些元素,如HITS或RUNS必须存在。
第二条好处是XML提供的数据可用广泛的具有XML处理能力的工具加以处理,从相当贵的软件,如Adobe FrameMaker 到免费软件,如Python和Perl。数据量可以很大,但是数据额外的冗余就允许使用更多的工具来处理它。
当查看数据时,也同样有这样的问题。XML文档可装入Internet Explorer 5.0、Mozilla、FrameMaker 5.5.6和许多其他工具,所有这些工具都提供唯一的、有用的一种数据的视图。数据还可以装入简单的文本编辑器中,如vi、BBEdit和TextPad。这就使得数据或多或少的可在多种平台上查看。
使用新软件也不是获得数据的不同视图的唯一方法。在下一节中,我们将为棒球统计数据创建一个样式单,来提供一种与图4-1完全不同的查看数据的方法。每当对同一文档施加不同的样式单,都可以看到不同图景。
最后,要向自己发问,文件大小真是很成问题吗?当前硬盘容量已经相当大了,可以存入大量数据,即使存储得不太节省也没有太大的关系。同时,XML文件的压缩率很大。全部的两大棒球联赛1998年统计数据的文档是653K。如果用gzip 压缩一下的话,只有66K,几乎压缩了90%。先进的HTTP服务器,如Jigsaw可以发送压缩文件,而不必解压缩,因而文档所用的网络带宽与其实际信息内容已相当接近。最后,我们不能认为二进制文件格式(特别通用的格式)必定是高效的。包含1998statistics.xml文件同样数据的Microsoft Excel文件的大小达到了2.37MB,比XML格式大了三倍多。虽然我们能够创建更为有效的文件格式和编码方法,但实际上简单并不是必须的。
http://www.idfree.net/artlist.asp?a_id=410
把数据转换成XML格式的好处
我们常常会碰到需要处理以各种格式(从以逗号或者制表符做分隔符的文件到更负载的格式)保存或者传输的数据的情况,对每一种格式你都需要对应的解析器(parser)。这一缺点减缓了开发进度,而且可能会导致错误的发生。一个解决方案就是把常用格式的数据转化成XML文档,然后对它进行保存、处理或者转换成其它格式。
一个实例
现在已经有好多种实现在软件内部或者软件之间进行数据保存、导出、导入以及传输功能的数据格式。最常见的是定界格式(delimited format),如逗号或者制表符分隔数据格式以及定长数据格式。假设我们有一个地址簿程序,该程序提供把数据导出成逗号分隔以及固定长度这两种格式的功能。
在逗号分隔格式中,用逗号来分隔同一个数据记录中的不同字段,如清单A所示。而在固定长度数据格式中,记录的每一个字段都应该有一个标准长度。清单B给出了一个固定长度格式的地址簿。
创建XML文档
现在,让我们解析输入数据并把它转换成XML文档。XML文档(即org.w3c.dom.Document)是全部文档对象模型(DOM)的原始数据类型,并且它提供了对文档数据的访问。
你可以用执行buildDocument(InputStream is)方法来创建与你的数据对应的文档,如代码清单C所示。该方法逐行读取输入数据流,并根据给定格进行来逐行分析。
如果你想解析分界格式数据,你需要创建构造函数为PlainTextToXmlFormatter(String[ ] colName,String delim)的类的实例,其分界符可以是任何字符串。在固定长度格式的情况下,你应该使用第二种构造函数PlainTextToXmlFormatter(String[ ] colName,int[ ] colLen),它的一个参数为字段长度数组。在我们所给的地址簿例子中,各字段的长度分别为10、10、30以及10个字符。参数colName是保存了目标数据记录的名字的数组,在我们给出的这个例子中,名字分别为名(firstName)、姓(lastName)、email以及电话号码(phone)。
把数据行转换为数据符号的实际解析过程也就是执行getStringArray(String read,String delim)或者parseFixedLengthMessage(String read,int[ ] colLen)方法的过程。其返回值是一个String型数组,这个数组是上述两个方法把给定输入进行分解而得来的。如果数据格式不对,就会抛出一个例外并且终止解析过错。调用setSkipError(true)方法就可以忽略例外并完成数据解析过程。调用这个方法可以防止抛出例外,但它仍允许程序向错误输出流打印错误信息。
当行被解析成标记后,它们作为XML文档的元素而加入到XML文档之中。放入到元素之中的每一行记录都有一个默认的名字line,你也可以调用setDataLineName()来指定名字。每一个数据记录都是一个列元素,列元素的名字由相应的类构造函数提供,子元素加到行元素之中。
在输入数据完全读取之后,你就得到了一个有效的XML文档,你可以进一步处理这个文档。现在,由于数据是按众所周知的树状结构来组织的,因此处理它非常简单。例如,你可以把这个文档送交给第三方,只要第三方知道该文档的文档类型定义(Document Type Definition ,DTD),那么他就可以很容易的处理文档了。你还可以调用writeDocument(Document doc,OutputStream osOut)方法来保存这个文档。代码清单D就给出一个把XML文档保存到一个文件中的例子。
用XSLT转换来查看数据
你还可以把XML数据转换成其它格式,并用不同的视图来表示其内容。最简单的方法就是使用XSLT转换,它提供了一种强大的面向树的转换语言实现,可以把使用一种词汇表的XML实例转换成简单文本、HTML或者使用其它词汇表的XML。
对给定的XML输入,你可以用XSLT语言来创建你所期望的输出。例如,通过执行transformData(InputStream xmlIn,InputStream xslIn,OutputStream transfOut),你就可以把XML数据转换成一个HTML文档。代码清单E提供了XSLT转换的一个例子,而清单F给出了地址簿条目的HTML视图。
简化对数据的管理
在本文中,我们通过分析PlainTextToXmlFormatter类而学会了如何把常用格式数据转换成XML文档。我们还看到了如何借助于XSLT转换而用不同的视图来表示XML文档。当你需要处理各种格式的数据时,采纳上述技术或许就就是一个好的解决方案,从而节省了你的宝贵时间并减少了出错的可能性。
http://www.toprosoft.com/data/4/0292663753460.htm
XML与DTD的关系?
DTD”(Documnet Type Definition)是XML1.0版规格得一部分,它是XML文件得验证机制,属于XML文件组成得一部分,DTD在XML文件所扮演得角色就是定义XML文件的元素架构、元素标记和属性!
一旦我们定义好DTD,在使用编辑工具如XML Spy 或者验证工具 XML validate (微软网站均可以下载)就可以对编写好的XML文件进行DTD检查内容是否为合法的XML文件内容!
XML文件提供应用程序一个数据交换的格式,DTD正是让XML文件能够成为数据交换的标准,因为不同的公司只需定义好标准的DTD,各公司都能够依照DTD建立XML文件,并且进行验证,如此就可以轻易建立标准一直的交换数据!
顺便介绍一下另一种验证机制 XML Schema ,和DTD相比较,其区别主要如下:
1.DTD拥有自己独特的语法和编写方式,它和XML文件的标记架构完全不同!
2.XML Schema 本身就是一份XML文件,使用标记语法定义其他的XML文件,因为它就是一份XML文件,在学习上不必特别学习DTD语法,而且支持数据类型,能够定义元素的内容!
XML Schema 是由微软所提出的规格草案,目前已成为建议规格,它的目的就是取代DTD成为XML文件下一代的验证机制!
DTD 是一套关于标记符的语法规则。它是XML1.0版规格得一部分,是XML文件的验证机制,属于XML文件组成的一部分。
DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。
XML文件提供应用程序一个数据交换的格式,DTD正是让XML文件能够成为数据交换的标准,因为不同的公司只需定义好标准的DTD,各公司都能够依照DTD建立XML文件,并且进行验证,如此就可以轻易的建立标准和交换数据,这样满足了网络共享和数据交互。
DTD文件是一个ASCII的文本文件,后缀名为.dtd。
DTD增加了XML的有效性,
可以使用DTD校验自己的XML数据
DTD与Schema的比较:他们都用来校验自己的XML数据
DTD 的局限性
DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法)
DTD数据类型有限(与数据库数据类型不一致)
DTD不可扩展
DTD不支持命名空间(命名冲突)
Schema的新特性
Schema基于XML语法
Schema可以用能处理XML文档的工具处理
Schema大大扩充了数据类型,可以自定义数据类型
Schema支持元素的继承—Object-Oriented’ish
Schema支持属性组
XML文档定义有几种形式?它们之间区别?
两种形式 dtd schema, 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的),
xml格式是什么?
xml
█XML是eXtensible Markup Language的缩写。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。
XML的前身是SGML(The Standard Generalized Markup Language),是自IBM从60年代就开始发展的GML(Generalized Markup Language)
同HTML一样, XML (可扩展标识语言)是通用标识语言标准(SGML)的一个子集,它是描述网络上的数据内容和结构的标准。尽管如此,XML不象HTML,HTML仅仅提供了在页面上显示信息的通用方法(没有上下文相关和动态功能) ,XML则对数据赋予上下文相关功能,它继承了SGML的大部分功能,却使用了不太复杂的技术。.
为了使得SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。
因为XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对XML标准的意见,并提出自己的看法 (www.w3.org/TR/WD-xml)。因为XML 是个公共格式, (它不专属于任何一家公司),你不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言
XML(可扩展标记语言)是从称为SGML(标准通用标记语言)的更加古老的语言派生出来的。SGML的主要目的是定义使用标签来表示数据的标记语言的语法。
标签由包围在一个小于号(<)和一个大于号(>)之间的文本组成,例如。起始标签(start tag)表示一个特定区域的开始,例如;结束标签(end tag)定义了一个区域的结束,除了在小于号之后紧跟着一个斜线(/)外,和起始标签基本一样,例如。SGML还定义了标签的特性(attribute),它们是定义在小于号和大于号之间的值,例如中的src特性。如果你觉得它看起来很熟悉的话,应该知道,基于SGML的语言的最著名实现就是原始的HTML。 SGML常用来定义针对HTML的文档类型定义(DTD),同时它也常用于编写XML的DTD。SGML的问题就在于,它允许出现一些奇怪的语法,这让创建HTML的解析器成为一个大难题: q 某些起始标签不允许出现结束标签,例如HTML中标签。包含了结束标签就会出现错误。 q 某些起始标签可以选择性出现结束标签或者隐含了结束标签,例如HTML中 标签,当出现另一个 标签或者某些其他标签时,便假设在这之前有一个结束标签。 q 某些起始标签要求必须出现结束标签,例如HTML中