如何使用 schemaLocation 或 noNamespaceSchemaLocation 将 XML 链接到 XSD?

问题描述 投票:0回答:1
xml xsd xsd-validation xml-validation
1个回答
21
投票

如何将 XSD 链接到 XML 文档取决于 XML 文档是否使用命名空间...

没有命名空间

使用

xsi:noNamespaceSchemaLocation
提供有关要使用的 XSD 的提示:

  • 文档.xml

     <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:noNamespaceSchemaLocation="example.xsd">
       <!-- ... -->
     </root>
    
  • 示例.xsd

     <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <xsd:element name="root">
         <!-- ... -->
       </xsd:element>
     </xsd:schema>
    

带有命名空间

使用

xsi:schemaLocation
提供有关要使用的 XSD 的提示:

  • 文档.xml

     <ns:root xmlns:ns="http://example.com/ns"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://example.com/ns example-ns.xsd">
       <!-- ... -->
     </ns:root>
    
  • 示例-ns.xsd

     <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                 targetNamespace="http://example.com/ns">
       <xsd:element name="root">
         <!-- ... -->
       </xsd:element>
     </xsd:schema>
    
© www.soinside.com 2019 - 2024. All rights reserved.