DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML基礎 >> XML與其相關技術(2)
XML與其相關技術(2)
編輯:XML基礎     

 

var xmlfile=new ActiveXObject("Microsoft.xmldom");

xmlfile.load("2.xml");

var xslfile=new ActiveXObject("Microsoft.xmldom");

xslfile.load("first.xsl");

document.all.item("DOM應用").innerHTML=xmlfile.transformNode(xslfile.documentElement);

〈/SCRIPT〉

〈/head〉

〈body〉

〈DIV id="DOM應用"〉〈/DIV〉

〈/body〉

〈/heml〉  


■Namespaces

考慮一下,當我們建立XML應用的時候,會為具體的行業應用創建特定的DTD,規定可用的元素。有時會出現下面情況——兩個同名的元素在不同的地方可能會有不同的含義。例如,我們定義〈title〉這個標記,在書店應用中,這個標記中的字符含義是書的名稱,而在人事部門中,這個標記中的字符含義卻是人的稱謂、頭銜。如果我們寫一個包含書名、作者、作者身份等信息的XML文件,將在書名和作者身份兩個地方用到同樣的〈title〉標記,但它們有不同的含義,計算機程序無法分辨哪一個是書名,哪一個是作者身份。這樣就給我們的自動化處理帶來了問題,這就是Namespaces要解決的問題。Namespaces的概念非常直接——對於每一套特定應用的DTD,給它一個獨一無二的標志來代表,如果在XML文件中使用DTD中定義的元素,需將DTD的標志和元素名、屬性連在一起使用,相當於指明了元素來自什麼地方,這就不會和其他同名元素混淆(像我們的電話號碼,兩個城市可能存在相同的號碼,但是我們在前面用區號將它限定了,一個地方的區號在一個國家中是獨一無二的)。在XML中,采用現成的、在全球范圍唯一的“域名”作為Namespaces,即用URL作為XML的Namespaces。前面我們學習XSL的時候,實際上就接觸到了Namespaces,XSL文件中的標記名稱前面都有一個“xsl:”,實際上這就是XSL中元素的Namespaces。聲明語句就是:〈xsl:stylesheet xmlns:xsl="http://www.w3.org.TR.WD-xsl"〉,後面的xmlns:xsl="......"。其中,聲明中的xsl稱為前置字符串,在文件中引用元素時要加上前置字符串,如:〈xsl:templed〉。

例:

〈?xml version="1.0" encoding="GB2312"?〉

〈c:客戶名單 xmlns:c="http://www.aaa.com/custom.dtd"〉

xmlns:職工="http://www.aaa.com/employee.dtd〉

〈c:客戶〉

〈c:姓名〉張三〈/c:姓名〉

〈c:電話〉028-6666666〈/電話〉

〈c:接待人〉

〈職工:姓名〉李四〈/職工:姓名〉

〈職工:電話〉5555555〈/職工:電話〉

〈/c:接待人〉

〈/c:客戶〉

.......  


這個例子在前面定義了兩個Namespaces——c:和職工:。在應用元素時,前面都加了特定的Namespaces。那麼應用程序在讀到同名元素,如:〈姓名〉、〈電話〉時,就能夠區分哪一個是客戶姓名、電話,而哪一個又是本單位職工的姓名、電話了。

利用Namespaces,我們還可以在XML文件中直接利用HTML的標記,不使用Xlink或Xpionter,也讓XML文件具有超級鏈接、顯示圖片的功能。在使用HTML標記之前,必須聲明它的Namespaces。下面這個例子就是XML和HTML的混合使用。

例:

〈?xml version="1.0" encoding="GB2312" ?〉

〈?xml-stylesheet href="first.css" type="text/css" ?〉

〈data xmlns:HTML="http://www.w3.org/TR/XHTM1"〉

〈book〉

〈title〉XML入門精解〈/title〉

〈HTML:a href="mailto:[email protected]"〉

〈author〉

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved