跳轉到內容

XRX/背景技術

來自華夏公益教科書,開放的書籍,開放的世界
< XRX

站在巨人的肩膀上

[編輯 | 編輯原始碼]

XRX 架構並非一蹴而就。它得益於許多標準化組織多年來的辛勤工作。顯然,XML 標準是支援大多數關鍵技術的一項。但 HTML、HTTP、CSS、XPath、XML Schema、XSLT、XForms、REST、Schematron 和 XQuery 等 W3C 制定的標準的作用也必須得到重視,才能真正瞭解標準化工作的範圍。以下是這些技術的簡要概述,以及它們建立和學習的粗略順序。

XML 語法

[編輯 | 編輯原始碼]

在文字文件中使用“小於”和“大於”字元來括號嵌入的資料元素的語法可以追溯到早期的標記語言,例如 SGML。SGML 是 HTML 標準的模型語言。SGML 是一項複雜的標準,要求使用者熟悉許多技術,因此在 1997 年,人們努力簡化這項標準,而 XML 標準首次由 W3C 釋出。

XPath 語言是一種較小的資料選擇語言,廣泛用於其他 XML 標準中。我們的客戶端技術(XForms)和我們的伺服器技術(XQuery)都高度依賴於使用 XPath 從更大的 XML 樹結構中精細地去除我們想要的內容。如果您熟悉 UNIX 或 Web 檔案系統路徑,您可能已經對 XPath 表示式的工作原理有了很好的概念模型。在本手冊中,我們將主要使用非常簡單的 XPath 表示式,這些表示式只是使用“子”路徑和稱為謂詞的“where”路徑來縮小 XML 資料集。

儘管本華夏公益教科書並非關於 XForms 的手冊,但使用 XForms 使客戶端應用程式開發與本書中其餘部分的內容非常一致。我們將涵蓋足夠的背景知識,以幫助您瞭解 XForms 的關鍵架構特性,以及它如何利用 REST 介面獲取資料並將其提交到伺服器。從技術上講,您仍然可以從 XRX 架構中受益,而無需在客戶端使用任何 XForms 應用程式,但您可能會發現,在這樣做時,您會複製 XForms 中已經存在的大多陣列件。XForms 中的核心概念是 MVC 架構、繫結、依賴關係圖和宣告式提交元素。如果您是 JavaScript 和 AJAX 的粉絲,您可以使用這些工具實現 XForms 的許多功能。但本華夏公益教科書不涵蓋此主題。事實上,許多人專門使用 XRX 架構來避免學習 JavaScript 和如今流行的各種 JavaScript 框架。

任何熟悉 SQL 語言的人都知道 SELECT 語句在從關係資料庫中選擇適當的表、列和行中的作用。表面上,XQuery 可能僅僅看起來像是針對 XML 資料庫的 SQL 版本。但是,由於 XQuery 可以很容易地擴充套件,因此它扮演了比 XML 資料庫的報告語言更大的角色。XQuery 可能是開發人員唯一需要的伺服器語言。由於它可以很容易地擴充套件,因此它已經被擴充套件了數百種有用的方式。

第一個主要擴充套件是 XQuery 能夠更新 XML 資料。這被認為對最初的 XQuery 作者很重要,但他們決定首先專注於資料選擇,其次是資料更新。

XForms 模型最優雅的方面之一是,它從一開始就被設計為與 W3C 的層疊樣式表 (CSS) 標準一起使用。因此,Web 應用程式控制元件在螢幕上排列的幾乎所有方面都可以由單個站點範圍的 CSS 檔案管理。結果是,如果您決定進行站點範圍的更改,則只需要更改一個檔案。缺點是,許多瀏覽器中對 CSS 的支援程度差異很大。由於 XForms 是作為單獨的名稱空間實現的,而 CSS 被設計為名稱空間感知的,因此大多數現代 XForms 樣式表都利用了這一基本功能。挑戰在於,並非所有瀏覽器都實現了 CSS 名稱空間功能。這個問題很複雜,任何構建應用程式以支援舊版瀏覽器的 XRX 架構都必須考慮這些注意事項。


上一頁: 構建你的第一個 XRX 應用程式 下一頁: 修補您的瀏覽器以支援 XForms

華夏公益教科書