XmlSchemaInference.TypeInference Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur XmlSchemaInference.InferenceOption nilai yang memengaruhi jenis yang disimpulkan dari dokumen XML.
public:
property System::Xml::Schema::XmlSchemaInference::InferenceOption TypeInference { System::Xml::Schema::XmlSchemaInference::InferenceOption get(); void set(System::Xml::Schema::XmlSchemaInference::InferenceOption value); };
public System.Xml.Schema.XmlSchemaInference.InferenceOption TypeInference { get; set; }
member this.TypeInference : System.Xml.Schema.XmlSchemaInference.InferenceOption with get, set
Public Property TypeInference As XmlSchemaInference.InferenceOption
Nilai Properti
Sebuah objekXmlSchemaInference.InferenceOption.
Contoh
Contoh ini menggambarkan bagaimana inferensi jenis dipengaruhi oleh TypeInference properti . Contoh kode menyimpulkan jenis dari file XML dengan dua cara berbeda: dilonggarkan dan dibatasi. Berikut ini adalah contoh file XML.
<?xml version="1.0"?>
<root>
<subElement1>ABC</subElement1>
<subElement2>123</subElement2>
</root>
Contoh kode berikut menginstruksikan XmlSchemaInference kelas untuk menyimpulkan xs:string elemen dan atribut dengan konten sederhana.
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);
}
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
TypeInference Karena properti diatur ke Relaxed, skema berikut dibuat.
<?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>
Dalam contoh kode di atas, jika TypeInference properti tidak diatur ke Relaxed, XmlSchemaInference kelas akan default ke Restricted dan menghasilkan skema berikut.
<?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>
Keterangan
TypeInference Jika properti diatur ke Relaxed, jenis elemen dan atribut yang disimpulkan dalam dokumen XML dengan konten sederhana selalu xs:string.
TypeInference Jika properti diatur ke Restricted, jenis yang lebih spesifik disimpulkan, seperti xs:date, , xs:decimalxs:unsignedByte, dan sebagainya.
Nilai TypeInference default properti adalah Restricted.