繁体   English   中英

使xml元素的内容在XSD实例文档中唯一

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM