比如我们定义了这么个schema:
<xs:schema xmlns:xs= "http://www.w3.org/2001/XMLSchema "
targetNamespace= "http://a.name/space ">
<xs:element name= "address " type= "xs:string " />
</xs:schema>
那么它表示的意思是address这个元素是属于 "http://a.name/space "命名空间的。你想想看,如果你不指定targetNamespace,那么address是属于什么命名空间是不知道的,它肯定不是属于“http://www.w3.org/2001/XMLSchema”命名空间。指定了这个以后,就能让我们定义的schema中的元素都有自己的命名空间。这个命名空间都是自己定义的。
我想targetNamespace= "http://a.name/space "就是为你自己定义的元素定义了一个包,也就是package的概念,你的这个元素是这个package(命名空间)里的,在别的XML文件里面你可以用<xs:schema xmlns:s= "http://a.name/space" />来引用你前面定义的元素,这里就相当于import的概念了。