我需要创建一个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”。 有可能吗?
答案 0 :(得分:2)
在ROOT元素的定义中,定义一个xs:key,选择xpath =“INFO / REGIONDESC / REGION”,字段xpath =“@ VALUE”;和相应的xs:keyRef,选择xpath =“DETAILS / REGIONDETAILS / REGIONID”,字段xpath =“@ VALUE”。