XmlSchemaSimpleTypeUnion Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
union
Představuje prvek jednoduchých typů ze schématu XML, jak je určeno konsorciem W3C (World Wide Web Consortium). Datový union
typ lze použít k určení obsahu simpleType
. Hodnota simpleType
prvku musí být libovolná ze sady alternativních datových typů zadaných ve sjednocení. Typy sjednocení jsou vždy odvozené a musí obsahovat alespoň dva alternativní datové typy.
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
- Dědičnost
Příklady
Následující příklad ukazuje použití XmlSchemaSimpleTypeUnion
třídy.
#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
Následující soubor XML se vygeneruje pro tento příklad kódu.
<?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>
Poznámky
Typ union
umožňuje, aby prvek nebo hodnota atributu byla jedna nebo více instancí jednoho typu nakresleného ze sjednocení více atomických typů a typů seznamů.
Konstruktory
XmlSchemaSimpleTypeUnion() |
Inicializuje novou instanci XmlSchemaSimpleTypeUnion třídy. |
Vlastnosti
Annotation |
Získá nebo nastaví |
BaseMemberTypes |
Získá pole XmlSchemaSimpleType objektů představující typ |
BaseTypes |
Získá kolekci základních typů. |
Id |
Získá nebo nastaví ID řetězce. (Zděděno od XmlSchemaAnnotated) |
LineNumber |
Získá nebo nastaví číslo řádku v souboru, na který |
LinePosition |
Získá nebo nastaví pozici čáry v souboru, na který |
MemberTypes |
Získá nebo nastaví pole kvalifikovaných názvů členů předdefinovaných datových typů nebo |
Namespaces |
Získá nebo nastaví XmlSerializerNamespaces použití s tímto objektem schématu. (Zděděno od XmlSchemaObject) |
Parent |
Získá nebo nastaví nadřazený objekt tohoto XmlSchemaObject. (Zděděno od XmlSchemaObject) |
SourceUri |
Získá nebo nastaví zdrojové umístění pro soubor, který načetl schéma. (Zděděno od XmlSchemaObject) |
UnhandledAttributes |
Získá nebo nastaví kvalifikované atributy, které nepatří do cílového oboru názvů aktuálního schématu. (Zděděno od XmlSchemaAnnotated) |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |