提问人:Manu Murukesan 提问时间:10/22/2023 最后编辑:Manu Murukesan 更新时间:10/22/2023 访问量:23
XSD 唯一性约束
XSD uniqueness constraint
问:
我正在尝试为以下示例 xml 文件生成 XSD。这个想法是生成此文件并将其作为自动化的一部分进行验证。
<?xml version="1.0" encoding="UTF-8"?>
<CustomLabels
xmlns="http://soap.sforce.com/2006/04/metadata">
<labels>
<fullName>Label1</fullName>
<categories>L1</categories>
<language>en_US</language>
<protected>false</protected>
<shortDescription>This is label 1</shortDescription>
<value>1</value>
</labels>
<labels>
<fullName>Label2</fullName>
<categories>L2</categories>
<language>en_US</language>
<protected>false</protected>
<shortDescription>Label 2 </shortDescription>
<value>2</value>
</labels>
<labels>
<fullName>Label2</fullName>
<categories>L2</categories>
<language>en_US</language>
<protected>false</protected>
<shortDescription>New label</shortDescription>
<value>New value</value>
</labels>
</CustomLabels>
到目前为止,我生成的 xsd 是:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://soap.sforce.com/2006/04/metadata"
targetNamespace="http://soap.sforce.com/2006/04/metadata"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:element name="CustomLabels">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="labels">
<xs:complexType>
<xs:sequence>
<xs:element name="fullName" type="xs:string"/>
<xs:element name="categories" type="xs:string" minOccurs="0"/>
<xs:element name="language" type="xs:string"/>
<xs:element name="protected" type="xs:boolean" minOccurs="0"/>
<xs:element name="shortDescription" type="xs:string" minOccurs="0"/>
<xs:element name="value" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="fullname_unique">
<xs:selector xpath="labels/fullName"/>
<xs:field xpath="."/>
</xs:unique>
</xs:element>
</xs:schema>
我已经对 fullName 进行了唯一性检查,但这似乎在某种程度上不起作用。有人可以解释这里的问题是什么并指导如何实现这一目标吗?
答:
0赞
Michael Kay
10/22/2023
#1
元素位于命名空间中,XPath 表达式需要反映这一点。使用并添加到元素中。<xs:selector xpath="p:labels/p:fullName"/>
xmlns:p="http://soap.sforce.com/2006/04/metadata"
xs:schema
评论