3

私はxsdを持っています。BizTalk で検証しようとすると、次のエラーが発生します。

error BEC2009: Node "<Schema>" - Schema reference "http://www.w3.org/2001/xml.xsd" is not a valid reference or does not exist in the current project.

error BEC2009: Node "<Schema>" - Schema reference "http://www.w3.org/2001/xml.xsd" is not a valid reference or does not exist in the current project.

warning BEC999: Cannot resolve the 'schemaLocation' attribute.

error BEC3001: The 'http://www.w3.org/XML/1998/namespace:space' attribute is not declared.

warning BEC999: Cannot resolve the 'schemaLocation' attribute.

warning BEC1007: Node "<Schema>" - Target namespace is empty.

次のような名前空間を参照していると思います。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>

続行するのに十分な情報かどうかはわかりません...

編集:
xmlを検証するために使用するプログラムによっては、時々機能することがわかりました。例えば。スキーマに対して xml を検証する .net コードを作成すると、xsd が正常に読み取られ、xml が検証されるようです。Notepad ++でxml検証を使用すると、スキーマを読み取れないと表示されます。別のマッパー (WTX) では、それも機能しないと言われています。

考えられる問題を絞り込むために他にできることはありますか?

編集 2:
xcut に感謝します。スキーマをローカルにダウンロードして BizTalk プロジェクトに配置すると、スキーマは正常に検証されますが、1 つの警告が表示されることがわかりました: 警告 BEC1007: ノード "" - ターゲット名前空間が空です。

4

1 に答える 1

2

名前空間スキーマをインポートするのが少し奇妙であることは別として、BizTalk は単に URL を介してスキーマをインポートできない可能性があります (一方、.net コードはインポートできます)。

これを問題として除外するには、w3.org からスキーマをダウンロードしてプロジェクトに配置し、http ではなくそこからインポートします。

于 2010-01-26T08:58:20.607 に答える