XmlSchemaChoice Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar elementet choice (compositor) från XML-schemat enligt vad som anges av World Wide Web Consortium (W3C). Tillåter choice att endast en av dess underordnade objekt visas i en instans.
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
- Arv
Exempel
I följande exempel skapas ett choice element.
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
Följande XML-fil genereras för föregående kodexempel.
<?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>
Konstruktorer
| Name | Description |
|---|---|
| XmlSchemaChoice() |
Initierar en ny instans av XmlSchemaChoice klassen. |
Egenskaper
| Name | Description |
|---|---|
| Annotation |
Hämtar eller anger egenskapen |
| Id |
Hämtar eller anger sträng-ID: t. (Ärvd från XmlSchemaAnnotated) |
| Items |
Hämtar samlingen av elementen som ingår i compositorn ( |
| LineNumber |
Hämtar eller anger radnumret i filen som elementet |
| LinePosition |
Hämtar eller anger radpositionen i filen som elementet |
| MaxOccurs |
Hämtar eller anger det maximala antalet gånger som partikeln kan inträffa. (Ärvd från XmlSchemaParticle) |
| MaxOccursString |
Hämtar eller anger talet som ett strängvärde. Maximalt antal gånger som partikeln kan förekomma. (Ärvd från XmlSchemaParticle) |
| MinOccurs |
Hämtar eller anger det minsta antalet gånger som partikeln kan inträffa. (Ärvd från XmlSchemaParticle) |
| MinOccursString |
Hämtar eller anger talet som ett strängvärde. Det minsta antalet gånger som partikeln kan inträffa. (Ärvd från XmlSchemaParticle) |
| Namespaces |
Hämtar eller anger det XmlSerializerNamespaces som ska användas med det här schemaobjektet. (Ärvd från XmlSchemaObject) |
| Parent |
Hämtar eller anger överordnad för den här XmlSchemaObject. (Ärvd från XmlSchemaObject) |
| SourceUri |
Hämtar eller anger källplatsen för filen som läste in schemat. (Ärvd från XmlSchemaObject) |
| UnhandledAttributes |
Hämtar eller anger de kvalificerade attribut som inte tillhör det aktuella schemats målnamnområde. (Ärvd från XmlSchemaAnnotated) |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |