最近學xml 遇到了點小問題qaq 找了n多的博客大佬,反覆看了半小時終於明白了,可能我太蠢了。。。git
基礎的知識就不贅述,直接放「栗子」,切重點:spa
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:lzh="http://info.school.edu.cn" targetNamespace="http://info.school.edu.cn" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="schools"> <xs:annotation> <xs:documentation>Comment describing your root element</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="school" maxOccurs="10"> <xs:complexType> <xs:sequence> <xs:element name="sch_name" type="xs:string"/> <xs:element name="sch_level"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="一本"/> <xs:enumeration value="二本"/> <xs:enumeration value="大專"/> <xs:enumeration value="中專"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="sch_location" type="xs:string"/> <xs:element name="area"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:totalDigits value="6"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="principal_name" type="xs:string"/> </xs:sequence> <xs:attribute name="create_time"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{4}-[0-1][0-9]-[0-3][0-9]"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="country" default="中國"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?> <lzh:schools xmlns:lzh="http://info.school.edu.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://info.school.edu.cn file:///C:/Users/del/Desktop/lzh.xsd"> <lzh:school create_time="1985-01-02"> <lzh:sch_name>淮海工學院</lzh:sch_name> <lzh:sch_level>二本</lzh:sch_level> <lzh:sch_location>連雲港市</lzh:sch_location> <lzh:area>2162.78</lzh:area> <lzh:principal_name>寧曉明</lzh:principal_name> </lzh:school> <lzh:school> <lzh:sch_name>清華大學</lzh:sch_name> <lzh:sch_level>一本</lzh:sch_level> <lzh:sch_location>北京市</lzh:sch_location> <lzh:area>392.4</lzh:area> <lzh:principal_name>邱勇</lzh:principal_name> </lzh:school> </lzh:schools>
首先知道,targetNameSpace。targetNamespace定義了Schema定義的新元素與屬性的名稱空間。而"http://www.w3.org/2001/XMLSchema"名稱空間則定義了element, attribute, complexType, group, simpleType等元素。若自身並不使用重用組件,僅供外部使用的話,則只定義targetNameSpace就能夠,不用指定別名。rest
而後呢,xmlns:lzh="http://info.school.edu.cn" targetNamespace="http://info.school.edu.cn" 這裏的URI是同樣的,由於xmlns:後的lzh是一個別名一個命名空間的前綴,方便下面的element在遇到elementFormDefault="qualified"的狀況下的使用。code
over~很久沒寫博客,快要去上課了就先醬紫吧emmm~orm