schema語法學習

2021-07-05 18:24:17 字數 2996 閱讀 7663

xml schema 學習總結  

簡單型別    

1、簡單元素:指只能包含文字內容,不能夠包含子元素,也沒有屬性的元素。    

格式:例子:    

2、屬性:所有的元素屬性均被宣告為簡單型別。只有複雜型別的元素才可以擁  

有屬性。    

格式:例子:

所有的屬性預設都是可選的,我們可以通過使用use 關鍵字明確的指出是可選  

或是必需:    

我們可以通過使用default 或fixed 為簡單型別(簡單元素、屬性)指定預設值  

或固定值,    

如下:    

對簡單型別值的約束    

約束                                       含義   

enumeration                          定義允許值的列舉   

fractiondigits                         指定最多允許的小數字數(必須大 於或等於零)   

length                                    精確指定允許的最大字元長度   

maxexclusive                        指定允許的最大數值,必須小於該值   

maxinclusive                         指定允許的最大數值,必須小於或等於該值   

maxlength                            指定允許的最大字元長度(必須大於等於零)   

minexclusive                         指定允許的最小數值,必須大於該值   

mininclusive                          指定允許的最小數值,必須大於或

等於該值   

minlength                             指定允許的最小字元長度   

pattern                                   指定允許值的模式,類似正規表示式   

totaldigits                              精確指定數字個數   

whitespace                           處理空白(保留:preserve;替換: replace;合併:collapse)   

複雜型別    

複雜型別指包含其他元素/屬性的元素型別。    

rose

alex

hi,my girl!

在上面的例子中,元素message 就是乙個複雜型別的元素,我們在schema  

中這樣描述:    

注意元素to,from,body 包含在 中,表明  這些元素必須按照定義的順序出現在你的xml 檔案中。 

當然,message 元素也可以包含乙個type 屬性,指向我們定義的複雜型別,  

象這樣:    

複雜型別和簡單型別之間最根本的區別就是:複雜型別的內容中可以包含其他元素,也可以帶有屬性(attribute ),但簡單型別既不能包含子元素,也不能帶有任何屬性。

schema 綜述

1、如何描述空元素,比如:?    

因為是空元素,所以不包含子元素,同時由於包含屬性,用attribute 定義,象這樣:    

也可以這樣:     

2、如何描述只含有簡單內容(文字/屬性)的元素,比如:    

hi,my girl! ?    

由於只包含簡單內容,所以我們在元素內容定義的外面用******content  指出,當描述簡單內容的時候,我們需要在簡單內容裡使用extension 或者restriction 來描述內容的資料型別。象這樣:    

其中message 的屬性date 的資料型別為日期(xs:date ).順便提一下:xml schema  中常用的資料型別有:    

xs:string   、xs:decimal   、xs:integer   、xs:boolean   、xs:date   、xs:time 等。

3、如何定義混合型別,比如:    

this message comes from alex

message 元素除了包含子元素from 之外,還直接包含文字「this message comes from」。對於這種情況,我們需要在complextype  中使用屬性  

mixed="true"指出。以下是schema:    

當然,如果包含更多的子元素,我們可以需要使用來限定那些子元素的順序。    

在xml schema  中,有3 類共7 種指示器(indicator): 

一、定義元素如何出現:包括all,sequence,choice  這三個。    

1、all:預設值。不限制子元素的出現順序,每個子元素必須出現且只能出現一次。例如:    

2、sequence:子元素在xml 檔案中按照xml schema 定義的順序出現。    

3、choice:兩個或多個子元素中僅出現乙個。例如:    

二、次數限定類,包括minoccurs 和maxoccurs,前者指定最少出現次數,

後者指定最多出現次數。例如:    

如果元素出現的最大次數無限制,可以使用maxoccurs="unbounded"。    

三、組限定:包括group 和attributegroup,用來定義一組相關的元素。比如:    

補充:和,在xml schema  中使用這兩個元素可以放寬schema 對xml 檔案內容的限制。容許我們在xml 檔案中使用沒有在 schema  中定義的元素和屬性。(很少使用)    

元素屬性substitutiongroup 可以讓元素b 替換元素a 在xml 檔案中出現。 比如:    

這種情形類似choice:    

markdown語法學習

markdown是純文字格式的語法,支援轉換為html,可以幫助整理知識 學習筆記 markdown的段落是由若干行文字組成,前後由空行隔開 普通段落不該用空格或製表符縮排 markdown支援兩種標題樣式 setext和atx setext風格的標題用符號 first level 和 second...

SQL語法學習

union 操作符用於合併兩個或多個 select 語句的結果集。請注意,union 內部的 select 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條 select 語句中的列的順序必須相同。sql union 語法 select column name s from tabl...

Sass語法學習

1 編譯監控 自動監控把sass編譯成css檔案,命令列 sass watch sass basic.scss css basic.css 在監控的sass後面,可以為 sass 生成 css 樣式指定生成的格式,預設是nested型 style nested compact compressed ...