提问人:Learner 提问时间:10/20/2023 最后编辑:Learner 更新时间:10/21/2023 访问量:45
验证 XML,使 Edge 中节点中的值应存在于节点>节点中,否则无效
validate xml in a way that a value in a node in edge should be present in the nodes > node otherwise that is not valid
问:
我有一个场景,我需要以一种方式验证 xml,即边缘节点中的值应该存在于节点>节点中,否则无效
<graph>
<nodes>
<node>
<id>1</id>
</node>
<nodes>
<edges>
<from> 1 </from>
<to> 4 </to>
</edges>
<name>test</name>
所以上面是无效的,因为节点>节点中不存在 A 到 4 是否可以在 xsd:schema 中进行这种验证?
更新以了解更多说明: 所以这是一个有效的图表
<graph>
<nodes>
<node>
<id>1</id>
</node>
<node>
<id>4</id>
</node>
<nodes>
<edges>
<from> 1 </from>
<to> 4 </to>
</edges>
<name>test</name>
因为节点 1 和 4 都存在于节点部分中,所以它们可以在边中使用
然而在这里 <graph>
<nodes>
<node>
<id>1</id>
</node>
<nodes>
<edges>
<from> 1 </from>
<to> 4 </to>
</edges>
<name>test</name>
</graph>
4 未在节点部分中定义,因此应验证为无效
这是我的XML:
<graph>
<id>g0</id>
<name>test</name>
<nodes>
<node>
<id>a</id>
<name>a name</name>
</node>
</nodes>
<edges>
<node>
<id>e1</id>
<from>a</from>
<to>b</to>
<cost>42</cost>
</node>
<node>
<id>e5</id>
<from>a</from>
<to>c</to>
<cost>0.42</cost>
</node>
</edges>
</graph>
(注意不确定它是否重要,但我使用 lxml Pyhton 库进行验证)
答: 暂无答案
评论