[英]Make an xml element's content unique in a XSD Instance Document
我目前正在尝试开发一种XSD Schema,以开发票信息,可以在http://intranet.servofarma.com/xml/schema/facturas.xsd中看到该信息。
我的问题是如何使nroFactura
元素的内容在XSD实例文档中唯一? 我尝试使用<unique>
但是我不清楚如何使用此约束。
XSD中的“唯一”约束允许您说“给定Y中的每个X必须具有Z的唯一值”。 约束条件取决于Y的定义。xs:selector定义一个XPath表达式以从Y中选择X(例如.//nroFactura),而xs:field定义一个XPath表达式以从X中选择Z(例如, “。”选择元素本身的字符串值)
我认为您不会得到比@Michael(+1)更简洁的答案; 不过,我认为您可能还会从这些其他说明中受益。
鉴于你XSD时,Y在迈克尔的“符号”只能是facturas
,因为它是在你的XSD的唯一元素。
修改:
<element name="facturas" type="tns:facturasType">
<unique name="pk1">
<selector xpath="tns:factura/tns:nroFactura"/>
<field xpath="."/>
</unique>
</element>
结果如下:
我还要提到的一件事是使用.//
vs.作为特定对象。 前者是开始事情的好方法。 事实证明,在大型XSD中处理标签可能会在不同的上下文中“重用”也很困难。 我会说,与尝试匹配所有内容相比,尽可能地具体是一种更好的做法……当然,除非有此要求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.