XML type definition cannot be abstract, no non-abstract type in xsd
XML type definition can not be abstract, no non-abstract type in xsd
我有一个外部 xsd 我想创建一个有效的 xml 到。
xsd 包含复杂类型定义:
<xsd:complexType name="STE_SomeType" abstract="true">
<xsd:simpleContent>
<xsd:extension base="xsd:string"/>
</xsd:simpleContent>
</xsd:complexType>
问题是,在创建 xml 时,我无法使用非抽象类型扩展 STE_SomeType。因此,如果我使用以下内容创建 xml:
<Foo xmlns:dat="http://www.example.com/namespace/datatype" xsi:type='dat:STE_SomeType'>abc</Foo>
我收到验证错误“错误:(48, 89) cvc-type.2:元素 Foo 的类型定义不能是抽象的。”
而且我只是不知道我需要提供什么作为 xsi:type 才能获得有效的 xml 因为 xsd.
中没有合适的复杂类型
有没有办法利用 STE_SomeType 具有 simpleContent xsd:string 的事实
或者我可以在 xml 中定义类似扩展 STE_SomeType 的“私有类型”吗?
如果模式包含抽象类型并且没有对该类型的具体限制,那么看起来模式的作者似乎希望您使用您自己的具体类型限制来扩展它 - 否则抽象类型将服务没有目的。
我有一个外部 xsd 我想创建一个有效的 xml 到。 xsd 包含复杂类型定义:
<xsd:complexType name="STE_SomeType" abstract="true">
<xsd:simpleContent>
<xsd:extension base="xsd:string"/>
</xsd:simpleContent>
</xsd:complexType>
问题是,在创建 xml 时,我无法使用非抽象类型扩展 STE_SomeType。因此,如果我使用以下内容创建 xml:
<Foo xmlns:dat="http://www.example.com/namespace/datatype" xsi:type='dat:STE_SomeType'>abc</Foo>
我收到验证错误“错误:(48, 89) cvc-type.2:元素 Foo 的类型定义不能是抽象的。” 而且我只是不知道我需要提供什么作为 xsi:type 才能获得有效的 xml 因为 xsd.
中没有合适的复杂类型有没有办法利用 STE_SomeType 具有 simpleContent xsd:string 的事实 或者我可以在 xml 中定义类似扩展 STE_SomeType 的“私有类型”吗?
如果模式包含抽象类型并且没有对该类型的具体限制,那么看起来模式的作者似乎希望您使用您自己的具体类型限制来扩展它 - 否则抽象类型将服务没有目的。