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

    >> DTD, XML Schema(XMLS), RELAX NG
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DTD/XML Schema 』 → 问几个Schema约束。 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 7151 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 问几个Schema约束。 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     summer999 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:5
      积分:71
      门派:XML.ORG.CN
      注册:2006/7/31

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

    1.元素内容必须输入。
    2.位数约束(全角按2个字符算)
    3.输入值得约束:001~035,100~999中
    像下面这个XML
    <H>
    <A>001</A>
    <B>TEXT</B>
    </H>
    要求元素A:必须输入,3位,001~035或100~999中的一个
    元素B:128位字符(全角算2位)。

    谢谢。


       收藏   分享  
    顶(0)
      




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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给gemingke发送一个短消息 把gemingke加入好友 查看gemingke的个人资料 搜索gemingke在『 DTD/XML Schema 』的所有贴子 点击这里发送电邮给gemingke 引用回复这个贴子 回复这个贴子 查看gemingke的博客2
    发贴心情 
    第一条没看明白

    第二条,使用length约束,包括minlength和maxlength

    第三条,造两个type,一个适合001~035,一个适合100~999,然后union在一起

    关于第三条,由于是必须为三位,不足者补0,所以得造三个simpleType
    代码如下:
    <xs:simpleType name="A">
      <xs:restriction base="xs:string">
       <xs:pattern value="[0]{1}[0-2]{1}[0-9]{1}"/>
      </xs:restriction>
     </xs:simpleType>
     <xs:simpleType name="B">
      <xs:restriction base="xs:string">
       <xs:pattern value="[0]{1}[3]{1}[0-5]{1}"/>
      </xs:restriction>
     </xs:simpleType>
     <xs:simpleType name="C">
      <xs:restriction base="xs:string">
       <xs:pattern value="[1-9]{1}\d{1}\d{1}"/>
      </xs:restriction>
     </xs:simpleType>
     <xs:simpleType name="ABC">
      <xs:union memberTypes="A B C"/>
     </xs:simpleType>
    ABC就是最后想要的type

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/7/31 22:13:00
     
     summer999 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:5
      积分:71
      门派:XML.ORG.CN
      注册:2006/7/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给summer999发送一个短消息 把summer999加入好友 查看summer999的个人资料 搜索summer999在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看summer999的博客3
    发贴心情 
    谢谢楼上的
    再麻烦一下,关于位数约束,length约束好像把全角当作1个字符的。

    另外我需要做17个xsd文件,其中好多simpleType都是一样的,能不能只定义一个,在所有需要用到的xsd文件中引用?

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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给gemingke发送一个短消息 把gemingke加入好友 查看gemingke的个人资料 搜索gemingke在『 DTD/XML Schema 』的所有贴子 点击这里发送电邮给gemingke 引用回复这个贴子 回复这个贴子 查看gemingke的博客4
    发贴心情 
    你所说的全角,我不太明白。我只知道汉字占两个字符。

    关于引用,建议你在每个xsd文件里都写上。虽然说,schema提供了import和includ来导入其他的xsd文件,使得我们可以在当前xsd文档中使用其他xsd文档的定义。

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/8/1 17:58:00
     
     summer999 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:5
      积分:71
      门派:XML.ORG.CN
      注册:2006/7/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给summer999发送一个短消息 把summer999加入好友 查看summer999的个人资料 搜索summer999在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看summer999的博客5
    发贴心情 
    就是汉字拉什么的
    比如
    半角:1
    全角:1
    试了下汉字好像只当作1个字符。

    <simpleType name="STR_8">
     <restriction base="string">
      <minLength value="1"/>
      <maxLength value="8"/>
     </restriction>
    </simpleType>
    上面这个simpleType对于中华人民共和国和12345678都能通过。

    另外我有很多8位字符,12位字符,32位字符,127位字符等等之类的约束,是不是只能一个一个写出来?

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/8/1 18:16:00
     
     summer999 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:5
      积分:71
      门派:XML.ORG.CN
      注册:2006/7/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给summer999发送一个短消息 把summer999加入好友 查看summer999的个人资料 搜索summer999在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看summer999的博客6
    发贴心情 
    就是汉字拉什么的
    比如
    半角:1
    全角:1
    试了下汉字好像只当作1个字符。

    <simpleType name="STR_8">
     <restriction base="string">
      <minLength value="1"/>
      <maxLength value="8"/>
     </restriction>
    </simpleType>
    上面这个simpleType对于中华人民共和国和12345678都能通过。

    另外我有很多8位字符,12位字符,32位字符,127位字符等等之类的约束,是不是只能一个一个写出来?

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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给gemingke发送一个短消息 把gemingke加入好友 查看gemingke的个人资料 搜索gemingke在『 DTD/XML Schema 』的所有贴子 点击这里发送电邮给gemingke 引用回复这个贴子 回复这个贴子 查看gemingke的博客7
    发贴心情 
    我想可能是。我也没试过

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/8/1 21:27:00
     
     lelecat2000 帅哥哟,离线,有人找我吗?处女座1978-9-16
      
      
      等级:大一新生
      文章:1
      积分:62
      门派:XML.ORG.CN
      注册:2006/10/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lelecat2000发送一个短消息 把lelecat2000加入好友 查看lelecat2000的个人资料 搜索lelecat2000在『 DTD/XML Schema 』的所有贴子 点击这里发送电邮给lelecat2000  引用回复这个贴子 回复这个贴子 查看lelecat2000的博客8
    发贴心情 
    以下是引用gemingke在2006-7-31 22:13:00的发言:
    第一条没看明白

    第二条,使用length约束,包括minlength和maxlength

    第三条,造两个type,一个适合001~035,一个适合100~999,然后union在一起

    关于第三条,由于是必须为三位,不足者补0,所以得造三个simpleType
    代码如下:
    <xs:simpleType name="A">
       <xs:restriction base="xs:string">
        <xs:pattern value="[0]{1}[0-2]{1}[0-9]{1}"/>
       </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="B">
       <xs:restriction base="xs:string">
        <xs:pattern value="[0]{1}[3]{1}[0-5]{1}"/>
       </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="C">
       <xs:restriction base="xs:string">
        <xs:pattern value="[1-9]{1}\d{1}\d{1}"/>
       </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="ABC">
       <xs:union memberTypes="A B C"/>
      </xs:simpleType>
    ABC就是最后想要的type



    此位仁兄真乃高人也,小生佩服。

    ----------------------------------------------
    小猫一只

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

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

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