XSD架构验证。属性'id'不允许出现在元素

时间:2018-05-07 16:55:55

标签: xml xsd xsd-validation xml-validation

尝试验证XML模式,其中XML包含元素中的ID。

XML:

<A:System id="systemName">
            <A:SystemCd>001</A:SystemCd>
</A:SourceSystem>

XSD:

<xs:element name="System" maxOccurs="unbounded">
      <xs:complexType>
            <xs:sequence>
                  <xs:element name="SystemCd" />
            </xs:sequence>
      </xs:complexType>
</xs:element>

错误:

  

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

当父元素包含ID时,有没有办法继续验证子元素?

1 个答案:

答案 0 :(得分:2)

id属性添加到XSD中的System元素:

<xs:element name="System" maxOccurs="unbounded">
      <xs:complexType>
            <xs:sequence>
                  <xs:element name="SystemCd" />
            </xs:sequence>
            <xs:attribute name="id" type="xs:ID"/>
      </xs:complexType>
</xs:element>