?? 0601-0100.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0601-0100 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 6.1.1 IBM XML 4J</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt9 {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt10 {
FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋體"
}
.TempOutline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.TempOutline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage0 {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage111 {
FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
</STYLE>
<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0
onload=""><!-- 以下為主體內容 -->
<div align="center">
<center>
<TABLE width="100%" border=0 style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<TBODY>
<TR vAlign=top>
<TD width=31 rowSpan=2></TD>
<TD vAlign=center width="518">
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=37 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD width="518"><!-- 正文內容 -->
<DIV class=pt10><B>6.1.1 IBM XML 4J</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>我們曾經說過,由于XML編輯瀏覽工具尚不完善,給XML的流行造成了很大的障礙。的確,迄今為止,無論是分析、編輯、還是瀏覽工具,市場上都沒有哪個產品已經可以獨霸一方,這給XML的開發者和使用者都造成了很大程度上的不便。不過,這也正是一個千帆競發、百舸爭流的時代,期待著時代的弄潮兒在此大顯身手。目前,各個公司團體都在積極地推出各種各樣的試驗系統,以期在這個充滿希望的市場上占領一方天地。在這一章里,我們就簡單介紹一下這種種試驗系統中的佼佼者。</P>
<P>在XML的制定目標中曾明確地提出:"處理XML文檔的應用程序應該容易編寫"。事實上,XML文檔的確非常簡單,它的清晰的結構和有限的語法規定使得XML分析器(XML
Parser)的開發工作相對容易了很多。</P>
<P>XML分析器承擔著對XML文檔處理的第一道處理工序,它將XML文檔中的數據提取出來,組織成樹狀結構,再送到應用處理程序、瀏覽器等后期工序中去。</P>
<P>XML分析器可以分為兩類:
<OL>
<LI>支持有效性檢查的分析器。<BR>此類分析器在檢查文檔是否符合"格式良好的"基本要求的基礎上,進一步結合DTD檢查文檔是否符合DTD中對文檔結構的規定,判定這個文檔是否是"有效的"。分析器必須讀入并分析出整個DTD,外加XML文檔中所有的外部已分析的實體引用。并報告出文檔與DTD聲明相沖突的地方,以及不滿足DTD有效性約束的地方。
<LI>不支持有效性檢查的分析器。<BR>這一類分析器只負責檢查XML文檔是否滿足格式良好的語法規定,包括XML文檔中內含的內部DTD文檔是否滿足格式良好的規定。此類分析器不會對XML文檔所引用的外部DTD文檔進行分析、進而檢查XML文檔的有效性,但對于出現在XML文檔內部的DTD子集,卻仍舊需要進行部分分析,因為在對格式良好的文檔進行分析時需要使用內部DTD聲明中的信息,包括使用內部實體替換正文、提供缺省屬性值等。
</LI></OL>
<P>無論是哪類分析器,都要提供文檔或已分析實體與XML標準中定義的格式良好的文檔定義相沖突的地方。</P>
<P>目前,大多數XML分析器都是免費的,一些大的公司,如Microsoft、IBM、DataChannel、Textuality等等,都開發了自己的XML分析器,可供免費下載。其中首推的當屬<STRONG>IBM
XML4J</STRONG>。</P>
<P>IBM公司的XML4J完全是用JAVA開發的,它是目前功能比較全面的支持有效性檢查的XML分析器。界面如下圖所示:</P><FONT
face=宋體 size=3>
<P align=center><IMG height=325
src="image/TU000000-0601-0100-01.jpg" width=494></FONT></P>
<P>它具有如下特征:
<UL>
<LI>遵守XML1.0標準
<LI>遵守最近的DOM、SAX、命名空間的標準
<LI>提供多語種支持
<LI>提供源代碼、示例和文檔
<LI>支持XML的有效性檢查
<LI>可高效支持元素識別、DOM創建、錯誤處理等 </LI></UL>
<P>除此以外,IBM還用C++編寫了XML分析器,稱為XML4C。</P>
<P>有關該分析器的詳細介紹請參考網頁:<A
href="http://www.alphaworks.ibm.com/">http://www.alphaworks.ibm.com/</A>。<BR></P></DIV>
<P></P>
<P></P></TD></TR></TBODY></TABLE>
</center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -