2009-06-05 10 views
2

一般的な古いC#オブジェクトからXSDを生成するときに、Visual Studioに付属するxsd.exeツールでSchemaLocation属性(xs:import)が生成されますか?XMLスキーマ定義ツールでSchemaLocationが生成されない

私は、生成された私のXSDは、xsので有効ではないことを発見しています:会社 - :インポートは、名前空間「骨壷のため

以下

インポートされたスキーマを促す相対schemaLocationの値を提供し、名前空間をインポートしません。イベント名空間 'が解決されませんでした。

答えて

0

見つけたとしても、その属性は生成されません。これは、その属性が読んでいたスキーマに存在する場合、その属性を使用しないという事実と関係している可能性があります。

1

this anwserに示すように、手動で属性を追加できます。 xsdツールは部分クラスを生成するため、この属性を別のファイルに追加することができます。したがって、生成されたファイルを変更する必要はありません。

public partial class Gpx 
{ 
    [XmlAttribute("schemaLocation", Namespace = XmlSchema.InstanceNamespace)] 
    public string xsiSchemaLocation = "http://www.topografix.com/GPX/1/1 " + 
           "http://www.topografix.com/GPX/1/1/gpx.xsd"; 
} 
関連する問題