我需要定义一个没有子元素或任何内容的XML元素,并且没有属性。
这是我在做什么
<xs:element name="myEmptyElement" type="_Empty"/> <xs:complexType name="_Empty"> </xs:complexType>
这似乎工作正常,但我不得不想知道是否有办法做到这一点,而不必声明一个复杂的类型。另外,如果我有什么问题,请让我知道。
预计有人可能好奇为什么我需要这样的元素:它是一个SOAP操作,不需要任何参数值。
(1)您可以避免定义一个命名的xs:complexType:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="myEmptyElement"> <xs:complexType/> </xs:element> </xs:schema>
(2)可以使用xs:simpleType而不是xs:complexType:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="myEmptyElement"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="0"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:schema>
(3)你可以使用fixed =“”[credit:@Nemo]:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="myEmptyElement" type="xs:string" fixed=""/> </xs:schema>
(4)但请注意,如果您避免对内容模型发表任何说明:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="myEmptyElement"/> </xs:schema>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。