0

DelphiでXMLMapperを使用して有効なスキーマ(xmlspyおよび酸素用)をインポートしようとすると、このエラーが発生します

「Error Flux if:InfofileType unknown」.

私は名前空間を使用しており、このタイプは別のファイルで定義されています。

これを解決する方法はありますか?

(Delphi 2010 のデモも試してみましたが、まだ動作しません)

<?xml version="1.0" encoding="UTF-8" ?> 
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:if="http://www.gtest.fr/Apps/InfoFile" xmlns:ca="http://www.gtest.fr/Apps/CommandAnswer" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:import namespace="http://www.gtest.fr/Apps/InfoFile" schemaLocation="InfoFile.xsd" /> 
  <xs:import namespace="http://www.gtest.fr/Apps/CommandAnswer" schemaLocation="CommandAnswer.xsd" /> 
- <xs:element name="ServerAnswer">
- <xs:annotation>
  <xs:documentation>Reponse serveur socket</xs:documentation> 
  </xs:annotation>
- <xs:complexType>
- <xs:sequence>
  <xs:element name="InfoFile" type="if:InfoFileType" /> 
  <xs:element name="Command" type="ca:CommandAnswerType" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  </xs:schema>

QC で報告: http://qc.embarcadero.com/wc/qcmain.aspx?d=80124

4

3 に答える 3

0

Eric Thorniley が指摘したメッセージを見たいのですが、もうありません。メッセージの件名があれば、どこかのアーカイブで見つけることができるかもしれません。Google で検索してみましたが、別のサイトにこの投稿が重複してコピーされていることがわかりました。

ありがとう

于 2014-01-06T14:25:51.753 に答える
0

Eric Thorniley がついにここに行く道をくれました。

XML Mapper が名前空間を正しく認識していないようです。ただし、インポートされたファイルに追加の名前空間定義を追加することで、それを有効にすることができます。これは確かに正しくありません。

たとえば、Insurance.xsd で xmlns:Utils="http://www.gtest.fr/Apps/Utils" を宣言します。

まったく同じ定義を Utils.xsd に追加すると、XML Mapper はそれを正しくインポートします (と思います!)。

XML Spy が私の変更を削除する可能性はかなりあります - 確かに Enterprise Architect はそれらを完全に無視します。

于 2010-01-18T22:56:54.237 に答える