大致的XML SCHEMA介紹

2021-06-24 11:53:36 字數 2083 閱讀 7155

1 xml schema簡介

xml schema是w3c制定的基於xml格式的xml文件結構描述標準。作為一種文件描述語言,通常我們將其簡寫為xsd(xml schema define)。xsd作為dtd(文件型別定義)的替代者,已經廣泛地應用到各種商業應用。

2 如何使用xsd

看一下以下xsd檔案其對應xml文件應該為什麼呢?

<?xml version="1.0"?>                                       

說明如下:

<?xml version="1.0" ncoding="utf-8"?>

xml文件定義,描述本文件使用的xml標準版本及文件編碼標準。

是所有xsd文件的根元素,其屬性描述文件的名空間及文件引用;

xmlns:xs=""

指示使用xs:作字首的元素、屬性、型別等名稱是屬於名空間的。

targetnamespace=""

指示本文件定義的元素、屬性、型別等名稱屬於名空間;

xmlns=""

指示預設的名空間是http://www. w3schools.com,即沒有字首的元素、屬性、型別等名稱是屬於該名空間的。

elementformdefault="qualified"

指示使用本xsd定義的xml文件所使用的元素必須在本文件中定義且使用名空間字首。

定義乙個元素(方法名),該元素的名稱是test,即xml中的;

定義元素的型別為複雜型別,具體格式由子元素定義;

定義元素的子元素必須按順序出現。具體的順序由子元素的定義順序決定;

定義4個元素分別為、、body

3 資料型別

資料型別分為有3中,基本資料型別、簡單資料型別、複雜資料型別。

基本資料型別:通常指的是w3c標準定義的資料型別,主要包括xsd:integer、xsd:string、xsd:date、xsd:boolean等等。

******type(簡單資料型別):可以說是基本資料型別的擴充套件,對其取值進行了約束,並不包含屬性以及元素。

上面的例子有提到complextype(複雜資料型別),那何為複雜型別呢?

複雜資料型別:通常是複雜元素的資料型別或複雜元素的子元素,描述複雜元素的子元素、屬性以及子元素與屬性的型別。4 約束約束指對簡單型別的元素或屬性施加的值約束條件,主要包含範圍約束、長度約束、列舉值、模式匹配、空白處理等,是xsd元素或屬性值限制的基礎。

其大致有以下幾種型別:

enumeration:定義可接受值的乙個列表

fractiondigits:定義所允許的最大的小數字數。必須大於等於0。

length:定義所允許的字元或者列表專案的精確數目。必須大於或等於0。

maxexclusive:定義數值的上限。所允許的值必須小於此值。

maxinclusive:定義數值的上限。所允許的值必須小於或等於此值。

maxlength:定義所允許的字元或者列表專案的最大數目。必須大於或等於0。 

minexclusive:定義數值的下限。所允許的值必需大於此值。

mininclusive:定義數值的下限。所允許的值必需大於或等於此值。

minlength:定義所允許的字元或者列表專案的最小數目。必須大於或等於0。

pattern:定義可接受的字元的精確序列。

totaldigits:定義所允許的阿拉伯數字的精確位數。必須大於0。

whitespace:定義空白字元(換行、回車、空格以及製表符)的處理方式。

OAuth2 0大致模型介紹

在申請使用qq等第三方登入的時候經常看到這玩意,感覺上是個很高大尚的東西,而且念出來超專業的 open authorization,開放式授權協議 接下來是具體的步驟,但是接下來還是理論上的步驟,具體的實施情況可以到慕課網上搜教程,我1沒伺服器,2沒網域名稱,只能學習理論階段了。首先第一步,請求oa...

XML schema學習的部分總結

剛剛學了xml schema模式,為了方便分享。在此總結一下我學習的經驗。首先schema文件都必須要使用schema元素作為其根元素。哎,直接上 吧,來的直接,嘿嘿,這裡需要特別的注意,這個語句必須在此結束。因為後面定義的是他的資料型別,不結束的話後面編譯就會出現錯誤,在這點上我吃了不少虧,嗚嗚。...

spring中xml Schema的url的作用

其中關於aop命名空間的定義有三行 1 xmlns aop 2 3 spring aop 4.0.xsd aop為命名空間的別名,一般使用簡單易記的名稱,文件後面的元素可以通過命名空間加區分,如等。1 xml解析器可以獲取schema檔案並對文件進行格式化驗證 2 在開發環境下,ide 如eclip...