曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
載的代碼)。你可能需要為這個樣式表編輯U R L以便在自己的系統上定位它。如果裝入成功,文
檔解析正確,轉換它,并且把結果放在網頁上正確的地方:
程序清單1 0 - 6 5
414使用XML 高級編程
下載
第一次轉換創建了將在數據庫中被創建的摘要,列出了所有的表和列。下一次轉換將自動
發送一系列指令給S Q L數據庫,創建數據庫的元素。(為了定位D B C r e a t e S Q L . x s l—帶有可下
載的代碼,你需要改變系統顯示的U R L):
程序清單1 0 - 6 6
剩下的代碼提供需要建立命令指令的所有函數。第一個創建了一個輪流需要主鍵的新表:
程序清單1 0 - 6 7
第10章XML和數據庫使用415 下載
下一個函數創建一個在表中的I D列:
程序清單1 0 - 6 8
創建數據需要我們在一個已經存在的表上執行插入動作:
程序清單1 0 - 6 9
主鍵和這個函數一起被創建。注意,如果鍵值的主要目的是作為終點來參考,那么,它可
能有b A u t o參數設置。它設置了自動增加的整型的主鍵:
程序清單1 0 - 7 0
在一個表上設置外鍵可進行查找,指向另外一個表的主鍵:
416使用XML 高級編程
下載
程序清單1 0 - 7 1
一個I D R E F列能在兩個表之間建立聯系,但沒有必要對指定的表的主鍵建立聯系:
程序清單1 0 - 7 2
一個I D R E F S屬性已經成為了一個媒介,或者連接,被創建的表。我們需要找到這個表,從
兩個表中找到它,通過這個媒介自動連接:
程序清單1 0 - 7 3
通過對需要創建的外鍵的列表增加一個指令來建立一個聯系:
程序清單1 0 - 7 4
第10章XML和數據庫使用417 下載
這個函數允許我們找到一個已經存在的指令去創建表:
這兩個函數允許我們轉換單詞,像a u t h o r 到A u t h o r ( C a p F i r s t ), a u t h o r s 到A u t h o r
(C a pFi r s t S i n g u l a r)一樣,在屬性有I D R E F,I D R E F S的值時,創建被引用的表的時候進行轉換:
程序清單1 0 - 7 5
在這個函數中,一個詳細數據類型的新的列被增加了:
程序清單1 0 - 7 6
下面描述了更多的指定函數的調用:
程序清單1 0 - 7 7
418使用XML 高級編程
下載
這個函數允許我們從一個節點中檢索屬性的值,如果這個屬性不存在,返回一個空串:
程序清單1 0 - 7 8
最后,是我們的錯誤輸出函數。第一個使用在裝入另外的X M L文件的時候,報告了一些解
析錯誤。第二個使用在運行錯誤發生的時候:
程序清單1 0 - 7 9
第10章XML和數據庫使用419 下載
命令的列表必須在創建指定數據庫之前先進行準備,因為它允許我們優化和排序這些命令。
例如,創建了需要的表的列表后,可以檢查和刪除純文本的表。可以保證在兩個表之間建立關
系之前,所有的表都已經準備好了。
一旦我們有命令列表,樣式表能夠被應用,轉換命令為S Q L的描述。兩個階段的進程是比較
有利的,因為,它把輸入和輸出分離開來。如果創建表的命令或插入鍵值與另外類型的數據庫
不兼容,轉換樣式表能夠被改變。如果使用了不同的語法,源程序代碼能夠被改變。
圖1 0 - 3 7是運行書中目錄模式腳本的結果:
圖10-37
左邊是需要被執行的指令的列表,右邊是一系列S Q L語句指令。
10.4 結論
X M L和數據庫之間仍然有很大的距離。我們已經建立了大量的方法去完成任務—有時候
是太多的方法。然而,數據庫廠商的執行官曾經聲明,承諾給數據庫加入X M L功能,把數據庫
的功能帶給X M L,并且將加速發展。
X M L將日益成為數據交換、顯示、索引等的基礎,它將進入我們當前處理的每一種應用和
設備。從移動電話,到家庭娛樂系統,到人造衛星系統,基于X M L基礎的應用將會更簡潔和擁
有更高的效率。
同時,通信語言逐漸使用X M L,諸如到處存在的信息存儲單元、文檔、圖像、傳真、音頻、
視頻、電子表格,將發現它們本身的文件格式將成為X M L的格式。M a c r o m e d i a和Q u a r k公司已
經宣稱它們的知名產品將使用X M L格式。M i c r o s o f t也聲明即將發行的O ffice 2000套餐中將附帶
X M L的語句。
隨著X M L的大量應用,程序員和系統設計師設計交付動態X M L文檔變得越來越重要。為了
做到這一點,他們當然需要了解數據庫技術。
420使用XML 高級編程
下載
下載
第11章服務器到服務器
傳統的服務器和分布式通信對組件模式系統的依賴性很強,例如C O M或者C O R B A。這些技
術并不真正適合于I n t e r n e t,它們有一個依賴程度和/或平臺問題。實際上,甚至在I n t r a n e t中,可
以發現你將得到這樣一些信息,即遠程對象被寫入怎樣的組件結構,它們存在于哪些平臺。在
并不知道任何關于共享的分布對象結構的條件下,能夠更容易地寫出客戶應用程序嗎?在
I n t e r n e t環境中恐怕你別無選擇。
使用X M L作為一個分布組件模式,我們能夠克服任何所遭遇的異構結構和平臺問題。X M L
從根本上說,就是一種文本,而且它能夠被任何平臺和現有的語言所理解,能夠傳送請求消息
和響應于任何環境。
這一章我們將主要關注用于服務器到服務器通信的技術和技巧,介紹一些使用它們的例子,
并且介紹它們是怎樣服務于所舉的例子的。
11.1 XML的傳送
首先,讓我們關注一下有關用于X M L傳輸所使用方式的大體情況,其中一些是傳統的,另
一些是新的,我們將考慮使用F T P、M S M Q、H T T P和S M T P來傳送X M L。
下面這幅圖將描述這樣一種情景:一個中心書籍發行商擁有成千上萬的大量書籍,一個個
體書籍零售商每周將從發行商處取得幾百個書目,而消費者將從零售商處得到自己需要的書目
(參見圖11 - 1)。
圖11-1
現在我們已經討論了在這個鏈中包含的有關過程,但是X M L將作用于何處呢?下面這個圖
表將強調在不同服務器之間傳輸消息所使用的方式,隨后的文字將解釋在其中每一步里是如何
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級編程上(134)