一、
xml技术简介
XML(eXtensible Markup Language??可扩展标记语言)是一种 扩展的源标记语言,是可以定义其他语言的语言。
它是SGML的一个简化子集,这个子集是专为
Web环境
设计的,这就是说,它必须处理面向数据处理的(而不是面向发布的)、生存期短的(实际上是动态产生的)信息。
XML与
HTML对比:
XML语法严格,数据与显示分离,便于其他程序
交互和检索数据。
HTML语法容错性大,数据和显示都在一起,检索数据困难较大。
XML又明确的
DOM对象,可以对XML文件进行读写添删数据的操作。
HTML没有这种明确的对象来完成该操作。
XML克服了HTML的种种不足,将网络
上传输的文档规范化,并赋予标签一定的含义。
XML作为一种网络系统中通用的数据交换格式迅速得到了支持,使用XML的实际好处有:
结构化??建立有任何复杂层次的数扭模型。
可扩展性??根椐需要定义新的标识。
验证??检查数据在结构上的正确性。
独立与媒介??以多种方式发布内容。
独立于供应商和平台??使用标准的商业软件甚至文本工具处理任何符合(XML标准)的文档。
XML文档可以通过可扩展样式语言XSL(Extensible Style Language XSL)转换和格式化XML文档。从而实现数据和页面样式的分离。
二、用
JSP技术实现XML
JSP提供了一系列的特点,可以非常理想地和XML协同工作,JSP
网页可以包含任何类型的文本数据,所以JSP可以直接生成含有XML的文档。而且,JSP可以利用强大的JAVA平台来解析、转换XML信息和文档。由于JSP也是JAVA软件环境的一部分,JSP也可以使用API对象来处理XML数据。JSP技术的强大功能和很好的灵活性加上XML技术规范化的数据,可以完美的实现网页的动态显示功能。
XSL转换语言通过将XML树形结构变换成另一个XML树形结构来操作。这种语言含有操作符,此操作符用来从树形结构中选择特定节点、对节点重新排序以及输出节点。在XML文档中引用XSL的说明如下:
< ?xsl-stylesheet type=”text/xsl” href=”mystyle.xsl”?>
表明该XML文档引用的XSL样式单为mystyle.xsl。内容与形式分离使XML文档更偏重于数据本身,而不受显示方式的细枝末节的影响。而且可以通过定义不同的样式单可以使用相同的数据呈现出不同的显示外观,实现XML数据的可重用性。
首先定义构造部分输出的模块,或对来自XML源文件中的数据应用模板。转换模板包含在元素xsl:template中,模板可定义一组将源文档转换为结果树的规则,确定要处理的节点。然后匹配模式,一个模式是一个字符串,它用于匹配XML源文件中的一个元素。用@匹配属性节点。再用XSL中的元素转换XML文档中的元素。用XSL可以非常方便地实现同HTML中同样的表单定义。只要将要在表单中的元素放入定义好的XSL模板中即可,表单的名称、提义方式等属性与HTML中的定义相同。同样的表格的范围、样式,页面的显示风格、脚本等的定义也都与HTML相似。
另外,CSS也可以应用到XML文档,但CSS决定了页面的视觉外观,不会改变源文档的结构。CSS和XSL是互相补充,各有特色的。
经过XSL转换后XML文档表单提交到JSP页面或
servlet进行处理。这部分可以完全和页面处理分开,可以实现控制逻辑的完全独立。
3、 XML文档数据的输出
XML的主要应用包括交换信息、定义文档类型、说明信息,信息以一种结构化的基于文本格式的方式表达,可以很容易地进行传输、转换和阐释。对数据的处理可以全部放在
javabean或servlet中进行,与页面的显示完全分开。
在JSP中生成XML文档很简单,仍然可使用CSS或XSL来转换和显示XML。一个具有XML模板的JSP页面,其实质就是在XML文档模板中,在适当的地方加入JAVA代码和JSP标记。在页面中加入<%@page contentType=”text/xml”%>即可以将JSP页,以XML文档形式显式出来,同时把动态数据放入<% %>标记内。对生成的XML同样可以用XSL样式单进行格式转换和样式定义等。
4、 XML与JAVA结合
XML能创建不依赖于平台、语言或限制性格式化协定的开放数据,如果广泛地采用,XML能变成为内容以及下至客户端对象通迅的广泛标准。作为内容平台XML在许多方面增强了JAVA。XML将基于网络的信息置标化,使得开发者和电脑易于辨认。这是有必要的因为HTML除了隐藏的URL外,缺少有效的方法说明内容的含义,XML的目标就为网络的对象添加那些含义,而这些曾经就是JAVA的任务之一。
许多网络开发者得出结论:XML和JAVA是完美的一对,因为彼此十分相辅相成,XML有助于独立平台、易提取信息的文档和数据。JAVA有助于独立平台,易于处理的
面向对象的应用软件解决方案,能驱动XML广泛接受的应用是在HTML的限制下难以实现的那些应用,可分为下列四类:
需要网络客户端协调各种不同类型数据库的应用。
力图将比例可观的处理工作从服务器端分布于客户端的应用。
要求客户端将同一数据以不同的形式展现给不同的使用者的应用。
智能网络代理应个别用户的要求搜索定制信息的应用。
JAVA平台提供了在网络上安全而方便地传播代码的基础,XML技术则为数据提供了同样的能力,这是一种清晰地、平台独立地表示内容的方法。在众多
编程语言中,JAVA是使用XML的优秀平台,XML又是JAVA应用的优秀数据表示方法。XML和JAVA都与Internet关系密切,XML被设计成为一个
优化的,灵活的可读格式,可直接用于Internet;而JAVA从一开始就支持socket,HTTP,HTML和服务器。它们都支持Unicode。因而很容易实现本地化应用,正如JAVA向程序员提供了表达复杂数据结构和面向对象模型的能力一样,用XML表达复杂的层次化数据模型是很理想的。
XML结合JSP技术结构明确、条理清析、简单易懂,是开发动态网站的一条快速而便捷的开发途径。