schema 命名空间的理解

        这几天重新温习了一下JAVA基础,发现对SCHEMA命名空间竟然还是不是很理解。我把理解的内容记录到这里做下参考。

<schema xmlns="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://www.example.org/01"
  xmlns:tns="http://www.example.org/01"
  elementFormDefault="qualified">

 

  <complexType name="test"></complexType>
  <element name="tt" type="tns:test"></element>
  
 <element name="user">
  <complexType>
   <sequence>
    <element name="id" type="int"/>
    <element name="username" type="string"/>
    <element name="born" type="date"/>
   </sequence>
  </complexType>
 </element>

</schema>

 

疑问1:targetNamespace 是加载命名空间,xmlns也是加载命名空间。有什么区别?

        xmlns 可以指定别名 如上:tns就是别名。当此XSD文件里需要定义新的元素的时候,可以指定是来自那个命名空间。如上:type="tns:test"

       targetNamespace 是定义当前文件的命名空间,当其他XML文件需要引用这个XSD时,我们需要在XML文件中加入xsi:schemaLocation="http://www.example.org/01",这样才能使用我们编辑好的XSD文件。

 

       

你可能感兴趣的:(schema)