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 sich das Vorkommen von der Occurrence -Eigenschaft auswirkt. Der Beispielcode leitet das Vorkommen aus einer XML-Datei auf zwei verschiedene Arten ab: gelockert und eingeschränkt. Im Folgenden wird die XML-Beispieldatei angezeigt.
<?xml version="1.0"?>
<root>
<subElement1 attribute1="text">ABC</subElement1>
</root>
Der folgende Beispielcode weist die XmlSchemaInference -Klasse an, das Vorkommen von Elementen und Attributen entspannt abzuleiten.
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 Occurrence -Eigenschaft auf Relaxedfestgelegt wurde, wurde das 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 Occurrence Eigenschaft im obigen Beispielcode nicht auf Relaxedfestgelegt wurde, hätte die XmlSchemaInference Klasse standardmäßig das Restricted 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 Restrictedfestgelegt ist, wird die Schemadeklaration als minOccurs="1"
abgeleitet, wenn Elemente zum ersten Mal im XML-Dokument gefunden werden. Wenn Attribute gefunden werden, wird die Schemadeklaration als use="required"
abgeleitet.
Wenn die Occurrence -Eigenschaft auf Relaxedfestgelegt ist, werden Elementschemadeklarationen als minOccurs="0"
abgeleitet, und Attributschemadeklarationen werden als use="optional"
abgeleitet.
Der Standardwert der Occurrence -Eigenschaft ist Restricted.