以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DTD/XML Schema 』 (http://bbs.xml.org.cn/list.asp?boardid=23) ---- [求助]请问如何用XML Schema实现无序和可选的element和Attribute (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=54301) |
-- 作者:luver -- 发布时间:10/25/2007 11:53:00 AM -- [求助]请问如何用XML Schema实现无序和可选的element和Attribute 有这样的XML实例 <?xml version="1.0"?> <root> <text att1="a" att2="b"> <text att1="a" att2="b"> <button att1="a" att2="b"> <button att1="a" att2="b"> <input att1="a" att2="b"> <input att1="a" att2="b"> </root> 其中<text>,<button>,<input>可以有0个或多个,且无序,它们的属性无序且不必须有. 看了一下choice, all, sequence都不能满足,不知还有何方法? |
-- 作者:luver -- 发布时间:10/25/2007 2:19:00 PM -- 这里人还真是少, 试了下 all ,可以实现element的无序和可选 |
-- 作者:luver -- 发布时间:10/29/2007 11:18:00 AM -- 上个星期通过查MSXML6.0的SDK,然后试了N次,大致发现这些规则: ================================================ <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > <xsd:element name="root" type="controlList"/> <!-- controls list --> 。。。。。//省略掉若干 用<all>时 然后试了下<sequence> 不过要注意的是如果 element a的minOccurs=1,那么不管n等于多少,上面的序列都会通不过,因为检查卡在第三个序列<b/></c>。 OK,就这些了,上述测试是用MSXML6.0,在VC++环境下进行的
|
-- 作者:hongjuesir -- 发布时间:10/30/2007 6:04:00 PM -- 不错,支持一下!人确实少了些。 |
-- 作者:danielhy -- 发布时间:10/31/2007 1:31:00 PM -- <a/><b/><a/> 出现类似这样的序列呢 请给出完整的代码 谢 |
-- 作者:luver -- 发布时间:10/31/2007 3:14:00 PM -- 呵,其实可以这样理解我那个<sequence>: <sequence maxOccurs=n> <element a minOccurs=0> <element b minOccurs=1> <element c minOccurs=1> </sequence> 第一个可以为<a/>或<b/>,出现<b/>之后必须出现<c/>,否则该有效序列结束 完整代码是指那个schema例子吗,借用别人发的一个: <xs:element name="myElement"> |
-- 作者:danielhy -- 发布时间:11/1/2007 10:28:00 AM -- 恩,看来是对概念还没理解好哈,SEQUENCE和ELEMENT的minOccurs定义不同 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
1,375.000ms |