XSD - The <schema> 元素
<schema> 元素是每个XML模式的根元素。
<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="https://www.w3ccoo.com"
xmlns="https://www.w3ccoo.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="https://www.w3ccoo.com"
指示此架构定义的元素(注释、收件人、发件人、标题、正文)来自"https://www.w3ccoo.com"命名空间。
这个片段:
xmlns="https://www.w3ccoo.com"
指示默认命名空间为 "https://www.w3ccoo.com".
这个片段:
elementFormDefault="qualified"
指示在此架构中声明的XML实例文档所使用的任何元素都必须是命名空间限定的。
引用XML文档中的架构
此XML文档引用了XML架构:
<?xml version="1.0"?>
<note xmlns="https://www.w3ccoo.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.w3ccoo.com note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
以下片段:
xmlns="https://www.w3ccoo.com"
指定默认命名空间声明。此声明告诉模式验证器,此XML文档中使用的所有元素都在"https://www.w3ccoo.com" 命名空间。
一旦XML架构实例命名空间可用:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
您可以使用schemaLocation属性。此属性有两个值,用空格分隔。第一个值是要使用的命名空间。第二个值是用于该命名空间的XML架构的位置:
xsi:schemaLocation="https://www.w3ccoo.com note.xsd"