XmlSchemaChoice Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa el elemento choice
(compositor) del esquema XML, tal y como lo especificó el consorcio World Wide Web (W3C).
choice
sólo permite que aparezca uno de sus elementos secundarios en una instancia.
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
- Herencia
Ejemplos
En el ejemplo siguiente se crea un choice
elemento .
#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
El siguiente archivo XML se genera para el ejemplo de código anterior.
<?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>
Constructores
XmlSchemaChoice() |
Inicializa una nueva instancia de la clase XmlSchemaChoice. |
Propiedades
Annotation |
Obtiene o establece la propiedad |
Id |
Obtiene o establece el identificador de cadena. (Heredado de XmlSchemaAnnotated) |
Items |
Obtiene la colección de los elementos incluidos con el compositor ( |
LineNumber |
Obtiene o establece el número de línea del archivo al que hace referencia el elemento |
LinePosition |
Obtiene o establece la posición de la línea en el archivo al que hace referencia el elemento |
MaxOccurs |
Obtiene o establece el número máximo de veces que puede producirse la partícula. (Heredado de XmlSchemaParticle) |
MaxOccursString |
Obtiene o establece el número en forma de valor de tipo cadena. Número máximo de veces que puede producirse la partícula. (Heredado de XmlSchemaParticle) |
MinOccurs |
Obtiene o establece el número mínimo de veces que puede producirse la partícula. (Heredado de XmlSchemaParticle) |
MinOccursString |
Obtiene o establece el número en forma de valor de tipo cadena. Número mínimo de veces que puede producirse la partícula. (Heredado de XmlSchemaParticle) |
Namespaces |
Obtiene o establece el objeto XmlSerializerNamespaces que se va a utilizar con este objeto de esquema. (Heredado de XmlSchemaObject) |
Parent |
Obtiene o establece el elemento primario de este XmlSchemaObject. (Heredado de XmlSchemaObject) |
SourceUri |
Obtiene o establece la ubicación de origen del archivo que cargó el esquema. (Heredado de XmlSchemaObject) |
UnhandledAttributes |
Obtiene o establece los atributos calificados que no pertenecen al espacio de nombres de destino del esquema actual. (Heredado de XmlSchemaAnnotated) |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |