Xml XSD验证属性等于父属性

Xml XSD验证属性等于父属性,xml,validation,xsd,Xml,Validation,Xsd,我需要创建一个XSD,用父节点验证特定复杂类型中的值 在此特定情况下,XML将如下所示: <ROOT> <INFO> <REGIONDESC> <REGION VALUE="001" DESCRIPTION="Description 1" /> <REGION VALUE="002" DESCRIPTION="Description 2" /> <REGION VAL

我需要创建一个XSD,用父节点验证特定复杂类型中的值

在此特定情况下,XML将如下所示:

<ROOT>
  <INFO>
      <REGIONDESC>
        <REGION VALUE="001" DESCRIPTION="Description 1" />
        <REGION VALUE="002" DESCRIPTION="Description 2" />
        <REGION VALUE="003" DESCRIPTION="Description 3" />    
      </REGIONDESC>
      ...Other Nodes..
  </INFO>
  <DETAILS>
      <REGIONDETAILS>
        <REGIONID VALUE="001"/>
        ...Other Nodes..
      </REGIONDETAILS>
  </DETAILS>
</ROOT>

…其他节点。。
…其他节点。。
我需要验证“REGIONID”值必须等于某个“REGIONDESC”/REGION@VALUE".
是否可能?

在根元素的定义中,使用选择xpath=“INFO/regionDec/REGION”和字段xpath=“@VALUE”定义一个xs:key;和相应的xs:keyRef,选择xpath=“DETAILS/REGIONDETAILS/REGIONID”和字段xpath=“@VALUE”。

是的,可以使用
key
keyRef
机制。如果您可以共享到目前为止提出的模式,那么我们可以解释您需要添加什么来定义交叉引用。