XSD <schema>
-
定义和使用
<schema> 元素是每个 XML 模式的根元素。<?xml version="1.0"?> <xs:schema> ... ... </xs:schema>
<schema> 元素可能包含一些属性。 模式声明通常看起来像这样:<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com" xmlns="http://www.w3schools.com" elementFormDefault="qualified"> ... ... </xs:schema>
以下片段:xmlns:xs="http://www.w3.org/2001/XMLSchema"
指示架构中使用的元素和数据类型来自 "http://www.w3.org/2001/XMLSchema" 命名空间。 它还指定来自 "http://www.w3.org/2001/XMLSchema" 名称空间的元素和数据类型应以 xs 为前缀:targetNamespace="http://www.w3schools.com"
表示此架构定义的元素(请注意,从标题到正文)来自 "http://www.w3schools.com" 命名空间。xmlns="http://www.w3schools.com"
表示默认名称空间是 "http://www.w3schools.com"。elementFormDefault="qualified"
指示在此模式中声明的 XML 实例文档使用的任何元素必须是名称空间限定的。 -
在XML文档中引用架构
该 XML 文档引用了 XML 模式:<?xml version="1.0"?> <note xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3schools.com note.xsd"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>这个周末别忘了我!</body> </note>
以下片段:xmlns="http://www.w3schools.com"
指定默认的名称空间声明;该声明告诉模式验证器,该 XML 文档中使用的所有元素都在 "http://www.w3schools.com" 命名空间中声明。一旦有了 XML Schema Instance 名称空间可用:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
您可以使用 schemaLocation 属性;此属性具有两个值,以空格分隔;第一个值是要使用的名称空间;第二个值是用于该名称空间的 XML 模式的位置:xsi:schemaLocation="http://www.w3schools.com note.xsd"