XmlSchemaInference.TypeInference 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 Typen auswirkt, die aus dem XML-Dokument abgeleitet werden.
public:
property System::Xml::Schema::XmlSchemaInference::InferenceOption TypeInference { System::Xml::Schema::XmlSchemaInference::InferenceOption get(); void set(System::Xml::Schema::XmlSchemaInference::InferenceOption value); };
public System.Xml.Schema.XmlSchemaInference.InferenceOption TypeInference { get; set; }
member this.TypeInference : System.Xml.Schema.XmlSchemaInference.InferenceOption with get, set
Public Property TypeInference As XmlSchemaInference.InferenceOption
Eigenschaftswert
Ein XmlSchemaInference.InferenceOption-Objekt.
Beispiele
In diesem Beispiel wird veranschaulicht, wie die Typinferenz von der TypeInference Eigenschaft beeinflusst wird. Der Beispielcode leitet Typen aus 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>ABC</subElement1>
<subElement2>123</subElement2>
</root>
Im folgenden Beispielcode wird die XmlSchemaInference Klasse angewiesen, elemente und Attribute mit einfachem Inhalt abzuleiten xs:string .
XmlReader reader = XmlReader.Create("input.xml");
XmlSchemaSet schemaSet = new XmlSchemaSet();
XmlSchemaInference schema = new XmlSchemaInference();
schema.TypeInference = 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.TypeInference = XmlSchemaInference.InferenceOption.Relaxed
schemaSet = schema.InferSchema(reader)
For Each s As XmlSchema In schemaSet.Schemas()
s.Write(Console.Out)
Next
Da die TypeInference 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 name="subElement1" type="xs:string" />
<xs:element name="subElement2" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Wenn die TypeInference 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" type="xs:string" />
<xs:element name="subElement2" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Hinweise
Wenn die xs:date. B. , xs:decimal, xs:unsignedByteusw.
Der Standardwert dieser Eigenschaft TypeInference lautet Restricted.