限制枚举选择对于多个属性是唯一的

时间:2017-04-13 06:51:36

标签: xml enums xsd unique

我有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>

0 个答案:

没有答案