XmlSchemaInference.Occurrence Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den XmlSchemaInference.InferenceOption-Wert ab, der sich auf die vom XML-Dokument abgeleiteten Deklarationen von Schemavorkommen auswirkt, oder legt diesen fest.
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
Eigenschaftswert
Ein XmlSchemaInference.InferenceOption-Objekt.
Beispiele
In diesem Beispiel wird veranschaulicht, wie die Vorkommen von der Occurrence Eigenschaft betroffen sind. Der Beispielcode leitet das Vorkommen einer XML-Datei auf zwei verschiedene Arten ab: entspannt und eingeschränkt. Im Folgenden sehen Sie die XML-Beispieldatei.
<?xml version="1.0"?>
<root>
<subElement1 attribute1="text">ABC</subElement1>
</root>
Im folgenden Beispielcode wird die XmlSchemaInference Klasse angewiesen, das Vorkommen von Elementen und Attributen auf entspannte Weise zu treffen.
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
Da die Eigenschaft auf Relaxed"Festgelegt" festgelegt wurde, wurde das Occurrence folgende Schema generiert.
<?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>
Wenn die Eigenschaft im obigen Beispielcode nicht auf Relaxedfestgelegt wurde, hätte die XmlSchemaInference Occurrence Klasse standardmäßig Restricted das folgende Schema generiert und generiert.
<?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>
Hinweise
Wenn die Occurrence Eigenschaft auf Restricted"" festgelegt ist, wird das erste Mal elemente im XML-Dokument gefunden, wird die Schemadeklaration wie folgt abgeleitet minOccurs="1". Wenn Attribute auftreten, wird die Schemadeklaration als use="required".
Wenn die Occurrence Eigenschaft auf Relaxed", Elementschemadeklarationen" festgelegt ist minOccurs="0", werden als "" abgeleitet, und Attributschemadeklarationen werden wie folgt abgeleitet use="optional".
Der Standardwert der Occurrence Eigenschaft ist Restricted.