站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题J2ee Tutorial学习笔记(第二章Understanding XML)

J2ee Tutorial学习笔记(第二章Understanding XML)

摘要: J2ee Tutorial学习笔记(第二章Understanding XML)
J2ee Tutorial学习笔记(第二章Understanding XML)
一.Introduction to XML:
1.XML(Extensible Markup Language)是基于文本标记语言,用<>标记数据,成为
Tag,但它不象HTML,XML标签确定的是数据,而不是详细的说明这个文件怎么显示,XML
主要关系其中的数据.
例:
you@yourAddress.com.
me@myAddress.com
XML is Really Cool
how many ways is xml cool ?let me count the way


这个例子的Tag从整体上确定了这个message.包括其目的地址.发送地址.标题和其
内容.像HTML一样...之间决定了XML的数据成分,而... tag又包
涵在...中,这种一个Tag包涵另一个Tag可使XML的描述成分等
级的数据结构.
2.Tag and Attributes:
tag自身也可以有其自身的Additional information.包涵在tag自身中
例: XML is Really Cool
how many ways is xml cool ?let me count the way


与上例相同,只是它把 to 和 from做进了 message 也就是作为了tag的 additional
information可以简化代码,易于理解.
3.Empty Tag A1:html与XML很大的区别在与当一个xml文件很好的形成时,其附加的
制约条件也是很多的,其中最重要的就是每个Tag都要有结束Tag,所以在XML中例如
的结尾是必不可少的.(另外一个很重要的条件是所有的Tag都是严格嵌套的,也
就是你可以.........但是不可以
..........这是不允许的.
A2:有时你想建立一个空的tag你可以以 />来结尾 例如:

you@yourAddress.com.
me@myAddress.com
XML is Really Cool

how many ways is xml cool ?let me count the way


A3:XML文件注释 以 注释
A4:XML prologue:<?xml version="1.0"?>或<?xml version="1.0"
encoding="ISO-8859-1" standalone="yes"?>
xml文件都以<?...?>prologue.这里规定了xml文件的标准格式 version=1.0 编码
格式用 ISO-8859-1.standalone表明这个文件是否和内部entity相联系或是和外部
数据type说明联系.有联系是yes.
A5:处理说明:<? target instruction to do?>target就是the name of
application to do processding.
A6:为什么XML很重要:
B1:用于解释文本.要知道xml不是2进制的格式编写的,所以你可以用任何编辑
器来编写xml文件,通常xml文件体积都很小,所以允许数据库保存大量的xml数据.
B2.Data坚定:XML告诉我们有什么样的data.而不是怎样去display it.
B3.stylability.当显示变得很重要时xml将告诉你怎么样描述data.例如:
you@yourAddress.com为我们描述了一下事件.1.start a
new line.2Display"to"in bold,followed by a space.3.Display the
destination datas.
这些所描述的都是为了 这个意思 To:you@yourAddress.com 告诉我们了送到
你的地址去了,更重要得失xml是很自由的,你可以用一种不同的stylesheet来标记你
的描述,可以是TEX PDF或者是还没有发明的文本格式.
B4.Linkablity.在此我们还要感谢HTML,明确了文件与文件之间的联系是越
发的重要了.XML确定2种links:mutiple-target links(多目标连接),expanding
links.(扩展连接).
B5.处理方便.上述的那些正规的XML标记语言统一的符号使XML的Process很
容易进行,由于XML很严格的标记方法,使XML文件很好的形成,而不会有什么处理差错
.但是不标准的标记方法XML是不执行的.
B6.分等级的XML:XML从它的等级结构使XML文件的访问速度更加的快.因为你
只需要加载你想要的东西.
4.XML and specs:Digesting the Alphabet soup
以上你对XML有了一定的基础了解了.有必要深入XML了解更多的XML相关的缩写
格式,它们代表了什么,通用的APIS访问XML文件即是连续的有可以是随机的,2种API
分别是.SAX,和DOM.而确保XML的有效性的是DTD.另一种标准的性质是XSL Standard.
一个对XML翻译的之际.例如将HTML转换为XML形式或者其他目前未知的新的XML技术,
指明文件怎样执行的,还有一个技术就是XML link language specification可是2个
XML文件连接.
还有一些新的技术,XHTML,XML,SMIL,MATHML,SVG....
C1.Basic standard
SAX(simple API for XML)你可以理解它为 连续访问协议,这是一个快
速执行的机制,可是你在sever上read.write XML DATA ,你可以理解它为事件驱动协
议,因为这技术注册一个SAX解释器.此后当这个解释器看到新的XML tag的时候就会
反馈响应的方法.
C2.DOM(Document object model)
DOM协议将使你的XML文件转换为一个集合的对象时你可以操控对象模
型,他是radom access协议的很好的表现,因为你可以修改数据,删除,或插入任何新的数据.
C3.JDOM和jom4j:在此提出之所以Dom有它的局限性,因为它不提供基于OO的
方法,但是JDOM能提供,而且更加容易方便.JDOM是一个更新更清晰的更小的API,当
coding style更重要时.JDOM是很不错的选择.
jdom4j是一个更小的执行更快的API.
C4.DTD是可选的,可以包括在你的XML文件种,也可以不,但是它能够给与你良
好的XML规范.
C5.XSL(Extensible stylesheet language)
此处再次强调XML文件指明的是怎样识别DATA而不是关心怎样去显示它,而
HTML恰好相反.而XSL包括2个部分(XSTL(transfom standard) XSL-FO(Formating
object))XSL-Fo可以让你识别multiple area on pages.且link他们.
C.6:XSTL (extensible stylesheet language for transformation)而
Xpath stanrad is a addressing 机制.
C6.DTD不是分级的,举一个例子(name,address,zipcode)>
Address(#PCDATA)>

正如你所看到的这些说明都是线性的,迫使现对这样以后面对名名相同的元素以相
同的名称,如果你想加入这些元素例如时你就需要一个新的标识符.
container中.
D1.XML Schema:其标准的可分为2个部分,一部分指定数据之间的关系,(也
是最复杂的,一部分另一部分是确认XML内容通过确定其中的元素的数据类型.
D2.RELEX NG(regular language discripition for xml)
D3.TREX :Tress regular expression for xml
D4.SXO :Schema for object-oriented XML
F1.连接陈述标准:XML linking 中有很多分支:1.XLink是处理XML文件之间的link
问题的,这种link的方法可以提供很多很复杂的link'形式,如多文档link,多重link,等.
2.XMLBase和Xpointer.一般来说xml文件处理都是由文件对文件的处理通过他
们的ID.而用Xpointer可以不用通过ID来处理.
3.XHTML:是XML文档以HTML形式表现出来.
G1.Knowlage standard:RDF Schema
5.建立XML文件:这一节你可以学到如何建立XML文件,你可以用文本编辑器来编写
自己的xml文件.
1.用文本编辑器,建立一个名叫sildesample.xml文件
2.下一步写声明,声明这是一个xml文件,以<?开头, <? xml version="1.0"
encoding='utf-8'?>说明其xml version是1.0的用的是8-bit unicode来编写xml的文件的.
3.写注释:注释是不会被执行的.
4.先编写最地层的元素 <? xml version="1.0" encoding='utf-8'?>



5.添加属性:
title="Sample Slide Show"
data="Data of publication"
author="yours truly"

6.添加嵌套元素:



Wake up to wonder weidgets!


7.添加HTML形式的文本,以HTML形式的文本都是用来标识的
<?xml version='1.0' encoding='utf-8'?>

title="Sample Slide Show"
date="Date of publication"
author="Yours Truly" >


Wake up to WonderWidgets!



Overview
Why WonderWidgets are great

Who buys WonderWidgets


8.完整代码: <?xml version="1.0" encoding="utf-8" ?>
-
- author="Yours Truly">
-
-
Wake up to WonderWidgets!

-
-
Overview
-
Why
WonderWidgets
are great


- Who
buys
WonderWidgets



9.建立DTD(Document Type Definition):现在我们学习怎样建立,首先建立一个名为
slideshow的文件,写入XML声明 如下:
<?xml version='1.0' encoding='utf-8'?>
然后写入一下语句声明,slide元素包涵
在slide元素中

以此例你可以看出DTD文件以的元素的名字(slideshow)
10.定义文本和嵌套元素




第二行说明slide中有title跟随着0个或更多的item,第三行说明title中包括PCDATA
剖析器.第四行的 | 标识符说明"或"的关系,在这种情况下PCDATA或item都是可用的
将文件保存为 slidesamplela.dtd
11.在DTD中定义属性和实体: 定义属性: 在我们刚才的例子中添加以下代码
title CDATA #REQUIRED
data CDATA #IMPLIED
author CDATA "unknow" >

ATTLIST 后跟的就是我们定义的slideshow 这个文件
↑返回目录
前一篇: J2EE vs .NET (1)
后一篇: J2EE JTA和数据库的transaction研究