以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  怎么让不同tag下的enumeration匹配出现  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=125014)


--  作者:boboking
--  发布时间:6/1/2012 10:22:00 PM

--  怎么让不同tag下的enumeration匹配出现

最近要做一个XML文件校验的XSD,一验证DS生成的XML是不是符合数据录入的格式,要验证的是这样一个格式,在XML中有这么一串数据,(D,I) ,(F,C) 必须配对出现,
    <Opt>
     <OptType>D</OptType>
     <OptCategory>I</OptCategory>
    </Opt>
    <Opt>
     <OptType>F</OptType>
     <OptCategory>C</OptCategory>
    </Opt>
不能出现(D,C),(F,I),也就是不能出现下面这中情况,各位有什么解决办法不?
    <Opt>
     <OptType>D</OptType>
     <OptCategory>C</OptCategory>
    </Opt>
    <Opt>
     <OptType>F</OptType>
     <OptCategory>I</OptCategory>
    </Opt>
现在在XSD中是这么写的,不能验证我上面说的

                                <xs:element name="OptType">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
                     <xs:enumeration value="D"/>
                     <xs:enumeration value="F"/>
                   </xs:restriction>
                 </xs:simpleType>
                </xs:element>
                <xs:element name="OptCategory">
                 <xs:simpleType>
                    <xs:restriction base="xs:string">
                     <xs:enumeration value="C"/>
                     <xs:enumeration value="I"/>
                  </xs:restriction>
                 </xs:simpleType>


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
47.852ms