Xsd XMLSchema——我需要确保一个元素有两个实例,每个实例都有一个属性
我需要确保一个元素有两个实例,每个都有一个属性 基本上,我需要两者:Xsd XMLSchema——我需要确保一个元素有两个实例,每个实例都有一个属性,xsd,Xsd,我需要确保一个元素有两个实例,每个都有一个属性 基本上,我需要两者: /*:SalesPersonParty/*:PartyID[@schemeAgencyName="SalesPersonID"] 及 我有基数2..2,但两个属性的实例都是有效的。我每个都要一个,点什么都没关系 以下是相关的模式组件: <xs:simpleType name="RestrictedString"> <xs:restriction base="xs:string">
/*:SalesPersonParty/*:PartyID[@schemeAgencyName="SalesPersonID"]
及
我有基数2..2,但两个属性的实例都是有效的。我每个都要一个,点什么都没关系
以下是相关的模式组件:
<xs:simpleType name="RestrictedString">
<xs:restriction base="xs:string">
<xs:pattern value="([0-9]{3})|([0-9]{10})" />
</xs:restriction>
</xs:simpleType>
<xs:element name="SalesPersonParty" minOccurs="2" maxOccurs="2">
<xs:complexType>
<xs:sequence>
<xs:element name="PartyID" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="star:RestrictedString">
<xs:attribute name="schemeAgencyName" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SalesPersonID" />
<xs:enumeration value="SalesPersonPduID" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
这可能吗
感谢和问候
托尼我认为你可以通过唯一性约束来实现。您必须知道
salersonparty
元素的容器元素;称之为事务
。然后你需要像这样的东西:
<xs:element name="Transaction">
...
<xs:unique name="uniqueAgencyNameConstraint">
<xs:selector xpath="SalesPersonParty/PartyID">
<xs:field xpath="@schemeAgencyName"/>
</xs:unique>
</xs:element>
...
这表示每个salersonparty/PartyID
必须具有唯一的schemeAgencyName
。再加上只有两个salersonparty
元素和枚举中只有两个可能值的限制,所有值必须出现一次
<xs:element name="Transaction">
...
<xs:unique name="uniqueAgencyNameConstraint">
<xs:selector xpath="SalesPersonParty/PartyID">
<xs:field xpath="@schemeAgencyName"/>
</xs:unique>
</xs:element>