【问题标题】:XML Schema Oxygen validation problemsXML Schema Oxygen 验证问题
【发布时间】:2012-09-10 14:55:48
【问题描述】:

我在为 XML 文档生成 XML Schema 时遇到了一些问题。 XML 文档应如下所示:

<HEADER>
    <ID>64639</ID>
    ....
    <INCIDENT>
        <HEADER>64639</HEADER>
    </INCIDENT>
    <INCIDENT>
        <HEADER>64639</HEADER>
    </INCIDENT>
    ....
</HEADER>

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

<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>

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

引擎名称:Xerces 严重性:错误 说明:cvc-complex-type.2.4.d:发现以元素“INCIDENT”开头的无效内容。此时不需要子元素。 开始地点:3:6 结束地点:3:14 网址:http://www.w3.org/TR/xmlschema-1/#cvc-complex-type

我的另一个问题来自更多的事件部分。当没有 maxOccurs 属性时,如何添加更多 INCIDENT 元素?

感谢您的每一个帮助!

问候, 乔

【问题讨论】:

    标签: xml xsd oxygenxml


    【解决方案1】:

    在您的示例实例文档中,HEADER 的内容模型似乎是“一个 ID 后跟一个或多个事件”。在 XSD 中是:

    <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>
        ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 2011-06-19
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      • 2011-07-24
      相关资源
      最近更新 更多