⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xml_saxdatabinding.html.primary

📁 这是一个JAVA的教学课件,详细的讲解了JAVA的内容
💻 PRIMARY
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<!--Translated by  王华红 Luke Wang( Loope@sohu.com )  2001-8-27  -->
<head>
<meta name="generator" content="Microsoft FrontPage 4.0">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>XML Application Developer's Guide: Programmatic manipulation of XML</title>
<meta name="Author" content="kt">
<link type="text/css" href="../jbdocs.css" rel="stylesheet">
</head>
<body bgcolor="#fefef2" style="FONT-SIZE: 9pt">
<!--****************PROGRAMMATIC MANIPULATION****************-->
<a name="programmatic_manipulation"></a> 
<p><b><font color="#0080FF" size="3">可编程XML操作</font></b></p>
<hr>
译者名字: Luke(JD032) <br>                  
邮件地址:<a href="mailto:Loope@sohu.com">Loope@sohu.com<!--BNDX="XML documents:manipulating programmatically"--></a>&nbsp;   
&nbsp;  
<blockquote class="bsku">
  <p><font color="#FF0000">可编程XML操作是Jbuilder企业版的功能。</font></p>
</blockquote>
<p>典型的XML 可编程操作可以使用解析器或一个数据绑定方案。JBuilder 支持这两种方法,且分别提供了工具。</p>       


<ul>
  <li> DOM 和 JAXP 的SAX向导和库定义。 </li>       
  <li> BorlandXML 可以从DTD生成JAVA代码。</li>       
  <li> Castor 可以从Schema 生成JAVA代码。 </li>       
</ul>

<p>这些和Jbuider绑定在一起的预定义的库:JDOM、JAXP、Xerces、BorlandXML、Castor,等等,都可以加到你的项目中去。你可以在<i>Project 
  Properties</i>对话框中把它们加进去。选择<i>Project|Project Properties</i> ,然后选择<a href="../ui/dialogs/dlgpathspage.html">Paths        
  page</a>,点击<i>Required Libraries,</i>然后把所需的库加进去。一旦把库加进去后,Jbuilder的CodeInsight就可以访问它们。在编辑框里写代码的时候,就可以在弹出窗口中显示其数据成员和方法、参数,就象使用自己的源代码一样。</p>



<a name="xml_sax"></a> 
<p><font size="3" color="#000080"><b>创建一个SAX文档</b></font></p>
<!--BNDX="SAX (Simple API for XML);Simple API for XML (SAX);SAX handlers:creating;SAX Handler wizard"-->
<blockquote class="bsku"><font color="#FF0000">这个功能在Jbuilder 企业版里提供。</font></blockquote>       
<p>SAX是XML的简单的API,是一个事件驱动的XML解析器的标准接口。有两类XML的API:基于树形的API和事件驱动的API。</p> 
<p>基于树形的API 把XML文档变成内部树形结构,允许程序遍历该树。基于树形的API 的标准是文档对象模型DOM(Document Object Model)。</p>       

<p>SAX是事件驱动的API,通过回调(callback)直接把解析结果报告给应用程序。和GUI图形化用户接口处理事件一样,应用程序通过句柄实现来处理各种事件。</p>

<p>举例来说,一个事件驱动的API看起来应象下面的一样: </p>
<p>
<br>
&lt;?xml version=&quot;1.0&quot;?&gt;<br>   
<br>
&lt;page&gt;<br>
&nbsp;&nbsp; &lt;title&gt;Event-based example&lt;/title&gt;<br>   
&nbsp;&nbsp; &lt;content&gt;Hello, world!&lt;/content&gt;<br>   
&lt;/page&gt;<br>
</p>
<p>有以下事件:</p>
<p>
<br>
start document<br>
start element: page<br>
start element: title<br>
characters: Event-based example<br>
end element: title<br>
start element: content<br>
characters: Hello, world!<br>
end element: content<br>
end element: page<br>
end document<br>
</p>
<p>JBuilder 使得用SAX操作XML文档更容易,SAX句柄向导可以创建SAX解析器的实现模板,包含解析XML的方法。</p>       

<p>使用SAX句柄向导步骤:</p>

<ol>
  <li>选择File|New ,打开对象面板,点击XML标签,然后双击SAX句柄向导的图标打开向导。</li>       
  <li>输入类名和包名,或者接受默认的名字。 
    <p><img src="images/xsaxwiz.gif"></p>
  </li>
  <li>选择想重载的接口或方法,单击Next。</li>
  <li>选择你想要的SAX解析器选项,点击Finish。 
    <p>向导将生成SAX解析器的实现,你还需在方法里加入自己的实现代码。</p>
  </li>
  <li> 配置项目属性的<a href="../ui/dialogs/dlgrunparam.html">Run page</a> ,选择运行的主程序,在程序参数字段里指定要解析的XML文件。        
    <p><img src="images/xsaxrunpage.gif" width="408" height="523" alt="Run page" border="0"></p>
  </li>
