Wolfgang Meier 的開放源碼的 eXist 數據庫可能是當今最流行的原生 XML 數據庫(但這并不是說它是最好的)。eXist 是用 Java™ 編程語言編寫的,可運行在大多數主要平臺上。程序通過 eXist 綁定的 HTTP 服務器與 eXist 交互。SOAP、XML-RPC 和 RESTful 接口它都提供了,您可以通過這些接口向核心服務器提交 XPath、XQuery 和 XUpdate 請求。命令行和 GUI 客戶機也是可用的。
安裝 eXist
eXist 需要 Java 1.4 或更高版本,否則,所有必需的依賴關系都將被綁定。事實上,對于服務器端開放源碼項目來說,安裝 eXist 已經是相當容易了。其他很多項目,不管是開放源碼的,還是非開放源碼的,安裝時都可以從安裝 eXist 受到啟發。安裝程序是用 IzPack 構建的。發行版是一個 JAR 檔案文件。要安裝 eXist,只要像下面這樣運行該檔案文件即可:
|
安裝程序打開一個 GUI,詢問您要將 eXist 目錄安裝在哪里。我把它安裝在 /home/elharo/eXist 中。eXist/bin 目錄包含必需的啟動腳本。要啟動服務器,可執行 startup.sh (UNIX®) 或 startup.bat (Microsoft® Windows®):
|
該命令在端口 8080 上運行服務器,并開始服務 /eXist 中的文件。您可以從任何 Web 瀏覽器連接到 eXist。例如,我將 eXist 安裝在 eliza.elharo.com 上,所以我可以在以下 URL 處連接到 eXist:
|
(您不要在自己家里這么去嘗試,因為我的防火墻會擋住您。您必須連接到您自己的服務器。)
最初,您將看到 eXist 文檔,還有一些您將要去探明的示例。
將數據裝載到 eXist 中
eXist 不是真正的 Web 服務器,它只是使用一個 Web 服務器作為到底層數據庫服務器的方便的接口。軟件包中還包含獨立的 GUI 客戶機和編程 API,您可以使用這些來執行各種操作。您甚至可以使用 WebDAV 從 Microsoft Windows Explorer 瀏覽 eXist。對于初次體驗來說,可能使用簡單的 GUI 客戶機是最容易的。要啟動客戶機,可從 eXist/bin 目錄執行 client.sh (UNIX) 或 client.bat (Windows):
|
從圖 1 可以看到,默認情況下,客戶機試圖連接到運行在端口 8080 上的本地主機上的 eXist 數據庫。您可以在 URL text 字段指定另外的主機和端口。這一個窗口也會要求輸入用戶名和密碼。默認情況下,用戶名是 admin,可以將 password 字段保持為空。
圖 1. 連接到 eXist
![]() |
您登錄之后,客戶機顯示圖 2 所示的 GUI。最初,eXist 帶有一個集合,叫做 system,其中存儲有用戶信息,F在您不想使用這個集合,而是通過選擇 File > New Collection 為文檔創建一個新的集合。我創建了一個名為 books 的集合。要打開集合,可在 GUI 中雙擊它。打開一個集合后,要上載文檔,可單擊看起來有點像一張彎曲的紙、旁邊有一個加號的圖標。
圖 2. eXist 管理客戶機
我首先上載兩個小文檔,數據庫毫無意見地接受它們。然后我嘗試上載我的 Processing XML with Java 一書的完整文本。這個操作悄無聲息地失敗了,沒有給出任何錯誤消息。不通過 GUI 客戶機上載,改為通過 Web 接口上載也失敗了。但是該接口給出了一個堆棧跟蹤,有助于調試問題。這表明 eXist 沒有解析文檔類型聲明中使用的相對 URL。要裝載具有外部 DTD 子集的文檔,您必須手動在服務器的文件系統上安裝 DTD,并編輯一個編目文件,告訴數據庫要裝載的文檔在哪里;然后,必須重啟數據庫服務器,使它重新裝載編目文件。這是一個主要的爭論點,盡管每個不同的 DTD 您通常只需要安裝一次。在您的文檔不使用 DTD 或者只使用少量不怎么改變的 DTD 時,eXist 工作得最好。
共3頁: 1 [2] [3] 下一頁 |