Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml XSD:节点内的唯一属性值_Xml_Xsd_Unique - Fatal编程技术网

Xml XSD:节点内的唯一属性值

Xml XSD:节点内的唯一属性值,xml,xsd,unique,Xml,Xsd,Unique,我有具有父子关系的XML数据,并且希望(根据XSD)防止子对象是其自己的父对象 XML: <categories> <category id="1"> <name>cat1</name> </category> <category id="2"> <name>cat2</name> <

我有具有父子关系的XML数据,并且希望(根据XSD)防止子对象是其自己的父对象

XML:

<categories>
        <category id="1">
            <name>cat1</name>
        </category>
        <category id="2">
            <name>cat2</name>
        </category>
        <category id="5" parent_id="5"> <!-- should not validate!-->
            <name>subcat5</name>
        </category>
</categories>

第一类
第二类
副5

因此,约束条件是,id和parent_id需要不同。我用
尝试了一些东西,但是运气不好。

在XSD中无法表达属性之间的这些类型的关系(也称为限制)。您可以只指定从
category
元素的
id
值中选择
parent\u id
的值(使用KEY和KEYREF元素),但不能指定两个属性之间具有相同值是无效的