xsd學習 xsd介紹

2022-07-07 06:15:12 字數 1873 閱讀 1811

一直以來專案中對xml格式的判斷使用的都是dtd格式,直到最近才發現,不知何時都已經轉為xsd來進行判斷和校驗,於是今天專門找資料看下,不得不說,對於這類資料的入門,w3cschool真是個不錯的資料庫,許多東西在上邊直接可以找到資料。

xsd作為dtd的替代者,主要是因為如下原因:

不得不說,在這裡的概念在我們了解具體情況之前都是沒作用的,只能隨著之後的進一步了解來進行體驗。

xml version="1.0"

?>

<

xs:schema

xmlns:xs

=""

targetnamespace

=""

xmlns

=""

elementformdefault

="qualified"

>

<

xs:element

name

="note"

>

<

xs:complextype

>

<

xs:sequence

>

<

xs:element

name

="to"

type

="xs:string"

/>

<

xs:element

name

="from"

type

="xs:string"

/>

<

xs:element

name

="heading"

type

="xs:string"

/>

<

xs:element

name

="body"

type

="xs:string"

/>

xs:sequence

>

xs:complextype

>

xs:element

>

xs:schema

>

以上為最簡單的xsd格式,主要用於定義主節點和節點內的子節點,對應的xml檔案為:

xml version="1.0"

?>

<

note

xmlns

=""xmlns:xsi

="-instance"

xsi:schemalocation

=" note.xsd"

>

<

to>george

to>

<

from

>john

from

>

<

heading

>reminder

heading

>

<

body

>don't forget the meeting!

body

>

note

>

view code

而對應的此xml檔案的dtd校驗檔案格式為:

element note (to, from, heading, body)

>

element to (#pcdata)

>

element from (#pcdata)

>

element heading (#pcdata)

>

element body (#pcdata)

>

從以上檔案看出,xsd格式書寫更為複雜,層次更多,但是支援更多的資料型別,可以直接指定為字串。

如何使用XSD

xml 文件可對 dtd 或 xml schema 進行引用。請看這個名為 note.xml 的 xml 文件 george john reminder don t forget the meeting 下面這個例子是名為 note.dtd 的 dtd 檔案,它對上面那個 xml 文件的元素進行了定...

XSD 復合元素

什麼是復合元素 包含其他元素的元素 僅包含文字的元素 包含元素和文字的元素 定義復合元素 直接在元素中復合元素 使用type屬性,引用要使用型別的名稱 空元素在上面的例子中,我們定義了乙個帶有復合內容的復合型別。complexcontent 元素給出的訊號是,我們打算限定或者拓展某個復合型別的內容模...

xsd檔案合併

在用sdo的 helpercontext載入xsd時,發現同樣的namespace,它只載入一次 應該算bug吧?也就是說如果有相同的namespace的話,第二次載入的xsd裡的型別將找不到,現在解決的方式是合併所有的namespace相同的xsd,成為乙個新的xsd,然後讓helperconte...