XML 形式一般被称为 XML 形式定义(XSD)。它被用来形貌和考证 XML 数据的构造和内容。XML 形式定义元素,属性和数据范例。形式元素也支撑定名空间。它类似于形貌数据库中数据的数据库形式。
语法
我们须要在 XML 文档中声明形式,以下所示:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
示例
下面的示例展现了怎样运用形式:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="contact"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string" /> <xs:element name="company" type="xs:string" /> <xs:element name="phone" type="xs:int" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
XML 形式背地的基本思想就是形貌 XML 文档能够接收的正当花样。
元素
正如我们在 XML 元素 一章中所看到的,元素就是 XML 文档构建块。在 XSD 内能够像下面如许定义元素:
<xs:element name="x" type="y"/>
定义范例
我们能够根据以下体式格局定义 XML 形式元素:
简朴范例:简朴范例的元素只能用于文本高低文中。一些预定义的简朴范例有:xs:integer,xs:boolean,xs:string,xs:data。比方:
<xs:element name="phone_number" type="xs:int" />
庞杂范例:庞杂范例就是其他元素定义的容器。许可我们指定哪一个元素能够包括子元素以便为 XML 文档供应一些构造。比方:
<xs:element name="Address"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string" /> <xs:element name="company" type="xs:string" /> <xs:element name="phone" type="xs:int" /> </xs:sequence> </xs:complexType> </xs:element>
上面的例子中,Address 元素由子元素构成。它是其他 <xs:element> 定义的容器,许可我们在 XML 文档中构建一个简朴的层级元素。
全局范例:关于全局范例,我们能够在文档中定义自力的范例,它还能够运用一切其他援用。比方,假定我们想针对差别的公司地点归纳综合 person 和 company。这类情况下,我们能够定义一个以下所示的通用范例:
<xs:element name="AddressType"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string" /> <xs:element name="company" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element>
然后鄙人面的示例中运用这个范例:
<xs:element name="Address1"> <xs:complexType> <xs:sequence> <xs:element name="address" type="AddressType" /> <xs:element name="phone1" type="xs:int" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Address2"> <xs:complexType> <xs:sequence> <xs:element name="address" type="AddressType" /> <xs:element name="phone2" type="xs:int" /> </xs:sequence> </xs:complexType> </xs:element>
不再须要定义 name 和 compacny 两次(一次是给 Address1,一次给 Address2),如今我们具有一个自力的定义。这让保护变得更简朴,比方,假如我们决定给地点增加一个 "Postcode" 元素,只须要在一个处所增加即可。
属性
XSD 中的属性供应了元素的分外信息。带 name 和 type 属性(property)的属性(attribute)以下所示:
<xs:attribute name="x" type="y"/>
以上就是XML编程中的形式定义XSD示例代码详解的细致内容,更多请关注ki4网别的相干文章!