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

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

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 6318 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 求助:一个XSD的问题! 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     juny.yin 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:57
      门派:XML.ORG.CN
      注册:2006/10/20

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

    要定义一个元素的内容模型,假设这个元素为<EleParent>,当前它有四个子元素,分别是:<a>,<b>,<c>,<d>,这些子元素可以以任意顺序出现在<EleParent>下,并且考虑扩展性,以后可以以任意顺序扩展任意其他的子元素。

    请问如何写满足上面需求的XSD?

    非常感谢!


       收藏   分享  
    顶(0)
      




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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给gemingke发送一个短消息 把gemingke加入好友 查看gemingke的个人资料 搜索gemingke在『 DTD/XML Schema 』的所有贴子 点击这里发送电邮给gemingke 引用回复这个贴子 回复这个贴子 查看gemingke的博客2
    发贴心情 
    既有固定的元素,还要能随时扩展。。。

    除非随时更新XSD文档

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

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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给gemingke发送一个短消息 把gemingke加入好友 查看gemingke的个人资料 搜索gemingke在『 DTD/XML Schema 』的所有贴子 点击这里发送电邮给gemingke 引用回复这个贴子 回复这个贴子 查看gemingke的博客3
    发贴心情 
    呃,上面的话我收回一半

    任意添加子元素的代码倒是有,如下
    <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
    但是这个any只能出现在sequence下面,也就是说,在当前已有元素出现顺序固定的情况下,按任意顺序添加就不太可能。

    之所以如此,是因为要想<a>,<b>,<c>,<d>子元素按任意顺序出现,只能用all合成器。但是在all下面,不能使用any

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

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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给gemingke发送一个短消息 把gemingke加入好友 查看gemingke的个人资料 搜索gemingke在『 DTD/XML Schema 』的所有贴子 点击这里发送电邮给gemingke 引用回复这个贴子 回复这个贴子 查看gemingke的博客4
    发贴心情 
    。。。。。。上面所说的推翻,具体怎么实现,正在考虑

    目前有个解决方案,不过不太满意,schema片断如下

    <xs:element name="EleParent">
      <xs:complexType>
       <xs:sequence>
        <xs:choice maxOccurs="unbounded">
         <xs:element name="a"/>
         <xs:element name="b"/>
         <xs:element name="c"/>
         <xs:element name="d"/>
         <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xs:choice>
        
       </xs:sequence>
      </xs:complexType>
     </xs:element>

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/10/26 12:25:00
     
     juny.yin 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:57
      门派:XML.ORG.CN
      注册:2006/10/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给juny.yin发送一个短消息 把juny.yin加入好友 查看juny.yin的个人资料 搜索juny.yin在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看juny.yin的博客5
    发贴心情 
    从当前调查的情况来看,这样的内容模型需求只通过XML Schema是无法描述,因为:
    形如:
    <xs:all>
      <xs:element name="a">
        <xs:complexType>...</xs:complexType>
      </xs:element>
      <xs:element name="b">
        <xs:complexType>...</xs:complexType>
      </xs:element>
      <xs:element name="c">
        <xs:complexType>...</xs:complexType>
      </xs:element>
      <xs:any processContets="skip" />
    </xs:all>
    的语句在XML Schema中是不支持的。

    形如:
    <xs:choice maxOccurs="unbounded">
      <xs:element name="a">
        <xs:complexType>...</xs:complexType>
      </xs:element>
      <xs:element name="b">
        <xs:complexType>...</xs:complexType>
      </xs:element>
      <xs:element name="c">
        <xs:complexType>...</xs:complexType>
      </xs:element>
      <xs:any processContets="skip" />
    </xs:choice>
    虽然语法上没有错误,但是却是一个不确定的内容模型定义。
    其它类似的定义也会出现“不确定”情况。

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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给gemingke发送一个短消息 把gemingke加入好友 查看gemingke的个人资料 搜索gemingke在『 DTD/XML Schema 』的所有贴子 点击这里发送电邮给gemingke 引用回复这个贴子 回复这个贴子 查看gemingke的博客6
    发贴心情 
    干嘛要分别对a、b、c、d使用complexType?

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/10/26 13:50: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:28:03

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

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