JAVA与XML_读书笔记_2010 05 14
JAVATM与XML 2010-05-14
一、概念
l 任何XML文档对任何类型的应用以及正确的解析都必须具有良好的结构well-formed
l XML文档可以是有效地(valid),但并非一定要求有效。
l PI(processing instruction)格式:<?target instructions?>。XML中的处理指令只能是解析器可以识别的XML标准处理命令集中的一部分
l DTD(Document Type Definition),为一个XML文档(或一个文档集合)监理了一套规则。DTD本身不是独立的技术规范,它属于规范的一部分,XML文档中的文档类型声明既可以是标记约束,也可以是带有标记约束的外部文档。这两种约束的综合就是DTD
l namespace(名字空间)就是一个元素前缀与URI(统一资源标识符)之间的一种映射关系
l XSL(Extensible Stylesheet Language)可扩展样式表语言。能够改变及转换一种XML格式的XML数据,使其变为另一种XML格式。
l XSLT(Extensible Stylesheet Language Transformation,可扩展样式表语言转换)过程中,一个XSL文本样式表和一个XML文本文档被“合并到一块”,这将导致XML数据按照XSL类型而被格式化。
l XPath(XML Path Language,XML路径语言)是一个独立的技术规范,但它为XSLT大量使用。XPath技术规范定义了一个XML文档的特定条目该如何定位。
l XML模式(Schema)是被设计用来代替和增强DTD的。
l XQL是被设计用来允许XML文档格式轻松地描述数据库查询的一种查询语言。
l SAX是XML简单API(Simple API for XML)的缩写。提供了一个用来解析XML数据的基于事件的框架,它是扫描整个文档,并将数据拆解成几个游泳部门的一种处理过程。SAX是提供和解析XML数据的一种方法。SAX为解析器提供了一个可用的框架,而且定义了解析过程中用于监视的事件。SAX API为文档解析提供的是方法,而不是XML解析器本身。
l DOM(Document Object Model),相比之下,SAX只是在一个XML文档范围内位数据提供通路,DOM则提供了操作此类数据的一种方式。DOM还将整个XML文档读入内存,并将所有的数据储存在节点中,是整个文档可以快速使用。这也是DOM的缺陷,占用大量的内存,文档越庞大,缺陷越明显。
l Java是可移植的代码,XML是可移植的数据。
l XML最流行的用法是创建内容与表现形式的分离,此时我们将应用程序的内容(content)定义为需要为客户方显示的数据,将应用程序的表述(presentation
相关文档:
XML 命名空间可提供避免元素命名冲突的方法。
命名冲突
由于 XML 中的元素名是预定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。
这个 XML 文档携带着某个表格中的信息:
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</ta ......
List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1 List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......
//哈弗曼编码的实现类
public class HffmanCoding {
private int charsAndWeight[][];// [][0]是 字符,[][1]存放的是字符的权值(次数)
private int hfmcoding[][];// 存放哈弗曼树
private int i = 0;// 循环变量
private String hcs[];
public HffmanCoding(int[][] chars) {
// TODO 构造方法
......
如何交换两个变量的值:
C语言中的传值代码如下:
int change(int x,int y)
{
int temp=x;
x=y;
y=temp;
}
C语言中的传址代码如下:
int change(int *p,int *q)
{
int temp=*p;
*p=*q;
*q=temp;
}
使用C++中的引用类型代码如下:
int change(int &x,int &y)
{
int temp=x;
x=y;
y=temp;
}
JAV ......