如果元素值的组合是唯一的,可以通过模式验证吗?
有效:
<Hardware ID="1">
<COMPort>COM1</COMPort>
<BaudRate>9600</BaudRate>
</Hardware>
<Hardware ID="2">
<COMPort>COM2</COMPort>
<BaudRate>9600</BaudRate>
</Hardware>
<Hardware ID="3">
<COMPort>COM1</COMPort>
<BaudRate>115200</BaudRate>
</Hardware>
无效:
<Hardware ID="1">
<COMPort>COM1</COMPort>
<BaudRate>9600</BaudRate>
</Hardware>
<Hardware ID="2">
<COMPort>COM2</COMPort>
<BaudRate>9600</BaudRate>
</Hardware>
<Hardware ID="3">
<COMPort>COM1</COMPort>
<BaudRate>9600</BaudRate>
</Hardware>
此代码无效,因为comport和baudrate的组合不是唯一的。
答案 0 :(得分:2)
是的,可以:在Hardware元素的父元素声明上,使用类似
的内容<xs:unique name="u">
<xs:selector xpath="Hardware"/>
<xs:field xpath="COMPort"/>
<xs:field xpath="BaudRate"/>
</xs:unique>