gpt4 book ai didi

XSD - 将属性值限制为另一个元素属性值

转载 作者:行者123 更新时间:2023-12-03 17:21:06 33 4
gpt4 key购买 nike

我有以下 XML:

<Content name="contentName1">
<!-- Some sub elements here -->
</Content>

<Sequence Name="sequenceName1">
<Content name="contentName1" />
<!-- Some sub elements here -->
</Sequence>

使用以下 XSD
<xs:element maxOccurs="unbounded" name="Content">
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required" />
<!-- other definitions here -->
</xs:complexType>
</xs:element>

<xs:element maxOccurs="unbounded" name="Sequence">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Content">
<xs:complexType>
<xs:attribute name="ContentName" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>

在 XSD 中,如何告诉 Sequence 的 Content 元素的 ContentName 属性只接受在 Content 元素的 ContentName 中声明的值?

例如:使用上面提供的 XML,序列的内容中只接受 contentName1。

最佳答案

身份约束定义用于强制执行唯一、主键和外键关系。您需要首先为内容元素定义一个 key 元素,然后在架构验证器的内部内容元素中使用 keyref 来强制执行您提到的条件。请参阅下面的链接,它也有一些示例,xfront for xsd 中的教程也涵盖了一些示例 -

http://www.w3.org/TR/xmlschema11-1/#Identity-constraint_Definition_details
http://www.xfront.com/files/xml-schema.html

关于XSD - 将属性值限制为另一个元素属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2372627/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com