系列之四:文档类型定义 dtd(document type definition)
"well formed"的xml文档
一个"well formed"的xml文档是一个
满足我在前面介绍的xml语法规则的文档.
例如下面就是一个"well formed"的xml文档:
<@xml version="1.0"@>
<note>
<to>tove</to>
<from>jani</from>
<heading>reminder</heading>
<body>don't forget me this weekend!</body>
</note>
"valid"(我翻译成"有效")的xml文档
一个"valid"的xml文档是一个满足了dtd规则的"well formed" xml文档
例如下面的文档是一个和上面的文档一样的,只不过增加引用dtd
<@xml version="1.0"@>
<!doctype note system "internalnote.dtd">
<note>
<to>tove</to>
<from>jani</from>
<heading>reminder</heading>
<body>don't forget me this weekend!</body>
</note>
document type definition
下面就是这个dtd文件(internalnote.dtd):
<@xml version="1.0"@>
<!doctype note [
<!element note (to,from,heading,body)>
<!element to (#pcdata)>
<!element from (#pcdata)>
<!element heading (#pcdata)>
<!element body (#pcdata)>
]>
!doctype note第二行的节点是xml文档中的"note"类型.
!element note第三行定义的元素"note"有四个元素"to,from,heading,body".
!element to第四行定义了"to"元素的类型为"#pcdata".
!element from第五行定义了"from"元素的类型为"#pcdata".
等等等等
为什么要使用dtd@
xml提供了一个独立的运用程序的方法来共享数据.
使用dtd,不同的组中的人就能够使用共同的dtd来交换数据.
你的运用程序可以使用这个标准的dtd来验证你接受到的数据是有效的
你也可以使用一个dtd来验证你自己的数据
一些非常著名的定义好了的标准(各行各业之间交换数据的标准)dtds
可以来参考:http://www.xmlx.com/和http://www.schema.net
翻译:batman
系列之五:在netscape和ie中的xml
网站中的xml
现在有大量的运用程序都支持xml.
这里我们主要讨论ie5.0里支持的xml.
一些人可能会埋怨,但是这也没办法呀,因为ie5是
唯一能够直接解释xml文件的浏览器,它也是唯一可以在网站上用来直接
查看xml文件的东东.
这点很遗憾:
虽然你会等待netscape来支持xml,但是如果你想继续使用我在后面提到的这些
具体的xml的例子的话,那你还是现实一点使用ie5.0把.(如果你想很轻松的学习xml的话)
在netscape navigator 5中的xml
netscape承诺在新的navigator 5中全面支持xml.
我们希望它能够包含支持标准的对w3c xml的支持,
就象在ie中所实现的一样.
至于如何来实现xml请参考我发的文章id=81445
ie5中的xml
internet explorer 5全面支持xml 1.0标准和xml 文档模型(document object model)dom.
这些标准都是world wide web consortium (w3c)定义的.
internet explorer 5.0支持以下的xml特点:
可以浏览xml文档
全面支持w3c dtd标准
xml作为数据岛植入html页面中
可以把xml数据绑定到html元素上
支持使用xsl格式化xml
支持使用css格式化xml
支持css
可以通过xml dom访问xml
在下一系列中将介绍具体的例子
翻译:batman
系列之六:微软的xml解释器
使用微软xml解释器
如果要来阅读,更新,创建和操纵一个xml文档
你需要一个xml的解释器.微软的xml解释器是一个随ie5一起发布的com组件
只要你安装了ie 5.0,在你的html脚本里面或则asp文件就可以使用这个解释器了.
这个解释器的特点如下:
支持&#106avascript, vbscript, perl, vb, java, c++ 等等
支持w3c xml 1.0 和xml dom
支持和确认dtd
如果你是在ie5.0里面使用&#106avascript
你可以使用下面的代码建立一个xml文档对象:
var xmldoc = new activexobject("microsoft.xmldom")
如果你是习惯与使用vbscript的话那么使用下面的代码来建立这个xml文档对象:
set xmldoc = createobject("microsoft.xmldom")
如果你是在asp中使用vbscript的话,那么代码如下:
set xmldoc = server.createobject("microsoft.xmldom")
将xml文件载入到解释器中
下面的代码将把一个已经存在的xml文档 (note.xml)载入到xml解释器中:
<script language="&#106avascript">
var xmldoc = new activexobject("microsoft.xmldom")
xmldoc.async="false"
xmldoc.load("note.xml")
/处理文档的代码放在这个地方
</script>
代码的第一行建立一个microsoft xml解释器的实现.
第三行告诉解释器装载一个叫note.xml的xml文档.
第二行代码确保一直到所有的文档都载入完毕后才能够开始执行解释
将纯粹的xml文本载入到解释器中
下面的代码将一个文本字符串载入到xml解释器中:
<script language="&#106avascript">
var text="<note>"
text=text+"<to>tove</to><from>jani</from>"
text=text+"<heading>reminder</heading>"
text=text+"<body>don't forget me this weekend!</body>"
text=text+"</note>"
var xmldoc = new activexobject("microsoft.xmldom")
xmldoc.async="false"
xmldoc.loadxml(text)
/处理文档的代码放在这个地方
</script>
值得注意的是"loadxml"方法是用来载入一个字符串
而"load"方法来载入一个文件