XSD具有类型属性的问题:type属性不能与simpleType或complexType一起出现

时间:2018-10-11 12:00:37

标签: xml types xsd

我已经在stackoverflow上寻找了答案,但是不幸的是,所有的问题解答工具都不适合我:

我有以下xml:

<STGDocument version="3" workitem-id="0" index="1">
       <ID type="String">ab78e02c-a472-45b9-99d0-57c19034a51b</ID>
....

以及从网页生成的XSD:

<xs:element name="STGDocument">
<xs:complexType>
  <xs:sequence>
    <xs:element name="ID" type="xs:string">
      <xs:complexType>
        <xs:attribute name="type" type="xs:string"></xs:attribute>
      </xs:complexType>
    </xs:element>
.......

以某种方式,<xs:element name "Id" ....>标记会引发错误“ type属性不能与simpleType或complexType一起出现”

我该如何解决?

如前所述,我在SOF上尝试了所有解决方案,但没有一个对我有用...

感谢

1 个答案:

答案 0 :(得分:0)

使用type属性(例如type="xs:string")或使用嵌套的xs:simpleTypexs:complexType元素将元素的类型声明为EITHER。您不能同时拥有两者,这就是它抱怨的原因。

您ID元素的实际类型是“具有简单内容的复杂类型”,应按以下示例声明:XSD : How to use both value and attribute