📄 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 + -