当前位置:  开发笔记 > Android > 正文

是否有可能在W3C的XML Schema语言(XSD)中允许一系列元素以任何顺序但仍然限制出现?

如何解决《是否有可能在W3C的XMLSchema语言(XSD)中允许一系列元素以任何顺序但仍然限制出现?》经验,为你挑选了1个好方法。

我知道all并且choice,但他们没有考虑我希望某些元素能够多次出现的情况,例如:


    
    
    
    
    

我可以使用sequence,但我更愿意让这些孩子处于任何顺序.我可以使用any,但后来我不能超过一个ThingC.我可以使用choice,但我不能限制ThingAThingB为0或1.

我想我可能已经读过某些地方,这在XSD中很难或不可能,但RELAX NG也许可能.不幸的是,我不记得我在哪里读到这些.

谢谢你的帮助!



1> JeniT..:

这是对的:你不能在XML Schema中做你想做的事,但你可以在RELAX NG中:


  
    
    
    
  

您在XML Schema中的选项是:

添加一个预处理步骤,将输入XML规范化为特定顺序,然后使用

使用,并添加额外的验证(例如使用Schematron)来检查是否有多个

决定修复标记语言中元素的顺序

事实证明,第三种通常是最好的选择; 对于按特定顺序输出元素的XML生成器通常没有多少成本,它不仅有助于验证,而且如果可以提前知道订单,它还有助于消耗XML.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有