このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2020 Enterprise Edition

C# データ型への XML スキーマ型のデフォルトのマッピングは以下の通りです:

 

スキーマ

C#

リマーク

xs:string

string


xs:boolean

bool


xs:decimal

decimal

xs:decimal には無制限の範囲と精度が存在します。効率のために小数までマップされます。

xs:float, xs:double

double


xs:long

long


xs:unsignedLong

ulong


xs:int

int


xs:unsignedInt

uint


xs:dateTime, date, time, gYearMonth, gYear, gMonthDay, gDay, gMonth

Altova.Types.DateTime


xs:duration

Altova.Types.Duration


xs:hexBinary and xs:base64Binary

byte[]

バイナリデータのエンコードとデコードは自動的に行われます。

xs:anySimpleType

string


 

このリストに含まれていないすべての XML スキーマ型は派生した型で、対応するベース型として同じ C# 型にマップされます。

 

生成されたクラス

スキーマ内の各型のために型の各属性と要素のためのメンバーを含むクラスが生成されます。メンバーには元のスキーマ内の属性と要素と同じ名前が付けられます (競合のために番号が付加されます)。単純型のために、演算子の割り当てと変換が生成されます。列挙ファセットを持つ単純型のためにメソッドGetEnumerationValue()SetEnumerationValue(int) を各列挙の値のために生成された制約と共に使用することができます。更にメソッド StaticInfo() は以下の型の1つとしてスキーマ情報にアクセスすることを許可します:

 

Altova.Xml.Meta.SimpleType

Altova.Xml.Meta.ComplexType

 

複合型から生成されるクラスは型の xsi:type 属性の設定を可能にする メソッド SetXsiType() を含みます。派生した型の XML インスタンス要素を作成する場合にこのメソッドは役に立ちます。

 

XML スキーマ内で宣言されている型のためのクラスに加え ドキュメントクラス ("Doc" と識別される) が生成されます。全ての可能なルート要素をメンバーおよび多種の他のメソッドとして含んでいます。クラスに関する情報に関しては [YourSchema].[Doc] を参照してください。

 

メモ:        実際のクラス名は .xsd スキーマの名前により異なります。

 

スキーマ型の各メンバー属性または要素のために、新規のクラスが生成されます。このようなクラスに関する詳細は、以下を参照してください:

 

[YourSchemaType].MemberAttribute

[YourSchemaType].MemberElement

 

メモ:        実際のクラス名はスキーマ属性または要素の名前により異なります。

 

エラーの処理

エラーは例外によりレポートされています。次の例外クラスは名前空間 Altova 内で定義されています:

 

クラス

ベースクラス

説明

ConversionException

例外

型変換に失敗した際スローされる例外

StringParseException

ConversionException

値スペース内の値は構文的なスペースに変換することはできません。

DataSourceUnavailableException

System.Exception

XML インスタンスのロード中問題が発生しました。

DataTargetUnavailableException

System.Exception

XML インスタンスの保存中門外が発生しました。

 

更に、次の .NET 例外は一般的に使用されます:

 

クラス

説明

System.Exception

ランタイムエラーのためのベースクラス

System.ArgumentException

無効な引数の値、または失敗した型変換を使用して呼び出されたメソッド

System.FormatException

値スペース内の値は構文的なスペースに変換することはできません。

System.InvalidCastException

他の型に変換不可能な値

System.OverflowException

ソース値をターゲットドメイン内で表示することができません。

 

スキーマ情報にアクセスする方法

生成されたライブラリは以下のクラスを介して静的なスキーマ情報へのアクセスを許可します:

 

Altova.Xml.Meta.Attribute

Altova.Xml.Meta.ComplexType

Altova.Xml.Meta.Element

Altova.Xml.Meta.SimpleType

 

対応するプロパティが存在しない場合メタデータのクラスの一つを返すプロパティは null オブジェクトを返します。

(C) 2020 Altova GmbH