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"