例外:cvc-type.3.2.2:scheema定义中的异常

时间:2013-11-18 10:30:44

标签: java xml xsd

我是XML的新手,如何处理这个标签

<package name="{all}">
<lsf/>
<lsi/>
<lsd/>
</package>
在XSD中

像处理这样处理:

<xs:element name="package" type="packageType" maxOccurs="unbounded"/>
<xs:complexType name="packageType">
    <xs:sequence>
      <xs:element name="lsf" type="xs:string" />
      <xs:element name="lsi" type="xs:string" />
      <xs:element name="lsd" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

获得异常 -

异常:cvc-complex-type.3.2.2:属性'name'不允许出现在元素'package'中。

1 个答案:

答案 0 :(得分:0)

错误非常明显 - 您的XML在package元素上有一个属性,架构不允许这样做。您需要在架构中声明允许此属性,例如:

<xs:element name="package" type="packageType" maxOccurs="unbounded"/>
<xs:complexType name="packageType">
  <xs:sequence>
    <xs:element name="lsf" type="xs:string" />
    <xs:element name="lsi" type="xs:string" />
    <xs:element name="lsd" type="xs:string" />
  </xs:sequence>
  <xs:attribute name="name" type="xs:string" />
</xs:complexType>