我有xsd:
的xml输出<?xml version="1.0" encoding="UTF-8"?>
<Test xmlns="http://www.example.org/test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/test test.xsd ">
<Board1>
<Port1>a</Port1>
<Port2>b</Port2>
<Port3>a</Port3>
</Board1>
<Board2>
<Port1>c</Port1>
<Port2>a</Port2>
<Port3>d</Port3>
</Board2>
</Test>
例如,2个板应连接到6个端口(a-f),一个端口只能使用一次。 我想在xsd中使用uniqe,因此用户只能为任何端口选择一次a-f。但我无法让它发挥作用。
<element name="Test" type="tns:Test_Type">
<unique name="unique_PortId">
<selector xpath="Test/*" />
<field xpath="[starts-with(name()'Port')]"/>
</unique>
</element>
有谁知道如何在xsd文件中进行此检查?
16/4我已经解决了,这是我使用的xsd代码:
<xsd:element name="Test" type="Test_Type">
<xsd:unique name="unique_PortId">
<xsd:selector xpath="*" />
<xsd:field xpath="*/."/>
</xsd:unique>
</xsd:element>