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.
Dient zum Abrufen oder Festlegen des Werts, der XmlSchemaInference.InferenceOption sich auf Schemainstanzdeklarationen auswirkt, die aus dem XML-Dokument abgeleitet werden.
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 das Vorkommen von der Occurrence Eigenschaft beeinflusst wird. 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 Auftreten von Elementen und Attributen auf entspannte Weise zu ableiten.
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 Relaxed"Festgelegt" festgelegt 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 festgelegt Relaxedwurde, hätte die XmlSchemaInference Klasse standardmäßig Restricted das folgende Schema erstellt 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 use="required"abgeleitet als .
Wenn die Occurrence Eigenschaft auf Relaxed festgelegt ist, werden Elementschemadeklarationen abgeleitet als minOccurs="0", und Attributschemadeklarationen werden als use="optional"abgeleitet.
Der Standardwert dieser Eigenschaft Occurrence lautet Restricted.