XMLSchema.xsd 檔案約束xml文件格式內容
阿新 • • 發佈:2019-02-04
XMLSchema.xsd 檔案,用來約束xml內容格式的。
<?xml version="1.0" encoding="utf-8"?> <xs:schema id="XMLSchemaLettle" targetNamespace="http://www.pukuimin.com/XMLSchemaLettle.xsd" elementFormDefault="qualified" xmlns="http://www.pukuimin.com/XMLSchemaLettle.xsd" xmlns:mstns="http://www.pukuimin.com/XMLSchemaLettle.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" > <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="heading" type="xs:string" minOccurs="0" maxOccurs="1" default="headstring"> </xs:element> <xs:element name="body" type="xs:string" minOccurs="0" maxOccurs="1" default="content"/> <xs:element name="aletter" minOccurs="0" maxOccurs="1" default="a"> <!--只能輸入一個字元,且是大小寫字母中的一個--> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z]"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="age" minOccurs="0" maxOccurs="1"> <!--只能指定一個範圍內的值--> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> <xs:maxInclusive value="120"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="gender" minOccurs="0" maxOccurs="1" default="male"> <!--正則表達示限制輸入規則,這樣能驗證,但不自動提示--> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="replace"/> <!--移除所有空白字元(換行、回車、空格以及製表符)--> <xs:pattern value="male|female"/> <xs:minLength value="4"/> <!--最小字元數--> <xs:maxLength value="6"/> <!--最大字元數--> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="password" minOccurs="0" maxOccurs="1" default="12345678"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="8"/> <!--固定長度--> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="from" type="xs:string" minOccurs="0" maxOccurs="1" default="pukuimin"/> <xs:element name="to" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence minOccurs="1" maxOccurs="1"> <!--一個元素下的子元素--> <xs:element name="full_name" minOccurs="1" maxOccurs="1"> <!--只能指定一個固定的值,vs裡按Ctrl+J 就能顯示可以指定的值--> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="pu"/> <xs:enumeration value="shu"/> <xs:enumeration value="liu"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="child_name" type="xs:string" minOccurs="1" maxOccurs="1"/> </xs:sequence> <xs:anyAttribute /> <!--允許指定自定義屬性--> </xs:complexType> </xs:element> <xs:element name="to2"> <xs:complexType> <xs:attributeGroup ref="persongroup"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:attributeGroup name="persongroup"> <!--一個元素中的很多屬性--> <xs:attribute name="firstname" default="pu"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="pu"/> <xs:enumeration value="shu"/> <xs:enumeration value="liu"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="lastname" type="xs:string" default="km"/> <xs:attribute name="birthday" type="xs:date" default="2012-08-27"/> </xs:attributeGroup> </xs:schema>
在vs2010中:
生成的示例xml檔案內容:
<?xml version="1.0" encoding="utf-8"?> <note xmlns="http://www.pukuimin.com/XMLSchemaLettle.xsd"> <heading>headstring</heading> <body>content</body> <aletter>a</aletter> <age>1</age> <gender>male</gender> <password>12345678</password> <from>pukuimin</from> <to> <!-- Attribute Wild card could not be matched. Generated XML may not be valid. --> <full_name>pu</full_name> <child_name>child_name1</child_name> </to> <to> <!-- Attribute Wild card could not be matched. Generated XML may not be valid. --> <full_name>shu</full_name> <child_name>child_name2</child_name> </to> <to> <!-- Attribute Wild card could not be matched. Generated XML may not be valid. --> <full_name>liu</full_name> <child_name>child_name3</child_name> </to> <to2 firstname="pu" lastname="km" birthday="2012-08-27" /> </note>
如果不符合約束要求,文件就會 顯示警告。