XmlSchemaInference.Occurrence 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 deklarasi kemunculan skema yang disimpulkan dari dokumen XML.
public:
property System::Xml::Schema::XmlSchemaInference::InferenceOption Occurrence { System::Xml::Schema::XmlSchemaInference::InferenceOption get(); void set(System::Xml::Schema::XmlSchemaInference::InferenceOption value); };
public System.Xml.Schema.XmlSchemaInference.InferenceOption Occurrence { get; set; }
member this.Occurrence : System.Xml.Schema.XmlSchemaInference.InferenceOption with get, set
Public Property Occurrence As XmlSchemaInference.InferenceOption
Nilai Properti
Sebuah objekXmlSchemaInference.InferenceOption.
Contoh
Contoh ini menggambarkan bagaimana kemunculan dipengaruhi oleh Occurrence properti . Contoh kode menyimpulkan kemunculan dari file XML dengan dua cara berbeda: dilonggarkan dan dibatasi. Berikut ini adalah contoh file XML.
<?xml version="1.0"?>
<root>
<subElement1 attribute1="text">ABC</subElement1>
</root>
Contoh kode berikut menginstruksikan XmlSchemaInference kelas untuk menyimpulkan kemunculan elemen dan atribut dengan cara yang santai.
XmlReader reader = XmlReader.Create("input.xml");
XmlSchemaSet schemaSet = new XmlSchemaSet();
XmlSchemaInference schema = new XmlSchemaInference();
schema.Occurrence = 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.Occurrence = XmlSchemaInference.InferenceOption.Relaxed
schemaSet = schema.InferSchema(reader)
For Each s As XmlSchema In schemaSet.Schemas()
s.Write(Console.Out)
Next
Occurrence 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 minOccurs="0" name="subElement1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="attribute1" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Dalam contoh kode di atas, jika Occurrence 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">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="attribute1" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Keterangan
Occurrence Jika properti diatur ke Restricted, elemen pertama kali ditemui dalam dokumen XML, deklarasi skema disimpulkan sebagai minOccurs="1". Ketika atribut ditemui, deklarasi skema disimpulkan sebagai use="required".
Occurrence Jika properti diatur ke Relaxed, deklarasi skema elemen disimpulkan sebagai minOccurs="0", dan deklarasi skema atribut disimpulkan sebagai use="optional".
Nilai Occurrence default properti adalah Restricted.