以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  菜鸟学schema  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=29887)


--  作者:skyo
--  发布时间:4/4/2006 9:31:00 AM

--  菜鸟学schema
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.baidu.com"
xmlns="http://www.baidu.com"
elementFormDefault="qualified">
<xs:element name="note">
  <xs:complexType>
   <xs:sequence>
    <xs:element name="to" type="xs:string"/>
    <xs:element name="from" type="xs:string"/>
    <xs:element name="heading" type="xs:string"/>
    <xs:element name="body" type="xs:string"/>
   </xs:sequence>
  </xs:complexType>
</xs:element>
</xs:schema>
这个schema文档中
targetNamespace="http://www.baidu.com"
xmlns="http://www.baidu.com"中的地址是不是可以自定义的?
同时,xmlns:xs="http://www.w3.org/2001/XMLSchema"这个地址是不是默认的,不可以修改的?
--  作者:starting
--  发布时间:4/4/2006 4:13:00 PM

--  
这是Name space的概念.下面有两位朋友的话,我引用一下:

名称空间的存在是为了解决同一份文档中的同名不同义的命名冲突问题(和C++的namespace一样)。
    为某一“元素”定义了namespace意味着该“元素”的所有“子元素”具有相同的namespace。
    请注意,名称空间(namespace)定义中的字符串仅仅是字符串,不一定非得是URL或者URI。只要你能保证唯一即可


namespace的作用不只是解决命名冲突问题。
   它**从逻辑上**把XML Names划分为不同的namespace,
   不同namespace的XML Names遵循不同的Schema(这一点非常重要。)。用不同的schema对他们进行validating


--  作者:starting
--  发布时间:4/4/2006 4:16:00 PM

--  
再说一句..
用来标识命名空间的网络地址并不被XML解析器调用,XML解析器不需要从这个网络地址中查找信息,该网络地址的作用仅仅是给命名空间一个唯一的名字,因此这个网络地址也可以是虚拟的.
这所以使用URI,是因为W3C 命名规范声明命名空间本身就是一个统一资源标示符,Uniform Resource Identifier (URI)。


--  作者:tingchao
--  发布时间:5/4/2006 4:19:00 PM

--  
讲的好,说到底只是一个唯一的字符串而已..
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms