XmlSchemaSimpleTypeUnion Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta l'elemento union
relativo ai tipi semplici di XML Schema come specificato dal World Wide Web Consortium (W3C). È possibile utilizzare un tipo di dati union
per specificare il contenuto di un elemento simpleType
. Il valore dell'elemento simpleType
deve appartenere a un set di tipi di dati alternativo specificato nell'unione. I tipi di unione sono sempre tipi derivati e devono comprendere almeno due tipi di dati alternativi.
public ref class XmlSchemaSimpleTypeUnion : System::Xml::Schema::XmlSchemaSimpleTypeContent
public class XmlSchemaSimpleTypeUnion : System.Xml.Schema.XmlSchemaSimpleTypeContent
type XmlSchemaSimpleTypeUnion = class
inherit XmlSchemaSimpleTypeContent
Public Class XmlSchemaSimpleTypeUnion
Inherits XmlSchemaSimpleTypeContent
- Ereditarietà
Esempio
Nell'esempio seguente viene illustrato l'uso della XmlSchemaSimpleTypeUnion
classe.
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
ref class XMLSchemaExamples
{
private:
static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
{
Console::WriteLine(args->Message);
}
public:
static void Main()
{
XmlSchema^ schema = gcnew XmlSchema();
//<xs:simpleType name="StringOrIntType">
XmlSchemaSimpleType^ StringOrIntType = gcnew XmlSchemaSimpleType();
StringOrIntType->Name = "StringOrIntType";
schema->Items->Add(StringOrIntType);
// <xs:union>
XmlSchemaSimpleTypeUnion^ union1 = gcnew XmlSchemaSimpleTypeUnion();
StringOrIntType->Content = union1;
// <xs:simpleType>
XmlSchemaSimpleType^ simpleType1 = gcnew XmlSchemaSimpleType();
union1->BaseTypes->Add(simpleType1);
// <xs:restriction base="xs:string"/>
XmlSchemaSimpleTypeRestriction^ restriction1 = gcnew XmlSchemaSimpleTypeRestriction();
restriction1->BaseTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
simpleType1->Content = restriction1;
// <xs:simpleType>
XmlSchemaSimpleType^ simpleType2 = gcnew XmlSchemaSimpleType();
union1->BaseTypes->Add(simpleType2);
// <xs:restriction base="xs:int"/>
XmlSchemaSimpleTypeRestriction^ restriction2 = gcnew XmlSchemaSimpleTypeRestriction();
restriction2->BaseTypeName = gcnew XmlQualifiedName("int", "http://www.w3.org/2001/XMLSchema");
simpleType2->Content = restriction2;
// <xs:element name="size" type="StringOrIntType"/>
XmlSchemaElement^ elementSize = gcnew XmlSchemaElement();
elementSize->Name = "size";
elementSize->SchemaTypeName = gcnew XmlQualifiedName("StringOrIntType");
schema->Items->Add(elementSize);
XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne);
schemaSet->Add(schema);
schemaSet->Compile();
XmlSchema^ compiledSchema = nullptr;
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);
}
};
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:simpleType name="StringOrIntType">
XmlSchemaSimpleType StringOrIntType = new XmlSchemaSimpleType();
StringOrIntType.Name = "StringOrIntType";
schema.Items.Add(StringOrIntType);
// <xs:union>
XmlSchemaSimpleTypeUnion union = new XmlSchemaSimpleTypeUnion();
StringOrIntType.Content = union;
// <xs:simpleType>
XmlSchemaSimpleType simpleType1 = new XmlSchemaSimpleType();
union.BaseTypes.Add(simpleType1);
// <xs:restriction base="xs:string"/>
XmlSchemaSimpleTypeRestriction restriction1 = new XmlSchemaSimpleTypeRestriction();
restriction1.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
simpleType1.Content = restriction1;
// <xs:simpleType>
XmlSchemaSimpleType simpleType2 = new XmlSchemaSimpleType();
union.BaseTypes.Add(simpleType2);
// <xs:restriction base="xs:int"/>
XmlSchemaSimpleTypeRestriction restriction2 = new XmlSchemaSimpleTypeRestriction();
restriction2.BaseTypeName = new XmlQualifiedName("int", "http://www.w3.org/2001/XMLSchema");
simpleType2.Content = restriction2;
// <xs:element name="size" type="StringOrIntType"/>
XmlSchemaElement elementSize = new XmlSchemaElement();
elementSize.Name = "size";
elementSize.SchemaTypeName = new XmlQualifiedName("StringOrIntType");
schema.Items.Add(elementSize);
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);
}
}
Imports System.Xml
Imports System.Xml.Schema
Class XMLSchemaExamples
Public Shared Sub Main()
Dim schema As New XmlSchema()
' <xs:simpleType name="StringOrIntType">
Dim StringOrIntType As New XmlSchemaSimpleType()
StringOrIntType.Name = "StringOrIntType"
schema.Items.Add(StringOrIntType)
' <xs:union>
Dim union As New XmlSchemaSimpleTypeUnion
StringOrIntType.Content = union
' <xs:simpleType>
Dim simpleType1 As New XmlSchemaSimpleType
union.BaseTypes.Add(simpleType1)
' <xs:restriction base="xs:string"/>
Dim restriction1 As New XmlSchemaSimpleTypeRestriction()
restriction1.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
simpleType1.Content = restriction1
' <xs:simpleType>
Dim simpleType2 As New XmlSchemaSimpleType()
union.BaseTypes.Add(simpleType2)
' <xs:restriction base="xs:int"/>
Dim restriction2 As New XmlSchemaSimpleTypeRestriction()
restriction2.BaseTypeName = New XmlQualifiedName("int", "http://www.w3.org/2001/XMLSchema")
simpleType2.Content = restriction2
' <xs:element name="size" type="StringOrIntType"/>
Dim elementSize As New XmlSchemaElement()
elementSize.Name = "size"
elementSize.SchemaTypeName = New XmlQualifiedName("StringOrIntType")
schema.Items.Add(elementSize)
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
Il file XML seguente viene generato per questo esempio di codice.
<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="StringOrIntType">
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:int"/>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:element name="size" type="StringOrIntType"/>
</xs:schema>
Commenti
Un union
tipo consente a un elemento o a un valore di attributo di essere una o più istanze di un tipo disegnato dall'unione di più tipi atomici e di elenco.
Costruttori
XmlSchemaSimpleTypeUnion() |
Inizializza una nuova istanza della classe XmlSchemaSimpleTypeUnion. |
Proprietà
Annotation |
Ottiene o imposta la proprietà |
BaseMemberTypes |
Ottiene una matrice di oggetti XmlSchemaSimpleType che rappresentano il tipo dell'elemento |
BaseTypes |
Ottiene la raccolta dei tipi di base. |
Id |
Ottiene o imposta l'ID di stringa. (Ereditato da XmlSchemaAnnotated) |
LineNumber |
Ottiene o imposta il numero di riga nel file a cui l'elemento |
LinePosition |
Ottiene o imposta la posizione di riga nel file a cui l'elemento |
MemberTypes |
Ottiene o imposta la matrice dei nomi di membri qualificati dei tipi di dati incorporati o degli elementi |
Namespaces |
Ottiene o imposta l'oggetto XmlSerializerNamespaces da utilizzare con questo oggetto schema. (Ereditato da XmlSchemaObject) |
Parent |
Ottiene o imposta la classe padre della classe XmlSchemaObject. (Ereditato da XmlSchemaObject) |
SourceUri |
Ottiene o imposta la posizione di origine per il file che ha caricato lo schema. (Ereditato da XmlSchemaObject) |
UnhandledAttributes |
Ottiene o imposta gli attributi qualificati che non appartengono allo spazio dei nomi di destinazione dello schema corrente. (Ereditato da XmlSchemaAnnotated) |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |