3

XML エディターを使用して「フラット化」したスキーマがあります。平坦化した後、検証エラーが発生します。修正するにはどうすればよいですか?

エラーメッセージ:

F [Xerces] 要素または属性が QName 生成と一致しません: QName::=(NCName':')?NCName.

コード:

<xs:import namespace="http://www.opengis.net/gml"
    schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"
    xmlns:="http://www.opengis.net/gml/3.1.1" />
<xs:annotation xmlns:="http://www.opengis.net/sps/1.0">
    <xs:documentation>
        <copyright>                 SPS is an OGC Standard.                 Copyright (c)
            2007,2010 Open Geospatial Consortium, Inc. All Rights Reserved.                 To
            obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
        </copyright>
    </xs:documentation>
</xs:annotation>

私のエラーをよりよく説明するスクリーンショットを次に示します。 ここに画像の説明を入力

編集:

何とかコロンを取り除きます。この「平坦化」は正確には何をすることになっているのでしょうか?

xsd のフラット化では、多くのインクルードを含むxsdを取得し、すべてを (インクルードなしで) 1 つのファイルに配置します。

4

2 に答える 2

14

xmlns:=は無効な構文です。コロンが余分であるか、コロンの後の名前空間プレフィックスがありません。正しい構文は、xmlns="http://some.uri"またはxmlns:something="http://some.uri"

不要なコロンが2 つあることに注意してください。1 つ目は 1002 行目 (赤い矢印が指している場所) にあり、2 つ目は 1003 行目にあります。これは、さらに多くのコロンがある可能性を示唆しています。

「QName」は「修飾名」を指し、「NCName」は「非植民地名」を指します。コロン化されていない名前は、コロン文字 (:) を含まない XML 名です。修飾名は、植民地化されていない名前、またはコロンで区切られた 2 つの非植民地化された名前の組み合わせのいずれかです。たとえば、「abc:defgh」。コロンの前の部分は名前空間プレフィックスと呼ばれ、コロンの後の部分はローカル名と呼ばれます。修飾名に名前空間接頭辞がある場合、その接頭辞は接頭辞付きの名前空間宣言を持つ名前空間URIにバインドする必要xmlns:abc="http://some.uri"があります(例: .

于 2011-01-31T20:18:52.313 に答える