2012-07-26 56 views
2

我工作的一个XSD验证代码,我试图找出如何验证具有XSD子元素可选/基于父属性名称

<root> 
    <elementA attribute1=ID> 
    ... 
    </elementA> 
    <elementA attribute2=ID> 
    ... 
    </elementA> 
</root> 

一个XML文件要求,我想使XSD根据属性名称验证相同的元素,并在attribute2需要attribute1的情况下使子元素的一些可选。

请注意,“...”是与attribute1可选的某些字段相同的元素。

回答

2

在XSD 1.0中,元素的类型只能取决于元素名称,而不取决于其属性。 XSD 1.1使用名为“条件类型分配”的工具来消除此限制。 XSD 1.1目前仅在Xerces和Saxon中实施。