|
文档中还可以包括实体声明和实体引用。简单地说,实体分为一般实体和参数实体。参数实体只能出现在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的说明如下:
< ?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的限制下难以实现的那些应用,可分为下列四类:
需要网络客户端协调各种不同类型数据库的应用。
力图将比例可观的处理工作从服务器端分布于客户端的应用。
上一篇:JSP实现JDOM处理数据库到XML转换的应用
下一篇:Java编程中更新XML文档的常用方法介绍
|