2011-05-10 78 views
0

我必须为2个相互包含的数据元素定义属性组。在下面的示例中,如果存在TO_DTFROM_DT必须存在并且TO_DT不存在,则不存在FROM_DT可选属性组

我想创建这些强制性的属性,并定义attributegroup作为可选的,但它不工作:

<xs:attributeGroup name="DateRangeAttributes" id="Element_Common_545"> 
    <xs:attribute name="TO_DT" type="xs:date" use="required" id="Element_Common_547"/> 
    <xs:attribute name="FROM_DT" type="xs:date" use="required" id="Element_Common_546"/> 
<xs:attributeGroup> 

任何人都可以提出一个方法来处理这个使用属性

回答

1

对不起,那种约束可以不会被XML Schema(1.0)强制执行。您将在其他地方执行该操作(例如使用代码或XSLT)或更改格式。可能性:

  • 提供默认值,以便两者都始终有效。
  • 使用包含长度为2的日期列表的单个属性。
  • 使用元素(您也可以控制顺序,与属性不同)。
0

这些约束可以用Schematron和XML Schema 1.1表示。