快捷搜索:

JSP+XML实现网页内容动态显示的方案

一、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技巧规范化的数据,可以完美的实现网页的动态显示功能。

三、开拓情况

1、编辑对象

现在,开拓XML文档的对象越来越来多,从链接大年夜型公司数据库的企业级XML开拓情况,到简化标记开拓历程的简单的小型文本编辑器。最新的对象可以从http://www.xml.com懂得到。今朝,常用的几种开拓对象先容如下:

UltraEdit 由IDM Computer Solution 公司开拓,可到http://www.ibmcomp.com或http://www.ultraedit.com免费下载有限日应用版。它是界面类似于Windows的资本治理器式的界面,有很强的文本主笔功能。

XML Spy Icon Information-Systems 公司的XML Spy 是XML 一个集成开拓情况,包括进行XML开拓的各个方面,功能较强,简单易用。XML Spy是一个真正完备的XML开拓情况。它将所有开拓XML所需的要素都包孕在一个简单易用的产品中。它包括:XML编辑器和查验、Schema/DTD编辑器和查验、XSL编辑器和转换。同时还包孕最新的XML草案,是一个弗成多得的好软件。

XML Writer 这个软件是由Wattle Software-Chris Howard 开拓的,可从http://XMLwriter.net下载(试用)。在Window 95/98/2000 and Windows NT4下应用,也有着大年夜家认识的Windows界面,供给了工程治理情况,可能刨建、查看工程,工程下包孕文件,用户可自定义对象条、快捷键,并且可为敕令选择显示图标。可用XSL样式表转换XML文件为HTML文件,不仅可应用XSL,而且可以应用XQL,用DTD或XML Schema 对XML进行查验,用XML款式直接的将CSS结合到XML,供给在线赞助功能,并且它对中文的支持较好。

2、XML办事器

因为XML技巧有很大年夜的成长潜力,浩繁厂商供给了自己的XML办事器,此中有Apache、Microsoft、Sun等。

3、浏览XML的对象

现在,大年夜多半规划是将XML存储在数据库中,当必要时掏出代码,将其与数据结合起来,应用XSL将其转换为HTML,然后发送到浏览器。以是浏览XML一样平常选用IE可Netscape, 而且版本越新对XML文档支持越好。

四、详细实现

1、 规范定义XML文档中元素名称

首先定义XML文档头部,包括XML遵照的规范、编码要领、注释等。例如:

“version=1.0 “,表示该XML文档遵照XML1.0规划,这个笑剧声明是必须的。

“encoding=gb2312 ,假如没有这个声明,必须应用Unicode,以UTF-8或UTF-16作为编号要领。假如文件中应用了中文,就必须进行编码声明。

“standalone=yes ,XML声明还可以有standalone特点,它阐明,文档是否在这一个文件里必要从处部导入文件。假如XML文档在一个文件里完成,那么standalone特点的值就设置为“yes。

然后,根据营业的必要规范定义页面上要显示的元素,以及定义它们的元素名称,元素名称可所以中文的,这样对数据描述加倍简单清楚明了,这是HTML无法实现的。元素是文档的主要逻辑部件,由开始和停止标记界定,款式为:

元素的内容

元素的内容,可以直接写在页面上,也可以从数据库中取得。

文档中还可以包括实体声明和实体引用。简单地说,实体分为一样平常实体和参数实体。参数实体只能呈现在DTD中,一样平常实体呈现在一根元素开始的主XML文档中。实体声明款式为:。一样平常实体的引用很简单:“&实体名称;,参数实体的引用与一样平常实体的引用类似:“%实体名称;。实体是功能强大年夜的对象,供给了治理大年夜量内容的便捷机制。

写好后反省XML文档,确保文档的款式精确和有效。一个款式精确的XML文档满意:

每一元素必须有肇端和停止标注;

必须有一个,而且只有一个称为根元素或文件元素的元素,并且它不呈现在其他任何元素的内容中;

它包孕一个或多个元素

精确的定义和表示空元素;

和停止标记可以应用大年夜写或小写,但它们必须匹配;

以肇端标签和停止标签为界的各个元素必须精确地嵌套,不容许呈现交叉;

属性值必须应用引号括起来;

此文件中直接或间接引用的每一个己析实休都是款式精确的;

它满意XML规范中定义的所有其他的款式精确性约束。

2、 应用XSL显示XML文档

XSL(eXtensible stylesheet language)是描述XML文档样式的一种说话,是由W3C拟订的。XSL处置惩罚法度榜样读取XML文档和XSL样式单,基于处置惩罚法度榜样在XSL样式单中找到的指令,输出新的XML文档。XSL样式表便是对XML文档中类的描述文件,描述文件阐明的是若何应用款式化词汇将类实例转换为一个XML文档。同时,XSL样式表也必须是组织优越的XML。

XSL有三个组成的模块:XSL模式(XSL Patern)、XSL名域(XSL Namespace)、fo名域(fo Namespace)。应用XSL样式单可有三种主要要领将XML文档转换成其他款式:XML文档和相关的样式单都是用于客户端(Web浏览器)的,然后客户端法度榜样依照旧式单中指定款式转换文档,并将它出现给用户;办事器将XSL样式单利用于XML文档,以便此文档能够转换成其他某种款式(平日为HTML),并把转换后的文档发送到客户端法度榜样(Web浏览器);应用第三要领度榜样将源XML文档转换成其他某种款式(平日为HTML),才把此文档放置在办事器上,办事器和客户法度榜样只处置惩罚转换后的文档。因为,大年夜多半浏览器是IE,而且IE对XSL的支持又好,第一种措施常被采纳。

XSL转换说话经由过程将XML树形布局变换成另一个XML树形布局来操作。这种说话含有操作符,此操作符用来从树形布局中选择特定节点、对节点从新排序以及输出节点。在XML文档中引用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标记。在页面中加入即可以将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技巧布局明确、条理清析、简单易懂,是开拓动态网站的一条快速而便捷的开拓道路。;

您可能还会对下面的文章感兴趣: