XmlSchemaInference.Occurrence Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
XML belgesinden çıkan şema oluşumu bildirimlerini etkileyen değeri alır veya ayarlar XmlSchemaInference.InferenceOption .
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
Özellik Değeri
Bir XmlSchemaInference.InferenceOption nesnesi.
Örnekler
Bu örnekte, oluşumun özelliğinden Occurrence nasıl etkilendiği gösterilmektedir. Örnek kod, xml dosyasından iki farklı yolla ortaya çıkar: gevşek ve kısıtlanmış. Aşağıda örnek XML dosyası verilmiştir.
<?xml version="1.0"?>
<root>
<subElement1 attribute1="text">ABC</subElement1>
</root>
Aşağıdaki örnek kod, sınıfına XmlSchemaInference öğeleri ve öznitelikleri gevşek bir şekilde ortaya çıkarmasını bildirir.
XmlReader^ reader = XmlReader::Create("input.xml");
XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
XmlSchemaInference^ schema = gcnew XmlSchemaInference();
schema->Occurrence = XmlSchemaInference::InferenceOption::Relaxed;
schemaSet = schema->InferSchema(reader);
for each (XmlSchema^ s in schemaSet->Schemas())
{
s->Write(Console::Out);
}
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 özelliği olarak ayarlandığından Relaxedaşağıdaki şema oluşturulmuştur.
<?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>
Yukarıdaki örnek kodda, özelliği olarak XmlSchemaInferenceRelaxedayarlanmamışsa Occurrence sınıfı varsayılan olarak Restricted ayarlanmış ve aşağıdaki şemayı oluşturmuş olabilir.
<?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>
Açıklamalar
Occurrence özelliği olarak Restrictedayarlanırsa, XML belgesinde öğelerle ilk kez karşılaşıldığında, şema bildirimi olarak minOccurs="1"
çıkarılır. Özniteliklerle karşılaşıldığında, şema bildirimi olarak use="required"
çıkarılır.
Occurrence özelliği olarak Relaxedayarlanırsa, öğe şeması bildirimleri olarak minOccurs="0"
çıkarılır ve öznitelik şeması bildirimleri olarak use="optional"
çıkarılır.
özelliğinin Occurrence varsayılan değeridir Restricted.