手工編寫乙個XML Schema XSD 的例項

2022-09-02 17:09:12 字數 1684 閱讀 9944

簡單說:xml schema就是xml的乙個class,也相當於關係表的表結構模式。目前大都可以由程式根據已有的xml自動生成它的xsd,或者根據關係表生成它相應的xsd(實際就是將關係資料轉換成xml資料,vs2005中的型別化的dataset就是這樣實現的)。

對xml schema做一些簡單了解還是很有益處的。

xml schema用於描述xml文件結構的檔案。xml schema有時又稱為xml schema definition,所以也會稱為xsd。因此schema檔案是以xsd為字尾的。

定義xml文件結構結構指:

定義可以出現在文件中的element。 定義可以出現在文件中的attribute。 定義哪些element是子元素。 定義element的順序。 定義子元素的數目。 定義乙個元素是否能為空,是否能包含文字。 為每個element和attribute定義資料型別。 為element和attribute定義預設值和固定值。 因為有了以上的定義,我們才能更清晰的使用xml描述我們要表達的內容。使xml的接受方能更容易明白內容的含義。

對xml文件的驗證有如下幾個步驟:

1.定義乙份xml schema或dtd: schema或dtd為同一型別的所有文件定義了結構標準,比如有關書籍資訊的文件可共享乙份標準。

2.應用schema或dtd:一般由文件的作者指定schema,這樣接收方可以很快地根據說明對文件進行驗證。但在c/s(客戶機/伺服器)環境中,由於伺服器無法判斷xml在客戶端是否已經驗證過,所以為了能夠確保驗證過程,也為了避免可能的重複驗證,對文件應用schema或dtd的操作由伺服器完成。

3.執行解析器進行驗證:解析器在裝載文件的同時掃瞄結構,遇到任何錯誤都會終止裝載過程,

並做出適當的響應。

以下是乙個xml與它相應的xml schema的例項。

給定xml(project_4.xml)檔案如下:

economics

social science centre, uwo, london, ontario, canada , n6a 5c2

ssc 4071

519 661-3500 x83500

519 661-3666 x83666

[email protected]

political_science

social science centre, uwo, london, ontario, canada , n6a 5c2

ssc 4154

519 661-3266 x83266

519 661-3904 x83904

[email protected]

local_government_program

519 661-2111 x80501

ssc 4148

politics_020e_course_coordinator

519 661-2111 x85108

ssc 4149

對該xml大致分析,基本確定它的模式資訊,開始編寫xsd檔案:

project.xsd

<?xml version="1.0"?>

如果使用該xsd驗證以上xml檔案,並且這兩個檔案在同一目錄下,則只要如下修改xml檔案:

project.xsd" xmlns="">

以上大號字型則是驗證模式檔案的路徑。

參考:

如何編寫乙個 XML Schema

看看這個名為 shiporder.xml 的 xml 文件 george bush john adams oxford street london uk empire burlesque special edition 110.90 hide your heart 19.90 說明 上面的xml文件...

手工編寫第乙個windows程式

本來還想動動筆寫寫的 不過這實在是太多人寫過了 直接帖了帖 對於狠多程式還是非常有實際意義的 就算邇不想寫win32的應用程式 邇寫sdl或者寫opengl也總算是個win32框架的程式吧 有了這個 就可以不管剩下的細節了 盡情的在sdl等等中揮舞吧 注意一點就是一定要包含windows.h這個標頭...

手工編寫第乙個windows程式

本來還想動動筆寫寫的 不過這實在是太多人寫過了 直接帖了帖 對於狠多程式還是非常有實際意義的 就算邇不想寫win32的應用程式 邇寫sdl或者寫opengl也總算是個win32框架的程式吧 有了這個 就可以不管剩下的細節了 盡情的在sdl等等中揮舞吧 注意一點就是一定要包含windows.h這個標頭...