关于xsd:XML Schema氧气验证问题

XML Schema Oxygen validation problems

在为XML文档生成XML模式时,我遇到了几个问题。 XML文档应如下所示:

1
2
3
4
5
6
7
8
9
10
11
<HEADER>
    <ID>64639</ID>
    ....
    <INCIDENT>
        <HEADER>64639</HEADER>
    </INCIDENT>
    <INCIDENT>
        <HEADER>64639</HEADER>
    </INCIDENT>
    ....
</HEADER>

到目前为止,我实现了以下结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        elementFormDefault="qualified">

<xsd:element name="HEADER">
    <xsd:complexType>
        <xsd:all>
            <xsd:element minOccurs="1" name="ID" nillable="false" type="xsd:integer"/>
        </xsd:all>
    </xsd:complexType>
    <xsd:key name="SYS_C0032500">
        <xsd:selector xpath="."/>
        <xsd:field xpath="ID"/>
    </xsd:key>
    <xsd:keyref name="SYS_C0032500_HEADER.ID_INCIDENT.HEADER_" refer="SYS_C0032500">
        <xsd:selector xpath="INCIDENT"/>
        <xsd:field xpath="HEADER"/>
    </xsd:keyref>
</xsd:element>

<xsd:element name="INCIDENT">
    <xsd:complexType>
        <xsd:all>
            <xsd:element minOccurs="1" name="HEADER" nillable="false" type="xsd:integer"/>
        </xsd:all>
    </xsd:complexType>
    <xsd:key name="IDK">
        <xsd:selector xpath="."/>
        <xsd:field xpath="HEADER"/>
    </xsd:key>
</xsd:element>

</xsd:schema>

使用和元素模拟数据库约束的任务标准。目前,我收到一条错误消息,内容为:

Engine name: Xerces
Severity: error
Description: cvc-complex-type.2.4.d: Invalid content was found starting with element 'INCIDENT'. No child element is expected at this point.
Start location: 3:6
End location: 3:14
URL: http://www.w3.org/TR/xmlschema-1/#cvc-complex-type

我的其他问题来自于更多的INCIDENT零件。当没有maxOccurs属性时,如何添加更多INCIDENT元素?

感谢您的帮助!

关于,


在示例实例文档中,HEADER的内容模型似乎是"一个ID后跟一个或多个INCIDENT"。在XSD中为:

1
2
3
4
5
6
7
8
<xsd:element name="HEADER">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="ID" nillable="false" type="xsd:integer"/>
            <xsd:element name="INCIDENT" minOccurs="1" maxOccurs="unbounded" type="..."/>
        </xsd:all>
    </xsd:complexType>
    ...