schema 知識總結

2021-06-26 23:44:46 字數 1983 閱讀 4660

一.schema的建立

1.這裡schema和dtd一樣,有乙個文件說明「<?xml version="1.0" encoding="utf-8"?>」

2.以schema作為根標籤,然後在標籤中去新增命名空間:

a.首先引入xmlns:xs=""。

b.targetnamespace=""宣告乙個命名空間(uri)。

c.xmlns:myns=""。

d.elementformdefault="qualified"嚴格按照schema文件約束我們要編寫的xml檔案。

二.屬性

1.在schema中常見的屬性型別有:string decimal integer date time. 

2.屬性的定義:

3.屬性只能在復合元素中定義,如果要在簡單元素中定義屬性,需要在completype的標籤中新增******content標籤,再在裡面新增extension標籤,用來擴充套件簡單元素,新增屬性。

4.在定義屬性中的use表示這個屬性是否需要出現在元素中,它有三個值optional 可用可不用、prohibited禁止使用、required必須使用。

三.在xml schemas(xml公式)定義了xml檔案的元素分別是簡單元素和復合元素。(元素也叫標籤)

1.簡單元素是只含有文字的xml元素。(沒有子元素)

簡單元素的定義:。

eg:2.復合元素(complex elements)是含有其他元素和/或屬性的xml元素.(含有子元素)

有四種復合元素(complex elements):空元素 只含有其他元素的元素 只含有文字的元素 含有文字和其他元素的元素 

一般的復合元素:

eg:四.schema之所以可以替代dtd,是因為它的可以更好的約束xml。

1.對簡單元素的約束:

a.在簡單元素中新增乙個標籤。

b.然後在******type標籤中新增乙個標籤,給這個標籤中的base屬性設定這個元素的型別。

c.在中對資訊進行約束:

列舉約束:

對數值大小之間的限定:maxexclusive 指定了數值的上限(數值要比這個值小)maxinclusive 指定了數值上限(數值必須小於等於這個值 minexclusive和mininclusive 與其相反。

樣式約束: 定義了符合要求的字元的確切排列順序

說明  [1-9]:表示1到9之間的任意乙個數字

[1-9]:表示寫三位1到9之間的數字

[a-za-z]:表示a到z之間任意一位大小寫字元

audi|benz:表示兩個之間任意乙個

字元長度約束:

值最少要有5個字元  最多有8個字元。

2.對復合元素的約束:

a.在復合元素中新增乙個標籤,再在中新增指示器(順序指示器【sequence】、全部指示器【all】、選擇指示器【choice】、數量指示器).

a.sequence:指定了子元素的要以定義的順序必須依次出現。

b.all:指定了子元素可以任意出現,並且只能出現一次。

c.choice:指定了子元素可以選擇乙個出現,並且只能出現乙個。

d.還有乙個數量指示器,它是作為乙個以子元素的屬性的方式出現。 minoccurs 設定出現的最少次數;maxoccurs設定出現的最多次數

b.它同時也擁有簡單元素的約束

五.將schema文件引入要約束的xml檔案

1在根標籤中,加入:

a.xmlns:xsi="-instance"要引入shema文件需要使用這個命名空間中的屬性。

b.xsi:schemalocation=" newschema.xsd" 使用上面引入的命名空間xsi中的schemalocation讀取schema文件,首先要填入schema文件的命名空間的uri,然後空格,再填入schema文件的名字。

c.在通過引入命名空間的方法,將schema文件的命名空間引入。

schema檔案相關知識

1 xmlns 引入schema約束,2 因為 引入的這個約束不是w3c定義的,所以 須指定schema檔案的位置,所以加上 schemalocation namespace 檔案路徑 3 引用了schemalocation,要加上schemalocation約束即加上 xmlns 4 由於 引入多...

schema基礎知識入門

schema是用於描述和規範xml文件的 邏輯結構 的一種語言,它最大的作用就是驗證xml 檔案邏輯結構 的正確性。可以理解成與dtd 文件型別定義 功能差不多,但是schema在當前的web開發環境下優越很多。因為它本身就是乙個有效的xml文件,因而可以更直觀地了解xml的結構。除此之外,sche...

schema約束理解

schema 的簡單認識 簡單重點 只要認識 增加子元素 可以巢狀元素就可以了!增加屬性 在 中間增加 小例子 增加元素 父元素就一定要在sequence後,在complextype 結束前 簡單例子 targetnamespace xmlns elementformdefault qualifie...