2011-05-10 93 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表示。