新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> DTD, XML Schema(XMLS), RELAX NG
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DTD/XML Schema 』 → [求助]问一个跟命名空间有关的问题 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4497 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]问一个跟命名空间有关的问题 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     musclepei 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:53
      门派:XML.ORG.CN
      注册:2006/9/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给musclepei发送一个短消息 把musclepei加入好友 查看musclepei的个人资料 搜索musclepei在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看musclepei的博客楼主
    发贴心情 [求助]问一个跟命名空间有关的问题

    请问各位高手我的XML Schema文件是这样描述的:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema">
     <xsd:complexType name="tvguide">
      <xsd:sequence>
       <xsd:element name="program" type="Show" minOccurs="0" maxOccurs="unbounded"/>
       <xsd:element name="slot" type="TVSlot" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
     </xsd:complexType>
     <xsd:complexType name="Show">
      <xsd:sequence>
       <xsd:element name="name" type="xsd:string"/>
       <xsd:element name="description" type="xsd:string"/>
      </xsd:sequence>
      <xsd:attribute name="show-id" type="xsd:ID"/>
      <xsd:attribute name="first-aired" type="xsd:date"/>
     </xsd:complexType>
     <xsd:complexType name="TVSlot">
      <xsd:sequence>
       <xsd:element name="day" type="xsd:date"/>
       <xsd:element name="begin" type="xsd:time"/>
       <xsd:element name="end" type="xsd:time"/>
      </xsd:sequence>
      <xsd:attribute name="show" type="xsd:IDREF"/>
     </xsd:complexType>
     <xsd:element name="guide" type="tvguide"/>
    </xsd:schema>

    在我写对应的XML文件的时候写成这种形式时
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:guide xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="G:\Documents and Settings\Administrator\My Documents\Altova Projects\tt.xsd">
     <xsd:program show-id="snl" first-aired="1974-03-01">
      <xsd:name>Saturday Night Live</xsd:name>
      <xsd:description>...</xsd:description>
     </xsd:program>
     <xsd:slot show="snl">
      <xsd:day>2001-12-10</xsd:day>
      <xsd:begin>23:00:00</xsd:begin>
      <xsd:end>23:58:00</xsd:end>
     </xsd:slot>
     <xsd:slot show="snl">
      <xsd:day>2001-12-10</xsd:day>
      <xsd:begin>23:00:00</xsd:begin>
      <xsd:end>23:58:00</xsd:end>
     </xsd:slot>
    </xsd:guide>
    虽然xmlspy不报错也能运行,但当我把上面的元素名称随便改成如下
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:guide xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="G:\Documents and Settings\Administrator\My Documents\Altova Projects\tt.xsd">
     <xsd:dd show-id="snl" first-aired="1974-03-01">
      <xsd:name>Saturday Night Live</xsd:name>
      <xsd:description>...</xsd:description>
     </xsd:dd>
     <xsd:slot show="snl">
      <xsd:day>2001-12-10</xsd:day>
      <xsd:begin>23:00:00</xsd:begin>
      <xsd:end>23:58:00</xsd:end>
     </xsd:slot>
     <xsd:slot show="snl">
      <xsd:day>2001-12-10</xsd:day>
      <xsd:begin>23:00:00</xsd:begin>
      <xsd:end>23:58:00</xsd:end>
     </xsd:slot>
    </xsd:guide>

    把program改成了dd照样能运行,但这样肯定是错的
    当我把命名空间改下改成如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <guide xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="G:\Documents and Settings\Administrator\My Documents\Altova Projects\tvguide.xsd">
     <program show-id="snl" first-aired="1974-03-01">
      <name>Saturday Night Live</name>
      <description>...</description>
     </program>
     <slot show="snl">
      <day>2001-12-10</day>
      <begin>23:00:00</begin>
      <end>23:58:00</end>
     </slot>
     <slot show="snl">
      <day>2001-12-10</day>
      <begin>23:00:00</begin>
      <end>23:58:00</end>
     </slot>
    </guide>

    这样就正确,请问这是怎么回事?


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/9/26 15:18:00
     
     gemingke 帅哥哟,离线,有人找我吗?
      
      
      威望:2
      等级:计算机学士学位
      文章:321
      积分:2078
      门派:XML.ORG.CN
      注册:2005/9/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给gemingke发送一个短消息 把gemingke加入好友 查看gemingke的个人资料 搜索gemingke在『 DTD/XML Schema 』的所有贴子 点击这里发送电邮给gemingke 引用回复这个贴子 回复这个贴子 查看gemingke的博客2
    发贴心情 
    你的前两个都没有指定Schema的位置。看起来好像加了namespace,其实没用。最后一个文档才真正指出了Schema的位置。

    而且,你的schema文档并没有声明任何namespace,所以,最后一个文档在指定schema位置时,只能使用

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="......"

    这样的语句(最后一个文档是对的)。

    ----------------------------------------------
    天下英雄谁敌手?曹刘,生子当如孙仲谋!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/9/26 19:21:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DTD/XML Schema 』的所有贴子 点击这里发送电邮给Google AdSense 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/20 5:02:15

    本主题贴数2,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    1,201.172ms