xml定义文档.xsd文件与xml文件
.xsd文件
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3school.com.cn" xmlns="http://www.w3school.com.cn" elementFormDefault="qualified"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
解释:
xs:schema:.xsd文档以前面开头
xmlns:xs="http://www.w3.org/2001/XMLSchema":.xsd文档中用到的元素与类型定义来自上述URI,且要在元素与类型前面加上xs前缀
targetNamespace="http://www.w3school.com.cn" xmlns="http://www.w3school.com.cn"
targetNamespace相对于给.xsd文档中定义的元素定义命名空间,把它当成一个包名,xmlns是默认命名空间,一般来说与targetNamespace的值一样
elementFormDefault="qualified":这个要在xml文档中体现,凡是引用这个.xsd文档中的元素,必须要加前缀,就像xmlns:xs="http://www.w3.org/2001/XMLSchema"这个一样,在其中用到的元素类型要加上前缀
xml文件
<?xml version="1.0"?> <note xmlns="http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3school.com.cn note.xsd"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
xmlns="http://www.w3school.com.cn":在这个xml文件中的元素与类型来自于"http://www.w3school.com.cn"命名空间中
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance":该xml文件要用到"http://www.w3.org/2001/XMLSchema-instance":这个命名空间中的元素与类型
xsi:schemaLocation="http://www.w3school.com.cn note.xsd":用到前面命名空间中的元素xsi:schemaLocation,要求其值前面为命名空间加上供命名空间使用的 XML schema 的位置
前面一个值与xmlns一样