• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:24来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

成的产品,以便程序员可将其结合到自己的程序中。这些产品用户界面(如果有的话)较差。这类分析程序包括IBM 的
alphaWorks’XML for Java、Microsoft 和DataChannel 的XJParser 和Silfide 的SXP。
XML for Java:http://www.alphaworks.ibm.com/ tech/xml
XJParser:http://www.datachannel.com/xml_resources/
SXP:http://www.loria.fr/projets/XSilfide/EN/sxp/
一些库文件也包括在命令行上运行的独立的分析程序。这些程序读取XML 文件并报告发现的错误,但不加以显示。例如,
XJParse 是一个Java 程序,包括在IBM 的Samples. XJParse 软件包中的XML for Java 1.1.16 类库中。要运行这一程序,
必须首先将XML for Java 的jar 文件添加到Java 类库的路径上。然后就可以打开DOS 窗口或外壳程序提示符,向XJParse
程序传送要检查合法性的文档的本地文件名或远程URL,以便对文档进行检查,如下所示:
C:\xml4j>java samples.XJParse.XJParse -d D:\XML\08\invalid.xml
本书写作时,IBM 的alphaWorks 推出了XML for Java 的2.0.6 版本。在这一版本下,启动的只是XJParse
而非Samples. XJParse 。但是,1.1.16 版本提供了更多的用于独立检查的功能。
您可以使用URL 代替文件名,如下所示:
C:\xml4j>java samples.XJParse.XJParse -d
http://metalab.unc.edu/books/bible/examples/08/invalid.xml
在任一情况下,XJParse 将列出发现的错误后跟树状结构的文档作为反应。例如:
D:\XML\07\invalid.xml: 6? 4: Document root element, "foo", must
XML 实用大全
第 186 页
match DOCTYPE root , "GREETING".
D:\XML\07\invalid.xml: 8, 6: Element "<foo>"is not valid in
this context.
<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/css" href="greeting.css"?>
<!DOCTYPE GREETING [
<!ELEMENT GREETING (#PCDATA)>
]>
<foo>
Hello XML!
</foo>
这个输出不是特别吸引人。但是,像XJParse 这样的合法性检查程序的目的不是显示XML 文件。相反,分析程序的任务是把
文档分成为树状结构并把树的结点传送给显示数据的程序。这个程序可能是Netscape Navigator 或 Internet Explorer 等
Web 浏览器。也可能是一个数据库。甚至可能是自己写成的定制程序。使用XJParse 或其他命令行合法性分析程序来验证是
否编写了其他程序可以处理的良好的XML。实质上这是一种校对或质量保证阶段而不是最后的输出。
因为XML for Java 和多数合法性分析程序是用Java 写成的,它们也就具有跨平台的Java 程序的所有缺点。首先,在能够
运行分析程序之前必须安装Java 开发工具(JDK)或Java 运行环境。其次,需要将XML for Java 的jar 文件添加到类路径
上。这两项工作都不是太简单。它们都不是为非程序员的最终用户设计的。这些工具有点设计欠佳,使用不便。
如果正在为浏览器编写文档,验证文档的最简易方法是把文档装入浏览器看一看报告出什么错误。但是并不是所有的浏览器
都对文档进行合法性检查,某些浏览器仅接受结构完整的文档,而不管其合法性如何。Internet Explorer 5.0β2 版对文
档进行合法性检查,但正式发行版都不进行了。
如果将文档装入Web 服务器且无需特别保密,基于Web 的合法性检查程序是一种替代方法。这些分析程序只需要以简单的形
式输入文档的URL。它们明显的优点是不需要面对Java 运行软件、类路径和环境变量等麻烦。
图8-3 显示的是Richard Tobin 的基于RXP 的以Web 为宿主的XML 结构完整性和合法性检查程序。可以在
http://www.cogsci.ed.ac.uk/%7Erichard/xml-check.html 处找到此程序。图8-4 显示的是使用这一程序检查清单8-3 显
示出的错误结果。
XML 实用大全
第 187 页
图8-3 Richard Tobin 的基于RXP 的以Web 为宿主的XML 结构完整性和合法性检查程序
图8-4 Richard Tobin 的XML 合法性检查程序报告的清单8-3 中的错误
布朗大学的Scholarly Technology Group 在http://www.stg.brown.edu/
service/xmlvalid/处提供了一种检查程序。这一程序以允许从本地计算机上载文件而不必把文件装入公共服务器而著称。
如图8-5 所示,图8-6 显示了用这一程序检查清单8-3 的结果。
XML 实用大全
第 188 页
图8-5 布朗大学的Scholarly Technology Group 的以Web 为宿主的XML 合法性检查程序
图8-6 布朗大学的Scholarly Technology Group 的合法性检查程序报告的清单8-3 中的错误
XML 实用大全
第 189 页
8.4 列出元素
要为一个文档创建适当的DTD 的第一步是了解用DTD 中定义的元素编码的信息结构。有时候信息就像通讯地址列表一样。有
时则具有相对自由的形式,如说明短文或杂志文章。
让我们以已经相对结构化的文档为例,回到第4 章所示的棒球统计示例中。在那份文档上加一个DTD,就使我们能把以前只
有通过约定才能遵守的约束条件付诸实施。例如,我们可以要求SEASON 元素包含正好两个LEAGUE 子元素,每个TEAM 有
TEAM_CITY 和TEAM_NAME 子元素,并且TEAM_CITY 总在TEAM_NAME 之前。
回想起来,完整的棒球统计文档包含下面一些元素:
SEASON RBI
YEAR STEALS
LEAGUE CAUGHT-STEALING
LEAGUE-NAME SACRIFICE_ HITS
DIVISION SACRIFICE_FLIES
DIVISION_NAME ERRORS
TEAM WALKS
TEAM_CITY STRUCK_OUT
TEAM_NAME HIT_BY_PITCH
PLAYER COMPLETE_GAMES
SURNAME SHUT_OUTS
GIVEN_NAME ERA
POSITION INNINGS
GAMES HOME_RUNS
GAMES_STARTED RUNS
AT_BATS EARNED_RUNS
RUNS HIT_BATTER
HITS WILD_PITCHES
DOUBLES BALK
XML 实用大全
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(59)