jbuilder教程~!快来下载吧~!
这个很好快来啊~
源代码在线查看: xml_saxdatabinding.html.primary
XML Application Developer's Guide: Programmatic manipulation of XML
可编程XML操作
译者名字: Luke(JD032)
邮件地址:Loope@sohu.com
可编程XML操作是Jbuilder企业版的功能。
典型的XML 可编程操作可以使用解析器或一个数据绑定方案。JBuilder 支持这两种方法,且分别提供了工具。
DOM 和 JAXP 的SAX向导和库定义。
BorlandXML 可以从DTD生成JAVA代码。
Castor 可以从Schema 生成JAVA代码。
这些和Jbuider绑定在一起的预定义的库:JDOM、JAXP、Xerces、BorlandXML、Castor,等等,都可以加到你的项目中去。你可以在Project
Properties对话框中把它们加进去。选择Project|Project Properties ,然后选择Paths
page,点击Required Libraries,然后把所需的库加进去。一旦把库加进去后,Jbuilder的CodeInsight就可以访问它们。在编辑框里写代码的时候,就可以在弹出窗口中显示其数据成员和方法、参数,就象使用自己的源代码一样。
创建一个SAX文档
这个功能在Jbuilder 企业版里提供。
SAX是XML的简单的API,是一个事件驱动的XML解析器的标准接口。有两类XML的API:基于树形的API和事件驱动的API。
基于树形的API 把XML文档变成内部树形结构,允许程序遍历该树。基于树形的API 的标准是文档对象模型DOM(Document Object Model)。
SAX是事件驱动的API,通过回调(callback)直接把解析结果报告给应用程序。和GUI图形化用户接口处理事件一样,应用程序通过句柄实现来处理各种事件。
举例来说,一个事件驱动的API看起来应象下面的一样:
<?xml version="1.0"?>
<page>
<title>Event-based example</title>
<content>Hello, world!</content>
</page>
有以下事件:
start document
start element: page
start element: title
characters: Event-based example
end element: title
start element: content
characters: Hello, world!
end element: content
end element: page
end document
JBuilder 使得用SAX操作XML文档更容易,SAX句柄向导可以创建SAX解析器的实现模板,包含解析XML的方法。
使用SAX句柄向导步骤:
选择File|New ,打开对象面板,点击XML标签,然后双击SAX句柄向导的图标打开向导。
输入类名和包名,或者接受默认的名字。
选择想重载的接口或方法,单击Next。
选择你想要的SAX解析器选项,点击Finish。
向导将生成SAX解析器的实现,你还需在方法里加入自己的实现代码。
配置项目属性的Run page ,选择运行的主程序,在程序参数字段里指定要解析的XML文件。
想了解关于SAX的更多信息,请访问http://www.megginson.com/SAX/index.html.
想看SAX句柄向导的教程,请看"教程: Sax Handler"。
数据绑定
这个功能在JBuilder企业版里提供。
数据绑定意思是说数据访问和数据处理,然后把处理后的数据写入数据库或者在XML文档里显示。XML文档可以看作是数据库和应用程序之间的传输机制。通过把一个JAVA对象和XML文档绑定来进行传输。数据绑定是通过生成JAVA类来实现的,这些类受到DTD或XML
schema里语法限制。你可以用这些类来创建符合语法的XML文档,读符合语法的XML文档,也可以在修改文档时检验和语法不一致的地方。
JBuilder 提供了几种数据绑定方式:BorlandXML 和open-source Castor 。BorlandXML 使用DTD文件,而open-source
Castor从schema 文件 (.xsd)生成JAVA类。
请看: "XML数据绑定"
,即http://www.oasis-open.org/cover/xmlDataBinding.html
BorlandXML
BorlandXML提供了一种数据绑定机制,它隐藏了XML的细节,减少了复杂度,易于实现。BorlandXML是一个基于模板的类生成器,用于从Document
Type Definition (DTD)文件生成JavaBean类。你不用关心XML文件的细节,只需用简单的Javabean编程转换来处理XML数据。
BorlandXML 分两步用DTD来生成Java 类。第一步:BorlandXML 从DTD生成一个类模型。这个类模型文件是一个带.bom扩展名的XML文件。这个文件描述了目标类的结构且提供了定制类的方法。第二步,BorlandXML
从带.bom后缀文件生成JAVA类。
BorlandXML 支持以下功能:
JavaBean 处理:使用bean来构造一个XML文档或者访问文档数据。
在XML文件和JAVA类之间的 Marshalling 或 Unmarshalling 转换:
Marshalling: 从JavaBean对象输出一个XML文档- Java to XML 。
Unmarshalling: 把一个XML文档读入到JavaBean对象中去- XML to Java 。
文档检验:在marshalling 对象到XML之前,或在unmarshalling XML文档到JavaBean对象之后,都要检验JavaBean
对象。
PCDATA定制:允许PCDATA定制来支持不同的基本数据类型,如整型和长整型,还支持定制属性名字。
变量名字:允许为有前缀或后缀的元素或属性生成不同的名字。
使用数据绑定向导从DTD生成JAVA类:
在项目窗格的DTD文件上单击右键,选择Generate Java 打开数据绑定向导。在DTD文件字段里已经自动添上了文件名。也可以通过
File|New ,选择XML 标签来进入数据绑定向导。
选择仅基于DTD的BorlandXML 作为数据绑定类型,然后点击 Next。
添好所需的字段,如:所用DTD文件的名字和位置,还有根元素。
输入要插入到DOCTYPE声明里的PUBLIC 或SYSTEM 标志符。
点击Finish。
在项目窗格中,扩展开所生成的包的节点,可以看到向导所生成的.java文件。
想看使用BorlandXML 数据绑定的教程,请看"教程:使用BorlandXML的DTD数据绑定"。
Castor
Castor 是一个XML数据绑定的架构,把一个XML schema 的实例映射到一个表示数据的对象模型。这个对象模型包括一组类,还有类和字段信息的描述信息。
Castor 用marshalling 架构包含一组ClassDescriptors 和 FieldDescriptors
,描述一个对象怎样marshalled 和怎样从XML文件unmarshalled 。
对不熟悉"marshal" 和 "unmarshal"的人来说,其实就是简单的对对象的字节流的转换操作。"marshalling"操作就是把对象转换为数据流,反之,"unmarshalling"
就是从字节流到对象的转换。
Castor 用schema 创建JAVA类,而不是DTD文件。Schema (XSD),更健壮和灵活,比起DTD来更多优点。Schemas 是XML文档,不象DTD文件中包含非XML的语法。Schemas
也支持namespaces ,可以防止名称冲突,提供了更好的数据类型扩展和继承支持。
使用数据绑定的向导,从XML schema 生成JAVA类的步骤如下:
在项目窗格里的schema (XSD) 文件名上右键,选择Generate Java进入数据绑定向导。XML schema文件名字段已自动填好。也可以通过
File|New,选择XML标签,然后进入数据绑定向导。
选择支持XML schemas 的Castor 作为数据绑定类型,单击 Next。
填好所需字段,如包名,选好所选选项。
点击 Finish。
扩展项目窗格里的包节点,可以看到.java文件已由向导生成。
注意:默认情况下,Castor的marshaller写的XML文档没有缩进,因为缩进使所生成的XML文件变得很大。要把缩进功能开启,请打开Castor的属性文件,修改以下内容:org.exolab.castor.indent=true。在这格文件里你还可以修改其他属性。这个castor.properties文件是由向导自动生成的,放在项目源文件目录下。
想看Castor 的教程,请到"教程:使用Castor的Schema
数据绑定"。
Castor 的文档和例子可以在JBuilder 完全安装的附加目录下找到。或者访问网站http://castor.exolab.org。
数据库商业数据接口
数据库商业数据接口是Jbuilder企业版的功能。
JBuilder支持的XML数据库有以下两类:基于模型(model-based)和基于模板(template-based)。基于模型(model-based)方案用一个映射文档来决定在XML结构和数据库元数据的传输。基于模型(model-based)组件:XMLDBMSTable
和 XMLDBMSQuery ,是用XML-DBMS 实现的。这是一个和JBuilder 绑定的开放原代码的XML中间件。
基于模板(template-based)方案使用模板,即一套规则。基于模板(template-based)的组件:XTable 和 XQuery
,非常灵活,且在XML文档和查询的数据库元数据之间没有预先定义的关系。
想了解更多XML数据库组件的信息,请看"使用JBuilder 的XML 数据库组件"。
也可以访问 XML-DBMS
即 http://www.rpbourret.com/xmldbms/