作者:AngelGavin 出處:CSDN
Internet Explorer 5.0 對XML 提供哪個層級的支援?
Internet Explorer 5 提供下列XML 支援:
直接檢視XML。 Microsoft XML 實作允許使用者透過他們的Web 瀏覽器使用XSL 或層疊樣式表(CSS) 查看XML,就像查看HTML 文件一樣。
高效能、驗證XML 引擎。 Internet Explorer 4.0 開發人員熟悉的XML 引擎已經得到了很大的增強,並且完全支援W3C XML 1.0 和XML 名稱空間,這樣開發人員就可以在Web 上統一限定元素名稱,從而避免了相同名稱的元素之間的衝突。 Windows 中的本機XML 支援意味著,當開發人員在應用程式和元件之間移動資料時,可以使用完整的XML 處理功能來讀取和處理資料。
可擴充樣式轉換語言(XSLT) 支援。使用基於最新的W3C Working Draft 的Microsoft XSLT 處理器,開發人員可以對XML 資料套用樣式表,並以易於自訂的動態和靈活方式來顯示資料。 Microsoft XSLT 處理器的查詢功能也允許開發人員用程序,在客戶機或伺服器上,在XML 資料集內部尋找和摘取資訊。
XML 架構。架構(英文) 定義XML 文件規則,包括元素名稱和豐富的資料類型,它們的元素可以表現為組合,並且每個元素的屬性都可用。為了啟用多層應用程序,Microsoft 將根據提交給W3C XML 工作組的縮減XML 資料架構(XDR) 來發布XML 架構的技術預覽。
伺服器端XML。伺服器端XML 處理允許使用XML 作為在多個分散式應用程式伺服器(甚至是跨越作業系統邊界)之間傳送資料的標準方式。
XML 文檔物件模型(DOM)。 XML DOM 是標準物件應用程式介面,它使開發人員能夠用程式控制XML 文件內容、結構、格式等等。 Microsoft XML 實作包括對W3C XML DOM 建議的完全支持,並且可以用腳本、Visual Basic 開發系統、C++ 和其他程式語言來存取。
C++ XML 資料來源物件。 XML DSO 允許將HTML 元素直接綁定到XML 資料島。此外,它還提高了效能,有強大的能力可以綁定到不同XML 節點上,而且利用了Internet Explorer 5 beta 中所有的新的資料綁定功能。
HTML、動態HTML 和XML 之間的關係是什麼?
HTML 可以和CSS 一起用於格式化和表示超連結頁面。動態HTML,透過DOM,使HTML 中的所有元素,都可以透過與語言無關的腳本和其他程式語言來訪問,從而在很大程度上提高了客戶機端的互動能力,而且不需要對伺服器的額外需求。頁面的物件模型允許動態更改任何方面的內容(包括增加、刪除和移動)。
透過為結構化資料添加XML,為開發人員提供了建構下一代豐富、靈活Web 應用程式的技術。使用XML,他們可以為桌面提供結構化數據,並且用XML 物件模型計算數據。現在的開發人員可以在瀏覽器(例如Microsoft Internet Explorer 4.0 和Microsoft Internet Explorer 5)或其他應用程式中,透過腳本顯示基於XML 的資料。此外,他們也可以對資料套用格式化規則,而不需要使用XSLT 樣式表的複雜腳本(實際上是將基於XML 的資料轉換為顯示)。這兩種顯示基於XML 資料的方法,都使得產生複雜資料的多個視圖成為可能。
為什麼XML 這麼重要?
XML 將成為計算領域的未來。作為一種技術,它的影響力將滲透到程式設計的每個方面,從嵌入式系統到圖形介面,到分散式系統以及資料庫管理。它實際上已經成為軟體產業之間資料通訊的標準,並且迅速取代EDI 系統成為全球幾乎所有產業進行業務交換的主要媒體。它很有可能會成為創建和儲存大多數文件的語言,不管是否在Internet 上,並且有可能成為Internet 應用程式伺服器的基礎,有些人相信它將代替許多目前生產的小包裝產品。
Microsoft 提供什麼XML 產品?
Microsoft 正在努力為許多領域開發XML 資源:
資料存取。最新的ActiveX? 資料物件(ADO) 的化身,已經支援XML 的產生和消費將近一年了,而Microsoft SQL Server 2000 為基於SQL 的資訊和XML 之間的互相轉換提供了許多介面。
瀏覽器支援。 Microsoft 是第一個生產能夠閱讀XML 檔案(無論是用原始結構形式,還是透過XSL 或CSS 樣式表)的商業瀏覽器(Internet Explorer 5) 的公司。
BizTalk Server 2000。 Microsoft? BizTalk(TM) Server 2000 提供了在大量不同格式(包括XML)之間通訊的方式,來協助推動業務對業務的應用程式。 BizTalk Server 也包含了許多架構生成和映射工具,從而大大簡化了業務或商業需要的XML 結構的開發。
在Web 上傳輸,必須壓縮XML 嗎?
一般來說,壓縮XML 的需要是與應用程式有關的,並且很大程度上是伺服器和客戶機之間移動資料量的函數。用於描述資料結構的標記的反覆特性,使XML 能夠非常好地壓縮資料。值得注意的是HTTP 1.1 伺服器和客戶機的壓縮都是標準的,XML 可以自動從中受益。
XML 作為資料格式有多安全?有沒有增加XML 安全性的計畫?
XML 和HTML 一樣安全。正因為安全的HTTP (HTTPS) 可以用於對HTTP 添加密碼技術,從而保護了HTML,因此它也可以用於保護XML。 XML 是表示結構化資料的基於文字格式。這可以使資料的簡單性和互通性最大化。對XML 格式增加安全性和驗證能力時可以採取許多步驟。首先,XML 可以在傳輸到客戶之前在伺服器上加密,然後在客戶機上解密。應用於資料本身的數位簽章也可以驗證XML。
確認
什麼是DTD 及其用途?
文檔類型定義(DTD) 定義了一類XML 文件的正確語法。也就是說,它列出了許多元素名稱,什麼元素可以和其他元素一起顯示,以及什麼屬性可以用於每個元素類型等等。 DTD 使用XML 文件使用的不同語法形式。
Web 開發人員在使用XML 描述資料時必須包含DTD 嗎?
不。 XML 可以用來描述有或沒有DTD 的資料。術語「有效」XML 指涉引用DTD 的XML 數據,而「良好形成的」XML 是未使用DTD 的XML。此外,「良好形成的」XML 也是XML 和標準統一標記語言(SGML) 的基本差異之一。很明顯,在這兩種情況下,XML 本身都必須遵守語言的標準(例如,所有標記都必須是閉合的,並且標記不能重疊)。
什麼是XML 架構?它們與DTD 的差異是什麼?
雖然XML 1.0 提供了定義XML 文件的內容模型的機制— DTD — 但很明顯也需要定義內容模型的更全面更有效的方法。 XML 架構是特殊的XML 結構的定義(從其組織和資料類型兩個面向)。 XML 架構使用「XML 架構」語言來指定在架構中如何定義元素的每種類型,以及與元素關聯的資料類型。與DTD 相比,架構的最鮮明的特點,便是架構本身就是XML 文件。這意味著閱讀它所描述的XML 的工具也可以閱讀它。
Microsoft 的XML 服務目前支援XML 資料架構,它代表了在1999 年3 月Internet Explorer 5 出貨時「W3C 架構」活動的快照。 XML 資料架構可讓開發人員在他們的XML 文件中新增資料類型,以及定義開放的內容模型。這種對DTD 功能的擴充對XML 程式設計很關鍵。
但是W3C 正在準備“XML 架構定義(XSD)”,它將成為“XML 架構標準”。 Microsoft 計劃在此規範成為建議後,立即使對「XML 架構定義(XSD)」的支援成為它核心XML 服務的一部分。
什麼是名稱空間,它們為何重要?
名稱空間是XML 的另一個進階功能,並作為XML 1.0 規範的一部分,在W3C 筆記中作了概述。它們允許開發人員限定元素名稱和關係。名稱空間使元素名稱唯一可識別,從而避免了名稱相同,但是在不同字典中定義的元素之間發生名稱衝突。它們允許混合來自不同名稱空間的標記,這一點對多個來源的資料很重要。
例紓?中昕梢遠ㄒ?
名稱空間有助於清楚定義這種差別。
XSLT 和XPATH
什麼是XSLT?
XSLT(英文) ,或用於轉換的可擴展樣式表語言,它是在1999 年11 月6 日獲得批准的W3C 建議。從標記和程式設計兩重意義上來說,這種語言提供了將XML 結構轉換到其他XML 結構、HTML 或任何數量的其他文字格式(例如SQL)的機制。雖然它可以用來建立Web 頁面的顯示輸出,但XSLT 的實際功能在於能夠改變底層結構,而不是簡單地改變這些結構的媒體表示,就像在層疊樣式表(CSS) 中一樣。
XSL、XQL、XSL 模式和XSLT 之間的差異是什麼?
XSLT 源自於CSS 在對XML 文件結構改動上的局限性,當時創建XML 的原因更傾向於取代HTML 而不是提供通用資料描述語言。因此可擴充樣式表語言(XSL) 成為建構格式化XML 新方法的成果。
但是,「W3C 樣式工作」群組的成員和早期XML 採用者很快就發現,能夠將XML 從一種格式轉換到另一個格式的語言,可以極大地簡化生成的大量程式碼。 Microsoft 向W3C 提交了一個建議,最初名稱為XML 查詢語言(或XQL),它隨之被W3C 採納為XSL 模式語言。該語言的大多數功能最終都被納入了XSLT 規範中。
最終標準結合了為不同初始條件而修改的XSLT 參數,創建代碼功能塊的命名模板,以及大量用於數值和字串處理的增強功能。 XSLT 也為在語言中新增內建功能提供方便,提供了Microsoft 可在自己的實作中用來新增許多極為有用功能(包括存取COM 物件和腳本)的產品。
什麼是XPath?
XPath(英文) 是為XML 定義的查詢語言,它提供在文件中選擇節點子集的簡單語法。透過XPath,透過指定類似目錄的路徑(即名稱)以及路徑中的條件,可以擷取元素集合。 XPath 對XSLT 和XML DOM 都很重要,並與XPointer 規範(允許根據統一資源定位符[URL] 和XPath 表達式的組合來選擇文件片段)有連結。
為什麼XSLT 對XML 很重要?
XSLT 是將一種XML 文件轉換為另一種的語言。這意味著它提供了單源XML 資料的機制,可以在Web 頁面中建立由使用者動態變更的豐富視圖,可以為目標通訊過濾資料。 XSLT 對於業務規則編碼已經足夠強大。它可以從資料生成圖形(不僅僅是Web 頁面)。它甚至可以處理與其他伺服器的通訊— 特別是和能夠整合到XSLT 中的腳本模組協作— 以及在XSLT 自身內部產生適當的訊息。雖然它不可能取代桌面系統中的大多數交互(出於性能和使用方便性兩方面分原因),但是在未來的幾年中,XSLT 很有可能最終成為系統之間進行通信的主要“編程”語言。
XSLT 和CSS 之間的差異是什麼?它們不是樣式表嗎?
層疊樣式表(CSS) 的任務是對HTML 元素指定一組顯示屬性。 CSS 決定了頁面的視覺外觀,但不會改變來源文件的結構。
另一方面,XSLT 也稱為基於模板的語言,它允許將某種模式映射到來源文件中,該文件的輸出是用XML、HTML 或純文本書寫的。使用XSLT,可以將XML 文件的結構轉換為不同的XML 文件。例如,您可以變更XML 文件的順序、新增或刪除元素、執行條件測試或使用元素的集合進行迭代。
XSLT 和CSS 不是相容標準。一種在XML 中建立Web 頁面的有用技術,是用XSLT 將XML 轉換為諸如清單或表格的結構,然後將CSS 應用於結果,控制這些結構在適當媒體中的顯示。您甚至可以從XSLT 建立CSS。
標準
Microsoft 如何與XML 標準相容?
從XML 語言開始產生起,Microsoft 就站在了XML 的最前沿,而且很值得注意的是,W3C 在過去幾年中所產生的大多數XML 建議和工作草案,都包括來自至少一個(在某些情況下可能是數個)Microsoft 職員的輸入和參與。 Microsoft 已經多次被委以重任,與W3C 標準組織一起,確保XML 的開發能使所有使用者受益,並且在許多不同領域的開發中都做出了重要貢獻,包括XML 規範、DOM、XSLT 和架構定義語言。 Microsoft 承諾將與最新規格和標準保持一致。
XML 和World Wide Web Consortium (W3C) 之間的關係是什麼?
W3C 有一活躍的XML 工作小組。 Microsoft 從1996 年6 月起就是該組織的共同發起者之一,從那時起許多業界企業都開始加入,包括Netscape Communications Corp.、IBM 和Oracle。有關XML 標準過程的詳細信息,請訪問W3C Web 網站(英文)。
XML 和W3C 的地位關係如何?
XML 1.0 是在1998 年12 月被正式批准的,現在仍是穩定的標準。有關當前XML 規範的詳細資訊以及W3C 內部的提交和審查過程,請參閱W3C Web 網站(英文)。
DOM 在W3C 中的地位如何?
DOM Level 1 的W3C 文件狀態為「推薦」。這說明W3C 目前正在提議將它作為World Wide Web 上的標準。有關DOM 和在W3C 內部提交和審閱過程的詳細信息,請參見DOM 規範(英文)。
工具支援
SQL Server 和ADO 支援XML 嗎?
Microsoft ActiveX 資料物件(ADO) 技術,提供許多將資料庫記錄集(資料記錄集合)轉換為XML 格式的方法,以及從給定結構中取得XML 並將其轉換回ADO 所支援資料庫(包括SQL Server 和Oracle資料庫)的工具。此外,透過MSXML2 和MSXML3 中的XML 資料來源對象,也可以將任意XML 直接載入到ADO 中以產生記錄集。
SQL Server 2000 還允許透過URL 直接設定和檢索XML,方式和呼叫Web 頁面非常相似。這是處理資料的強大機制,因為它基本上意味著可以將SQL Server 資料直接整合到XML 過濾器和Web 頁面,基本上凡是有XML 文件的地方都可以整合SQL Server 資料。此外,還可以設定自訂模板,控制如何從SQL Server 資料產生XML,使資料庫成為產生XHTML 頁面的強大工具。
最後,諸如BizTalk Server 這樣的應用程式還允許在任意數量的不同資料來源(從XML 文件到資料庫到Excel 和Word 文件)之間進行映射、為Web 體系結構建立複雜資料管道以及根據XML 資料庫需求建構有效的架構。
目前有Microsoft 工具可以幫助我快速沿用XML 嗎?
Microsoft BizTalk Server 2000 是用於資料交換的、基於XML 的伺服器,它提供啟用電子商務業務社會的基本結構和工具。 BizTalk Server 的基礎是基於規則的業務文件路由、轉換和追蹤基本結構。此基本結構允許公司透過在組織邊界之內或之間的應用程式中間交換業務文檔,例如購買定單和發票,來整合、管理和自動化業務流程。有關詳細信息,請參見Microsoft BizTalk Server 2000(英文) 。
什麼是SOAP?
SOAP 是簡單物件存取協議,是建立大範圍分散式、複雜運算環境的工具,可使用現有的Internet 基本結構運行在Internet 上。 SOAP 可以讓應用程式用許許多多方法在Internet 上互相直接通訊。有關SOAP 的詳細信息,請參見SOAP 規範(英文)。
XML 如何適用於Microsoft Windows? Distributed InterNet Applications (Windows DNA) 策略來建構三層並具有Web 功能的應用程式?
XML 正在快速成為將結構化資料從中間層傳送到桌面的工具。基於XML 的資料可以透過中間層代理程式與多種後端(資料庫)來源整合。架構(請參閱「XML 資料」一節)可以改進流程,並且開發人員可以更精確地描述和交換資料。
問題和解決方案
為什麼在呼叫了Load() 方法後,我的文檔物件仍然為空?
預設情況下操作是異步載入的。這意味著如果提供http URL 位址,那麼load() 方法將直接傳回,且文件物件仍然為空,因為資料尚未從伺服器傳回。為了修正這個問題,請在程式碼中加入下面的行:
xmldoc.async = false;
同時,如果是從獨立的C++ 應用程式載入http XML 文檔,那麼必須查詢訊息佇列才能繼續載入。