</ol>


<p>想了解关于SAX的更多信息,请访问<a href="http://www.megginson.com/SAX/index.html">http://www.megginson.com/SAX/index.html</a>. 
</p>
<p>想看SAX句柄向导的教程,请看<a href="../tutorials/xml_sax/xml_sax.html">"教程: Sax Handler"</a>。</p>

<a name="databinding"></a> 
<p><font size="3" color="#000080"><b>数据绑定</b></font></p>
<!--BNDX="XML databinding;databinding;BorlandXML databinding;Castor databinding;Java classes:generating from schema;Java classes:generating from DTD;schema files (.xsd)"-->

<blockquote class="bsku"><font color="#FF0000">这个功能在JBuilder企业版里提供。</font></blockquote>   

<p> 数据绑定意思是说数据访问和数据处理,然后把处理后的数据写入数据库或者在XML文档里显示。XML文档可以看作是数据库和应用程序之间的传输机制。通过把一个JAVA对象和XML文档绑定来进行传输。数据绑定是通过生成JAVA类来实现的,这些类受到DTD或XML        
  schema里语法限制。你可以用这些类来创建符合语法的XML文档,读符合语法的XML文档,也可以在修改文档时检验和语法不一致的地方。 </p>


<p>JBuilder 提供了几种数据绑定方式:BorlandXML 和open-source Castor 。BorlandXML 使用DTD文件,而open-source        
  Castor从schema 文件 (.xsd)生成JAVA类。</p>       

<p>请看: <a href="http://www.oasis-open.org/cover/xmlDataBinding.html">"XML数据绑定"</a>        
  ,即http://www.oasis-open.org/cover/xmlDataBinding.html </p>       
<!--****************BORLANDXML****************-->
<a name="borlandxml"></a> 
<p><font color="#000080" size="2"><b>BorlandXML</b></font></p>
<!--BNDX="BorlandXML databinding;generating Java classes:BorlandXML;marshalling and unmarshalling:conversion between Java and XML;Databinding wizard;Java classes:generating with Databinding wizard"-->
BorlandXML提供了一种数据绑定机制,它隐藏了XML的细节,减少了复杂度,易于实现。BorlandXML是一个基于模板的类生成器,用于从Document        
Type Definition (DTD)文件生成JavaBean类。你不用关心XML文件的细节,只需用简单的Javabean编程转换来处理XML数据。        
<p>BorlandXML 分两步用DTD来生成Java 类。第一步:BorlandXML 从DTD生成一个类模型。这个类模型文件是一个带.bom扩展名的XML文件。这个文件描述了目标类的结构且提供了定制类的方法。第二步,BorlandXML        
  从带.bom后缀文件生成JAVA类。</p>
 
<p>BorlandXML 支持以下功能:        
<ul>
  <li>JavaBean 处理:使用bean来构造一个XML文档或者访问文档数据。 </li>       
  <li>在XML文件和JAVA类之间的 Marshalling 或 Unmarshalling 转换:        
    <ul>
      <li>Marshalling: 从JavaBean对象输出一个XML文档- Java to XML 。</li>       
      <li>Unmarshalling: 把一个XML文档读入到JavaBean对象中去- XML to Java 。 </li>       
    </ul>
  </li>
  <li>文档检验:在marshalling 对象到XML之前,或在unmarshalling XML文档到JavaBean对象之后,都要检验JavaBean        
    对象。 </li>
  <li>PCDATA定制:允许PCDATA定制来支持不同的基本数据类型,如整型和长整型,还支持定制属性名字。 <br>
  </li>
  <li> 变量名字:允许为有前缀或后缀的元素或属性生成不同的名字。</li>
</ul>





<p> 使用数据绑定向导从DTD生成JAVA类:</p>

<ol>
  <li>在项目窗格的DTD文件上单击右键,选择<i>Generate Java</i> 打开数据绑定向导。在DTD文件字段里已经自动添上了文件名。也可以通过        
    File|New ,选择XML 标签来进入数据绑定向导。</li>       
  <li>选择仅基于DTD的BorlandXML 作为数据绑定类型,然后点击 Next。</li>       
  <li>添好所需的字段,如:所用DTD文件的名字和位置,还有根元素。</li>
  <li> 输入要插入到DOCTYPE声明里的PUBLIC 或SYSTEM 标志符。        
    <p><img src="images/xdatabindingwiz_borland_step2.gif" width="617" height="427" alt="Databinding wizard" border="0"></p>
  </li>
  <li>点击Finish。</li>
  <li>在项目窗格中,扩展开所生成的包的节点,可以看到向导所生成的.java文件。</li>
</ol>


<p>想看使用BorlandXML 数据绑定的教程,请看<a href="../tutorials/xml_data_borland/xml_data_borland.html">"教程:使用BorlandXML的DTD数据绑定"</a>。</p>       


<a name="castor"></a>
<p><font color="#000080"><b>Castor</b></font></p>
<!--BNDX="Castor XML databinding framework;Java classes:generating from schema;generating Java classes:Castor;Databinding wizard"-->
<p>Castor 是一个XML数据绑定的架构,把一个XML schema 的实例映射到一个表示数据的对象模型。这个对象模型包括一组类,还有类和字段信息的描述信息。</p>       

<p>Castor 用marshalling 架构包含一组<i>ClassDescriptors </i>和<i> FieldDescriptors</i>        
  ,描述一个对象怎样marshalled 和怎样从XML文件unmarshalled 。 </p>       

<p>对不熟悉&quot;marshal&quot; 和 &quot;unmarshal&quot;的人来说,其实就是简单的对对象的字节流的转换操作。&quot;marshalling&quot;操作就是把对象转换为数据流,反之,&quot;unmarshalling&quot;        
  就是从字节流到对象的转换。 </p>

<p>Castor 用schema 创建JAVA类,而不是DTD文件。Schema (XSD),更健壮和灵活,比起DTD来更多优点。Schemas 是XML文档,不象DTD文件中包含非XML的语法。Schemas        
  也支持namespaces ,可以防止名称冲突,提供了更好的数据类型扩展和继承支持。 </p>       

<p>使用数据绑定的向导,从XML schema 生成JAVA类的步骤如下:</p>       

<ol>
  <li>在项目窗格里的schema (XSD) 文件名上右键,选择<i>Generate Java</i>进入数据绑定向导。XML schema文件名字段已自动填好。也可以通过        
    File|New,选择XML标签,然后进入数据绑定向导。 </li>
  <li>选择支持XML schemas 的Castor 作为数据绑定类型,单击 Next。</li>       
  <li>填好所需字段,如包名,选好所选选项。 
    <p><img src="images/xdatabindingwiz_castor.gif" width="636" height="427" alt="Databinding wizard" border="0"></p>
  </li>
  <li>点击 Finish。</li>       
  <li>扩展项目窗格里的包节点,可以看到.java文件已由向导生成。</li>
</ol>



<p>注意:默认情况下,Castor的marshaller写的XML文档没有缩进,因为缩进使所生成的XML文件变得很大。要把缩进功能开启,请打开Castor的属性文件,修改以下内容:<i>org.exolab.castor.indent=true</i>。在这格文件里你还可以修改其他属性。这个castor.properties文件是由向导自动生成的,放在项目源文件目录下。 
</p>
<p><br>
  想看Castor 的教程,请到<a href="../tutorials/xml_data_castor/xml_data_castor.html">"教程:使用Castor的Schema        
  数据绑定"</a>。</p>

<p>Castor 的文档和例子可以在JBuilder 完全安装的附加目录下找到。或者访问网站<a href="http://castor.exolab.org">http://castor.exolab.org</a>。</p>       

<br><br>
<!--****************ENTERPRISE DATA****************-->
<a name="interface"></a>        
<hr>
<p><font size="3" color="#000080"><b>数据库商业数据接口</b></font></p>
<!--BNDX="XML database support;XML model-based components;XML template-based components;XMLDBMSTable component;XMLDBMSQuery component;XTable component;XQuery component;XML-DBMS;"-->

<blockquote class="bsku"><font color="#FF0000">数据库商业数据接口是Jbuilder企业版的功能。</font></blockquote>

<p>JBuilder支持的XML数据库有以下两类:基于模型(model-based)和基于模板(template-based)。基于模型(model-based)方案用一个映射文档来决定在XML结构和数据库元数据的传输。基于模型(model-based)组件:<i>XMLDBMSTable</i> 
  和 <i>XMLDBMSQuery</i> ,是用XML-DBMS 实现的。这是一个和JBuilder 绑定的开放原代码的XML中间件。</p> 

<p>基于模板(template-based)方案使用模板,即一套规则。基于模板(template-based)的组件:<i>XTable</i> 和 <i>XQuery</i>  
  ,非常灵活,且在XML文档和查询的数据库元数据之间没有预先定义的关系。</p> 



<p>想了解更多XML数据库组件的信息,请看<a href="xmldb.html">"使用JBuilder 的XML 数据库组件"</a>。</p>

<p>也可以访问 <span class="bscan"> </span> <a href="http://www.rpbourret.com/xmldbms/">XML-DBMS</a>  
  即 http://www.rpbourret.com/xmldbms/</p> 



</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -