gpt4 book ai didi

xsd - 在 XSD 模式中,如何说一个元素可能有任意数量的必须从某种类型继承的子元素?

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

假设我在 XSD 中定义了这些类型:

<complexType name="NamedEntity">
<attribute name="ix" type="positiveInteger"></attribute>
<attribute name="sName" type="string"></attribute>
<attribute name="txtDesc" type="string"></attribute>
</complexType>

<complexType name="Node">
<complexContent>
<extension base="tns:NamedEntity">
</extension>
</complexContent>
</complexType>

<complexType name="Source">
<complexContent>
<extension base="tns:NamedEntity">
<attribute name="dt" type="dateTime"></attribute>
</extension>
</complexContent>
</complexType>

现在我想表达一个 Node element 可能有零个或多个子元素,其类型可能是 NodeSource .

如果我不得不以某种方式枚举子级允许的类型也可以,但是因为我有更多类型继承自 NamedEntity ,如果我可以只指定基本类型,那就太好了。

编辑:我宁愿不使用 xsi:type在文档中,但元素名称和类型之间有明确的关系。相当多的 XML 处理似乎依赖于它,而且我还发现它更具可读性。

最佳答案

请不要使用xsi:type如果你能避免它。它是 evil .好吧,也许我夸大了,但它确实使在不熟悉架构的情况下无法解析文档,这在实践中已经够糟糕了。

对您有帮助的是: substitutionGroup .

关于xsd - 在 XSD 模式中,如何说一个元素可能有任意数量的必须从某种类型继承的子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1016988/

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