0

我有一个带有如下命名空间的 xml 文件。

<iwxxm:METAR xmlns:iwxxm="http://icao.int/iwxxm/1.0RC2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:om="http://www.opengis.net/om/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:metce="http://def.wmo.int/metce/2013" xmlns:sams="http://www.opengis.net/samplingSpatial/2.0" xmlns:sam="http://www.opengis.net/sampling/2.0" xmlns:saf="http://icao.int/saf/1.0RC2" gml:id="metar-WSSS-20130919T040000Z" status="NORMAL" automatedStation="false" xsi:schemaLocation="http://icao.int/iwxxm/1.0RC2 http://127.0.0.1:8080/fullmoon-required/icao/iwxxm/iwxxm.xsd http://def.wmo.int/metce/2013 http://localhost:8080/fullmoon-required/wmo/metce/metce.xsd">
<iwxxm:observation>
<om:OM_Observation gml:id="obs-WSSS-20130919T040000Z">
<om:type xlink:href="http://codes.wmo.int/49-2/observation-type/IWXXM/1.0/MeteorologicalAerodromeObservation" xlink:title="Aerodrome Observation"/>

. . 。等等...

我也有这个模式。但架构仅包含标签的详细信息。(见下文)

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="response">
        <xsd:complexType >
            <xsd:sequence >
                <xsd:element ref="request_index"/>
                <xsd:element ref="data_source" />
                <xsd:element ref="request"/>
                <xsd:element ref="errors"/>
                <xsd:element ref="warnings"/>
                <xsd:element ref="time_taken_ms"/>
                <xsd:element ref="data"/>
            </xsd:sequence>
            <xsd:attribute name="version" type="xsd:string" default="1.1"/>

       </xsd:complexType>
    </xsd:element>

. . 。等等...

我面临的问题是,当我使用第三方软件或 java 程序进行验证时,我遇到了类似 iwxxm:observation is not defined in schema 的错误。

请对此提出建议以进行验证。

4

1 回答 1

0

我面临的问题是,当我使用第三方软件或 java 程序进行验证时,我遇到了类似 iwxxm:observation is not defined in schema 的错误。

正确的。每个模式只能描述一个命名空间。(该命名空间targetNamespace由 in 中的属性指定<xs:schema>

但是您可以为不同的名称空间定义多个 XML 模式,并将它们导入到描述整个 XML 的模式中。

也看看这个问题: Validate xml with multiple xsd files

于 2013-09-24T11:13:24.130 回答