XmlSchemaChoice Klasse
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.
Stellt das choice
-Element (Compositor) aus dem XML-Schema laut Spezifikation des World Wide Web Consortium (W3C) dar.
choice
erlaubt es nur einem der untergeordneten Elemente, in einer Instanz angezeigt zu werden.
public ref class XmlSchemaChoice : System::Xml::Schema::XmlSchemaGroupBase
public class XmlSchemaChoice : System.Xml.Schema.XmlSchemaGroupBase
type XmlSchemaChoice = class
inherit XmlSchemaGroupBase
Public Class XmlSchemaChoice
Inherits XmlSchemaGroupBase
- Vererbung
Beispiele
Im folgenden Beispiel wird ein choice
-Element erstellt.
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
class XmlSchemaExamples
{
public:
static void Main()
{
XmlSchema^ schema = gcnew XmlSchema();
// <xs:element name="selected"/>
XmlSchemaElement^ xeSelected = gcnew XmlSchemaElement();
xeSelected->Name = "selected";
schema->Items->Add(xeSelected);
// <xs:element name="unselected"/>
XmlSchemaElement^ xeUnselected = gcnew XmlSchemaElement();
xeUnselected->Name = "unselected";
schema->Items->Add(xeUnselected);
// <xs:element name="dimpled"/>
XmlSchemaElement^ xeDimpled = gcnew XmlSchemaElement();
xeDimpled->Name = "dimpled";
schema->Items->Add(xeDimpled);
// <xs:element name="perforated"/>
XmlSchemaElement^ xePerforated = gcnew XmlSchemaElement();
xePerforated->Name = "perforated";
schema->Items->Add(xePerforated);
// <xs:complexType name="chadState">
XmlSchemaComplexType^ chadState = gcnew XmlSchemaComplexType();
schema->Items->Add(chadState);
chadState->Name = "chadState";
// <xs:choice minOccurs="1" maxOccurs="1">
XmlSchemaChoice^ choice = gcnew XmlSchemaChoice();
chadState->Particle = choice;
choice->MinOccurs = 1;
choice->MaxOccurs = 1;
// <xs:element ref="selected"/>
XmlSchemaElement^ elementSelected = gcnew XmlSchemaElement();
choice->Items->Add(elementSelected);
elementSelected->RefName = gcnew XmlQualifiedName("selected");
// <xs:element ref="unselected"/>
XmlSchemaElement^ elementUnselected = gcnew XmlSchemaElement();
choice->Items->Add(elementUnselected);
elementUnselected->RefName = gcnew XmlQualifiedName("unselected");
// <xs:element ref="dimpled"/>
XmlSchemaElement^ elementDimpled = gcnew XmlSchemaElement();
choice->Items->Add(elementDimpled);
elementDimpled->RefName = gcnew XmlQualifiedName("dimpled");
// <xs:element ref="perforated"/>
XmlSchemaElement^ elementPerforated = gcnew XmlSchemaElement();
choice->Items->Add(elementPerforated);
elementPerforated->RefName = gcnew XmlQualifiedName("perforated");
XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne);
schemaSet->Add(schema);
schemaSet->Compile();
XmlSchema^ compiledSchema;
for each (XmlSchema^ schema1 in schemaSet->Schemas())
{
compiledSchema = schema1;
}
XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager(gcnew NameTable());
nsmgr->AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
compiledSchema->Write(Console::Out, nsmgr);
}
static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
{
Console::WriteLine(args->Message);
}
};
int main()
{
XmlSchemaExamples::Main();
return 0;
};
using System;
using System.Xml;
using System.Xml.Schema;
class XMLSchemaExamples
{
public static void Main()
{
XmlSchema schema = new XmlSchema();
// <xs:element name="selected"/>
XmlSchemaElement xeSelected = new XmlSchemaElement();
xeSelected.Name = "selected";
schema.Items.Add(xeSelected);
// <xs:element name="unselected"/>
XmlSchemaElement xeUnselected = new XmlSchemaElement();
xeUnselected.Name = "unselected";
schema.Items.Add(xeUnselected);
// <xs:element name="dimpled"/>
XmlSchemaElement xeDimpled = new XmlSchemaElement();
xeDimpled.Name = "dimpled";
schema.Items.Add(xeDimpled);
// <xs:element name="perforated"/>
XmlSchemaElement xePerforated = new XmlSchemaElement();
xePerforated.Name = "perforated";
schema.Items.Add(xePerforated);
// <xs:complexType name="chadState">
XmlSchemaComplexType chadState = new XmlSchemaComplexType();
schema.Items.Add(chadState);
chadState.Name = "chadState";
// <xs:choice minOccurs="1" maxOccurs="1">
XmlSchemaChoice choice = new XmlSchemaChoice();
chadState.Particle = choice;
choice.MinOccurs = 1;
choice.MaxOccurs = 1;
// <xs:element ref="selected"/>
XmlSchemaElement elementSelected = new XmlSchemaElement();
choice.Items.Add(elementSelected);
elementSelected.RefName = new XmlQualifiedName("selected");
// <xs:element ref="unselected"/>
XmlSchemaElement elementUnselected = new XmlSchemaElement();
choice.Items.Add(elementUnselected);
elementUnselected.RefName = new XmlQualifiedName("unselected");
// <xs:element ref="dimpled"/>
XmlSchemaElement elementDimpled = new XmlSchemaElement();
choice.Items.Add(elementDimpled);
elementDimpled.RefName = new XmlQualifiedName("dimpled");
// <xs:element ref="perforated"/>
XmlSchemaElement elementPerforated = new XmlSchemaElement();
choice.Items.Add(elementPerforated);
elementPerforated.RefName = new XmlQualifiedName("perforated");
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallbackOne);
schemaSet.Add(schema);
schemaSet.Compile();
XmlSchema compiledSchema = null;
foreach (XmlSchema schema1 in schemaSet.Schemas())
{
compiledSchema = schema1;
}
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
compiledSchema.Write(Console.Out, nsmgr);
}
public static void ValidationCallbackOne(object sender, ValidationEventArgs args)
{
Console.WriteLine(args.Message);
}
}
Option Strict On
Option Explicit On
Imports System.Xml
Imports System.Xml.Schema
Class XMLSchemaExamples
Public Shared Sub Main()
Dim schema As New XmlSchema()
' <xs:element name="selected"/>
Dim xeSelected As New XmlSchemaElement()
xeSelected.Name = "selected"
schema.Items.Add(xeSelected)
' <xs:element name="unselected"/>
Dim xeUnselected As New XmlSchemaElement()
xeUnselected.Name = "unselected"
schema.Items.Add(xeUnselected)
' <xs:element name="dimpled"/>
Dim xeDimpled As New XmlSchemaElement()
xeDimpled.Name = "dimpled"
schema.Items.Add(xeDimpled)
' <xs:element name="perforated"/>
Dim xePerforated As New XmlSchemaElement()
xePerforated.Name = "perforated"
schema.Items.Add(xePerforated)
' <xs:complexType name="chadState">
Dim chadState As New XmlSchemaComplexType()
schema.Items.Add(chadState)
chadState.Name = "chadState"
' <xs:choice minOccurs="1" maxOccurs="1">
Dim choice As New XmlSchemaChoice()
chadState.Particle = choice
choice.MinOccurs = 1
choice.MaxOccurs = 1
' <xs:element ref="selected"/>
Dim elementSelected As New XmlSchemaElement()
choice.Items.Add(elementSelected)
elementSelected.RefName = New XmlQualifiedName("selected")
' <xs:element ref="unselected"/>
Dim elementUnselected As New XmlSchemaElement()
choice.Items.Add(elementUnselected)
elementUnselected.RefName = New XmlQualifiedName("unselected")
' <xs:element ref="dimpled"/>
Dim elementDimpled As New XmlSchemaElement()
choice.Items.Add(elementDimpled)
elementDimpled.RefName = New XmlQualifiedName("dimpled")
' <xs:element ref="perforated"/>
Dim elementPerforated As New XmlSchemaElement()
choice.Items.Add(elementPerforated)
elementPerforated.RefName = New XmlQualifiedName("perforated")
Dim schemaSet As New XmlSchemaSet()
AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallbackOne
schemaSet.Add(schema)
schemaSet.Compile()
Dim compiledSchema As XmlSchema = Nothing
For Each schema1 As XmlSchema In schemaSet.Schemas()
compiledSchema = schema1
Next
Dim nsmgr As New XmlNamespaceManager(New NameTable())
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
compiledSchema.Write(Console.Out, nsmgr)
End Sub
Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs)
Console.WriteLine(args.Message)
End Sub
End Class
Die folgende XML-Datei wird für das vorherige Codebeispiel generiert.
<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="selected"/>
<xs:element name="unselected"/>
<xs:element name="dimpled"/>
<xs:element name="perforated"/>
<xs:complexType name="chadState">
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element ref="selected"/>
<xs:element ref="unselected"/>
<xs:element ref="dimpled"/>
<xs:element ref="perforated"/>
</xs:choice>
</xs:complexType>
</xs:schema>
Konstruktoren
XmlSchemaChoice() |
Initialisiert eine neue Instanz der XmlSchemaChoice-Klasse. |
Eigenschaften
Annotation |
Ruft die |
Id |
Ruft die Zeichenfolgen-ID ab oder legt diese fest. (Geerbt von XmlSchemaAnnotated) |
Items |
Ruft die Auflistung von Elementen ab, die im Compositor ( |
LineNumber |
Ruft die Zeilennummer in der Datei ab, auf die das |
LinePosition |
Ruft die Zeilenposition in der Datei ab, auf die das |
MaxOccurs |
Ruft die höchste Anzahl der Vorkommen für den Partikel ab oder legt diese fest. (Geerbt von XmlSchemaParticle) |
MaxOccursString |
Ruft die Anzahl als Zeichenfolgenwert ab oder legt diese fest. Die höchste Anzahl der Vorkommen des Partikels. (Geerbt von XmlSchemaParticle) |
MinOccurs |
Ruft die Mindestanzahl der Vorkommen für den Partikel ab oder legt diese fest. (Geerbt von XmlSchemaParticle) |
MinOccursString |
Ruft die Anzahl als Zeichenfolgenwert ab oder legt diese fest. Die Mindestanzahl der Vorkommen des Partikels. (Geerbt von XmlSchemaParticle) |
Namespaces |
Ruft die mit diesem Schemaobjekt zu verwendenden XmlSerializerNamespaces ab oder legt diese fest. (Geerbt von XmlSchemaObject) |
Parent |
Ruft das übergeordnete Objekt dieses XmlSchemaObject ab oder legt dieses fest. (Geerbt von XmlSchemaObject) |
SourceUri |
Ruft die Quellposition für die Datei ab, die das Schema geladen hat, oder legt diese fest. (Geerbt von XmlSchemaObject) |
UnhandledAttributes |
Ruft die qualifizierten Attribute ab, die nicht zum Zielnamespace des aktuellen Schemas gehören, oder legt diese fest. (Geerbt von XmlSchemaAnnotated) |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |