XmlSchemaInference.TypeInference プロパティ
アセンブリ: System.Xml (system.xml.dll 内)

Public Property TypeInference As InferenceOption
Dim instance As XmlSchemaInference Dim value As InferenceOption value = instance.TypeInference instance.TypeInference = value
public InferenceOption TypeInference { get; set; }
public: property InferenceOption TypeInference { InferenceOption get (); void set (InferenceOption value); }
/** @property */ public InferenceOption get_TypeInference () /** @property */ public void set_TypeInference (InferenceOption value)
public function get TypeInference () : InferenceOption public function set TypeInference (value : InferenceOption)
XmlSchemaInference.InferenceOption オブジェクト。

TypeInference プロパティが Relaxed に設定されている場合、簡単な内容の XML ドキュメント内で推論される要素と属性の型は常に xs:string です。TypeInference プロパティが Restricted に設定されている場合、xs:date、xs:decimal、xs:unsignedByte など、より具体的な型が推論されます。
TypeInference プロパティの既定値は Restricted です。

型の推論に TypeInference プロパティがどのように影響を与えるかを表す例を次に示します。このプログラム例は、Relaxed と Restricted の 2 つの異なる指定方法で XML ファイルから型を推論します。サンプル XML ファイルを次に示します。
次のプログラム例は、簡単な内容の要素と属性に対して xs:string を推論するように XmlSchemaInference クラスに指示します。
Dim reader As XmlReader = XmlReader.Create("input.xml") Dim schemaSet As XmlSchemaSet = New XmlSchemaSet() Dim schema As XmlSchemaInference = New XmlSchemaInference() schema.TypeInference = XmlSchemaInference.InferenceOption.Relaxed schemaSet = schema.InferSchema(reader) For Each s As XmlSchema In schemaSet.Schemas() s.Write(Console.Out) Next
XmlReader reader = XmlReader.Create("input.xml"); XmlSchemaSet schemaSet = new XmlSchemaSet(); XmlSchemaInference schema = new XmlSchemaInference(); schema.TypeInference = XmlSchemaInference.InferenceOption.Relaxed; schemaSet = schema.InferSchema(reader); foreach (XmlSchema s in schemaSet.Schemas()) { s.Write(Console.Out); }
TypeInference プロパティが Relaxed に設定されていたため、次のスキーマが生成されました。
<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="root"> <xs:complexType> <xs:sequence> <xs:element name="subElement1" type="xs:string" /> <xs:element name="subElement2" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
上のプログラム例で、TypeInference プロパティが Relaxed に設定されていなかった場合、既定で XmlSchemaInference クラスが Restricted に設定され、次のスキーマが生成されます。
<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="root"> <xs:complexType> <xs:sequence> <xs:element name="subElement1" type="xs:string" /> <xs:element name="subElement2" type="xs:unsignedByte" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- XmlSchemaInference.TypeInference プロパティのページへのリンク