top
Loading...
XML介紹系列篇二
翻譯:Batman
系列之四:文檔類型定義 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文件就可以使用這個解釋器了.
這個解釋器的特點如下:
支持JavaScript, VBScript, Perl, VB, Java, C++ 等等
支持W3C XML 1.0 和XML DOM
支持和確認DTD
如果你是在Ie5.0里面使用JavaScript

你可以使用下面的代碼建立一個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="JavaScript">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("note.xml")
//處理文檔的代碼放在這個地方
</script>
代碼的第一行建立一個Microsoft XML解釋器的實現.
第三行告訴解釋器裝載一個叫note.xml的XML文檔.
第二行代碼確保一直到所有的文檔都載入完畢后才能夠開始執行解釋

將純粹的XML文本載入到解釋器中
下面的代碼將一個文本字符串載入到XML解釋器中:
<script language="JavaScript">
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"方法來載入一個文件