xsd概述
xsd概述
XML Schemas Definition, XML模式定義。本質仍是xml文檔。
它定義了XML文檔的結構,可以用一個指定的xsd來驗證某個XML文檔是否符合其要求。
它定義了XML文檔的結構,可以用一個指定的xsd來驗證某個XML文檔是否符合其要求。
XML Schema本身有很多數據種類。最常見的種類有: * xs:string xs:字符 * xs:decimal xs: 小數 * xs:integer xs:整數 * xs:boolean xs:邏輯值 * xs:date xs:日期 * xs:time xs:時間
Xml Schema的根元素
<?xml version="1.0"?> <xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema" 表示數據類型等定義來自w3 targetNamespace="https://www.w3schools.com" 表示文檔中要定義的元素來自什麼命名空間 xmlns="https://www.w3schools.com" 表示此文檔的默認命名空間是什麼 elementFormDefault="qualified"> 表示要求xml文檔的每一個元素都要有命名空間指定 ………………………… ……定義主體部分…… ………………………… </xs:schema>
如何定義一個簡單元素
<xs:element 此處表示要定義一個元素 name=”color” 表示要定義元素的名稱 type=”xs:string” 表示要定義元素的數據類型 default=”red” 表示定義元素的默認值 fixed=”red”/> 表示要定義元素的固定值,此元素隻可以取“red”值
枚舉限製
<xs:element name="car" type="carType"/> <xs:simpleType name="carType"> <xs:restriction base="xs:string"> <xs:enumeration value="Audi"/> <xs:enumeration value="KIA"/> <xs:enumeration value="BMW"/> </xs:restriction> </xs:simpleType>
定義複雜類型
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
使用指示器
ALL--指示子元素可以以任何順序出現,並且每一個元素都必須出現一次
<xs:element name="person"> <xs:complexType> <xs:all> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:all> </xs:complexType> </xs:element>
Choice——指示子元素中可以出現一個或者另一個
<xs:element name="person"> <xs:complexType> <xs:choice> <xs:element name="employee" type="employee"/> <xs:element name="member" type="member"/> </xs:choice> </xs:complexType> </xs:element>
Sequence——指示子元素必須按照順序出現
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
minOccurs,maxOccurs ——出現次數指示器
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="full_name" type="xs:string"/> <xs:element name="child_name" type="xs:string" maxOccurs="10" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>
最後更新:2017-04-03 05:39:36