gpt4 book ai didi

xml - XSD:用任何名称定义一个元素

转载 作者:数据小太阳 更新时间:2023-10-29 01:45:23 27 4
gpt4 key购买 nike

由于某些系统的限制,我们需要使用格式有点不方便的XML。那些我们需要转换成方便的形式。

问题:如何在 XSD 架构中定义具有以下属性的元素:

  • 没有 child
  • 没有任何属性
  • 有任何名字(这是导致问题的原因)

最佳答案

您可以使用 <xsd:any />元素连同 Xml Schema Instance type attribute .

架构

<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded">
<xsd:any processContents="strict" namespace="##local"></xsd:any>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="st">
<xsd:restriction base="xsd:string" />
</xsd:simpleType>
</xsd:schema>

测试Xml实例

<?xml version="1.0" encoding="utf-8"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- valid -->
<one xsi:type="st">value one</one>
<emptyone xsi:type="st"/>

<!-- invalid -->
<two name="myname" xsi:type="st">value two</two>

<!-- invalid -->
<three xsi:type="st">
<four xsi:type="st">value four</four>
</three>
</root>

结论

您不能强制执行 xsd 架构中的简单类型单独

关于xml - XSD:用任何名称定义一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2085119/

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