打字猴:1.700417325e+09
1700417325
1700417326 这样就可以与使用了其他命名空间的标签区分开了
1700417327
1700417328 在本例中,作为标签的命名空间设置的http://www.grapecity.com/yazawa,仅作为一个全世界唯一的标识符来使用。就算把这个URI输入到Web浏览器地址栏中,也并不会显示出相应的网页
1700417329
1700417330
1700417331
1700417332
1700417333 计算机是怎样跑起来的 [:1700412740]
1700417334 计算机是怎样跑起来的 11.7 可以严格地定义XML的文档结构
1700417335
1700417336 除了之前讲解过的“格式良好的XML文档”还有一个词叫做“有效的XML文档(Valid XML document)”。所谓有效的XML文档是指在XML文档中写有DTD(Document Type Definition,文档类型描述)信息。前面没有说明,其实完整的XML文档包括XML声明、XML实例和DTD三部分。所谓XML声明,就是写在XML文档开头的,形如的部分。XML实例是文档中通过标签被标记的部分;而DTD的作用是定义XML实例的结构。虽然也可以省略DTD,但通过DTD可以严格地检查XML实例的内容是否有效。
1700417337
1700417338 图11.14展示了一个写有DTD的XML文档。
1700417339
1700417340 图11.14 具有DTD的XML文档
1700417341
1700417342
1700417343
1700417344
1700417345 请把它想成一个描述公司名称、地址和员工数量的XML文档。用和]>括起来的部分就是DTD。DTD定义了在标签中可以有一个以上标签;在标签中可以包含,
,标签。只要定义了这样的DTD,当遇到那些虽然记录了公司名称和地址,但还没有员工数量的数据时,就可以判断出这不是一个有效的XML实例
1700417346
1700417347 与DTD相同,还有一个名为XML Schema的技术也可用于定义XML实例的结构。在XML中,DTD借用了可称得上是标记语言始祖的SGMI(Standard Generalized Markup Language,标准通用标记语言)的语法。而XML Schema是为了XML新近研发的技术,因此它可以对XML文档执行更严格的检查,例如检查数据类型或数字位数等。DTD是1996年发布的W3C推荐标准,而XML Schema发布于2001年。今后将成为主流的是XML Schema,而不是古老的DTD
1700417348
1700417349
1700417350
1700417351
1700417352 计算机是怎样跑起来的 [:1700412741]
1700417353 计算机是怎样跑起来的 11.8 用于解析XML的组件
1700417354
1700417355 前面介绍过,如果用XML文档记录信息,计算机就可以自动地进行处理。那么编写处理XML文档的程序时应该怎么做呢?
1700417356
1700417357 也许有人会想:因为XML文档是纯文本文档,所以无论是用BASIC还是C语言,只要用某种编程语言编写一个能够读写文件的程序就可以了……当然没错!但,如果要亲手从零开始编写这样的程序太麻烦了。像是切分标签之类的处理,即便XML文档的内容不同,其步骤也大致相同。要是有谁能提供现成的这部分处理的代码就好了–这样想的人应该不止笔者一个吧
1700417358
1700417359 的确存在用于处理XML文档的程序组件。比如已经成为W3C标准的DOM(Document Object Model,文档对象模型)以及由XML-dev社区开发的SAX(Simple API for XML)。其实无论是DOM还是SAX,都只是组件的规范,实际的组件由某个厂商或社区提供。
1700417360
1700417361 如果使用的是Windows,那么就应该已经安装了一个由微软提供的、遵循DOM规范的组件(一个名为msxml3.dll的DLL文件)。下面就使用VBScript编程语言,试着编写一个实验程序。用记事本编写出如代码清单11.1所示的程序
1700417362
1700417363 代码清单11.1 使用了DOM的程序
1700417364
1700417365 Set obj=CreateObject(“Microsoft.XMLDOM”)
1700417366
1700417367 obj.async=False
1700417368
1700417369 obj.Load “MyPet.xml”
1700417370
1700417371 s=””
1700417372
1700417373 For i=1 To obj.documentElement.childNodes.length
1700417374
[ 上一页 ]  [ :1.700417325e+09 ]  [ 下一页 ]