你说的命名空间应该是指targetNamespace吧.用一个URI来定义一个命名空间,就是让它唯一,但是它不一定要可访问,因为现在一般的XML解析器都没有检查Schema的功能,所以只要XML中的元素前缀有相应的命名空间就可以了.

解决方案 »

  1.   

    XML 命名空间提供了一种避免元素命名冲突的方法,使用前缀可以解决命名冲突问题下面的XML文档携带了水果的table信息:
    <h:table xmlns:h="http://www.w3.org/TR/html4/">
    <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
    </h:tr>
    </h:table> 下面的XML文档携带了家具table的信息:
    <f:table xmlns:f="http://www.w3schools.com/furniture">
    <f:name>African Coffee Table</f:name>
    <f:width>80</f:width>
    <f:length>120</f:length>
    </f:table> 在上面两个例子中除了使用前缀外,两个table元素都使用了xmlns属性,使元素和不同的命名空间关联到一起,当我们在元素的开始标记处使用命名空间时,该元素所有的子元素都将通过一个前缀与同一个命名空间相互关联。用来标识命名空间的网络地址并不被XML解析器调用,XML解析器不需要从这个网络地址中查找信息,该网络地址的作用仅仅是给命名空间一个唯一的名字,因此这个网络地址也可以是虚拟的,然而又很多公司经常把这个网络地址值象一个真实的Web页面,这个地址包含了关于当前命名空间更详细的信息。
      

  2.   

    我不同意1、2楼的观点。
    使用不能访问的命名空间有何意义?不如不用。
    1、2楼的观点,恐怕对XML本身的意义不够了解。
    URI当然要有意义,没意义的情况下,可以不要加,避免在出现一些解析上的错误。
      

  3.   

    命名空间可不是为了访问用的,而是为了解决xml文档模型的天生bug用的。