閱讀121 返回首頁    go 阿裏雲 go 技術社區[雲棲]


xsd概述

xsd概述

XML Schemas Definition, XML模式定義。本質仍是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

  上一篇:go poj 2019 Cornfields【RMQ】
  下一篇:go WSDL 概述