gpt4 book ai didi

xml - 如何修复 XSD 验证错误?

转载 作者:行者123 更新时间:2023-12-04 07:10:34 25 4
gpt4 key购买 nike

我有一个带有元素 0 的 XML 表单,该表单格式正确但无效。
当我尝试验证它 XMLSpy 时,出现以下错误:
“隐藏”的空元素内不允许有任何内容。
以下是我的架构:

<xs:element name="hidden">
<xs:complexType>
<xs:attribute name="datatype" type="xs:string" use="optional"/>
<xs:attribute name="alias" type="xs:string" use="optional"/>
<xs:attribute name="source" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="lookup" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>

我需要在上面的架构中添加什么来修复这个错误?谢谢毫升

最佳答案

正如welbog 所指出的,您定义了一个复杂的空元素。假设您只想要隐藏标签中的文本,您可以按照以下几行编写架构:

<xs:element name="hidden">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="datatype" type="xs:string" use="optional"/>
<xs:attribute name="alias" type="xs:string" use="optional"/>
<xs:attribute name="source" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="lookup" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

这样,您就可以拥有一段这样的 XML:
<hidden datatype="foo" name="bar">0</hidden>

这里发生的事情是我将“隐藏”定义为 xs:integer 的扩展。 (顺便说一句,你可以让它扩展你想要的任何类型),这意味着“隐藏”元素就像整数元素,但有额外的约束,或者在这种情况下有额外的属性。

关于xml - 如何修复 XSD 验证错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/446608/

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