XmlSchemaElement 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 element Element aus dem XML-Schema dar, wie vom World Wide Web Consortium (W3C) angegeben. Diese Klasse ist die Basisklasse für alle Partikeltypen und wird verwendet, um ein Element in einem XML-Dokument zu beschreiben.
public ref class XmlSchemaElement : System::Xml::Schema::XmlSchemaParticle
public class XmlSchemaElement : System.Xml.Schema.XmlSchemaParticle
type XmlSchemaElement = class
inherit XmlSchemaParticle
Public Class XmlSchemaElement
Inherits XmlSchemaParticle
- Vererbung
Beispiele
Im folgenden Beispiel wird das element Element erstellt.
using System;
using System.Xml;
using System.Xml.Schema;
class XMLSchemaExamples
{
public static void Main()
{
XmlSchema schema = new XmlSchema();
// <xs:element name="cat" type="string"/>
XmlSchemaElement elementCat = new XmlSchemaElement();
schema.Items.Add(elementCat);
elementCat.Name = "cat";
elementCat.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="dog" type="string"/>
XmlSchemaElement elementDog = new XmlSchemaElement();
schema.Items.Add(elementDog);
elementDog.Name = "dog";
elementDog.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="redDog" substitutionGroup="dog" />
XmlSchemaElement elementRedDog = new XmlSchemaElement();
schema.Items.Add(elementRedDog);
elementRedDog.Name = "redDog";
elementRedDog.SubstitutionGroup = new XmlQualifiedName("dog");
// <xs:element name="brownDog" substitutionGroup ="dog" />
XmlSchemaElement elementBrownDog = new XmlSchemaElement();
schema.Items.Add(elementBrownDog);
elementBrownDog.Name = "brownDog";
elementBrownDog.SubstitutionGroup = new XmlQualifiedName("dog");
// <xs:element name="pets">
XmlSchemaElement elementPets = new XmlSchemaElement();
schema.Items.Add(elementPets);
elementPets.Name = "pets";
// <xs:complexType>
XmlSchemaComplexType complexType = new XmlSchemaComplexType();
elementPets.SchemaType = complexType;
// <xs:choice minOccurs="0" maxOccurs="unbounded">
XmlSchemaChoice choice = new XmlSchemaChoice();
complexType.Particle = choice;
choice.MinOccurs = 0;
choice.MaxOccursString = "unbounded";
// <xs:element ref="cat"/>
XmlSchemaElement catRef = new XmlSchemaElement();
choice.Items.Add(catRef);
catRef.RefName = new XmlQualifiedName("cat");
// <xs:element ref="dog"/>
XmlSchemaElement dogRef = new XmlSchemaElement();
choice.Items.Add(dogRef);
dogRef.RefName = new XmlQualifiedName("dog");
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:element name="cat" type="string"/>
Dim elementCat As New XmlSchemaElement()
schema.Items.Add(elementCat)
elementCat.Name = "cat"
elementCat.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="dog" type="string"/>
Dim elementDog As New XmlSchemaElement()
schema.Items.Add(elementDog)
elementDog.Name = "dog"
elementDog.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="redDog" substitutionGroup="dog" />
Dim elementRedDog As New XmlSchemaElement()
schema.Items.Add(elementRedDog)
elementRedDog.Name = "redDog"
elementRedDog.SubstitutionGroup = New XmlQualifiedName("dog")
' <xs:element name="brownDog" substitutionGroup ="dog" />
Dim elementBrownDog As New XmlSchemaElement()
schema.Items.Add(elementBrownDog)
elementBrownDog.Name = "brownDog"
elementBrownDog.SubstitutionGroup = New XmlQualifiedName("dog")
' <xs:element name="pets">
Dim elementPets As New XmlSchemaElement()
schema.Items.Add(elementPets)
elementPets.Name = "pets"
' <xs:complexType>
Dim complexType As New XmlSchemaComplexType()
elementPets.SchemaType = complexType
' <xs:choice minOccurs="0" maxOccurs="unbounded">
Dim choice As New XmlSchemaChoice()
complexType.Particle = choice
choice.MinOccurs = 0
choice.MaxOccursString = "unbounded"
' <xs:element ref="cat"/>
Dim catRef As New XmlSchemaElement()
choice.Items.Add(catRef)
catRef.RefName = New XmlQualifiedName("cat")
' <xs:element ref="dog"/>
Dim dogRef As New XmlSchemaElement()
choice.Items.Add(dogRef)
dogRef.RefName = New XmlQualifiedName("dog")
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 vorangehende Codebeispiel verwendet.
<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cat" type="xs:string"/>
<xs:element name="dog" type="xs:string"/>
<xs:element name="redDog" substitutionGroup="dog" />
<xs:element name="brownDog" substitutionGroup ="dog" />
<xs:element name="pets">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="cat"/>
<xs:element ref="dog"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Hinweise
Important
- Verwenden Sie keine Schemas aus unbekannten oder nicht vertrauenswürdigen Quellen oder Speicherorten. Dadurch wird die Sicherheit Ihres Codes beeinträchtigt.
- XML-Schemas (einschließlich Inlineschemas) sind inhärent anfällig für Denial-of-Service-Angriffe; nehmen Sie sie in nicht vertrauenswürdigen Szenarien nicht an.
- Schemaüberprüfungsfehlermeldungen und Ausnahmen können vertrauliche Informationen über das Inhaltsmodell oder URI-Pfade für die Schemadatei verfügbar machen. Achten Sie darauf, diese Informationen nicht für nicht vertrauenswürdige Aufrufer verfügbar zu machen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| XmlSchemaElement() |
Initialisiert eine neue Instanz der XmlSchemaElement-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Annotation |
Dient zum Abrufen oder Festlegen der |
| Block |
Dient zum Abrufen oder Festlegen einer |
| BlockResolved |
Ruft den Nachkompilierungswert der |
| Constraints |
Ruft die Auflistung von Einschränkungen für das Element ab. |
| DefaultValue |
Dient zum Abrufen oder Festlegen des Standardwerts des Elements, wenn der Inhalt ein einfacher Typ oder Inhalt des Elements ist |
| ElementSchemaType |
Ruft ein XmlSchemaType Objekt ab, das den Typ des Elements basierend auf den SchemaType Werten SchemaTypeName des Elements darstellt. |
| ElementType |
Veraltet.
Veraltet.
Ruft ein Common Language Runtime (CLR)-Objekt basierend auf dem XmlSchemaElement oder XmlSchemaElement dem Element ab, das den Wert nach der Kompilierung der |
| Final |
Dient zum Abrufen oder Festlegen der |
| FinalResolved |
Ruft den Nachkompilierungswert der |
| FixedValue |
Dient zum Abrufen oder Festlegen des festen Werts. |
| Form |
Dient zum Abrufen oder Festlegen des Formulars für das Element. |
| Id |
Dient zum Abrufen oder Festlegen der Zeichenfolgen-ID. (Geerbt von XmlSchemaAnnotated) |
| IsAbstract |
Dient zum Abrufen oder Festlegen von Informationen, die angeben, ob das Element in einem Instanzdokument verwendet werden kann. |
| IsNillable |
Dient zum Abrufen oder Festlegen von Informationen, die angibt, ob |
| LineNumber |
Ruft die Zeilennummer in der Datei ab, auf die sich das Element bezieht, oder legt diese |
| LinePosition |
Ruft die Zeilenposition in der Datei ab, auf die sich das Element bezieht, oder legt diese |
| MaxOccurs |
Ruft ab oder legt fest, wie oft das Partikel auftreten kann. (Geerbt von XmlSchemaParticle) |
| MaxOccursString |
Dient zum Abrufen oder Festlegen der Zahl als Zeichenfolgenwert. Maximale Anzahl der Vorkommen des Partikels. (Geerbt von XmlSchemaParticle) |
| MinOccurs |
Ruft ab oder legt fest, wie oft das Partikel auftreten kann. (Geerbt von XmlSchemaParticle) |
| MinOccursString |
Dient zum Abrufen oder Festlegen der Zahl als Zeichenfolgenwert. Die mindeste Anzahl der Vorkommen des Partikels. (Geerbt von XmlSchemaParticle) |
| Name |
Dient zum Abrufen oder Festlegen des Namens des Elements. |
| Namespaces |
Dient zum Abrufen oder Festlegen der XmlSerializerNamespaces Verwendung mit diesem Schemaobjekt. (Geerbt von XmlSchemaObject) |
| Parent |
Dient zum Abrufen oder Festlegen des übergeordneten Elements dieser XmlSchemaObject. (Geerbt von XmlSchemaObject) |
| QualifiedName |
Ruft den tatsächlich qualifizierten Namen für das angegebene Element ab. |
| RefName |
Dient zum Abrufen oder Festlegen des Verweisnamens eines elements, das in diesem Schema deklariert ist (oder ein anderes Schema, das durch den angegebenen Namespace angegeben ist). |
| SchemaType |
Dient zum Abrufen oder Festlegen des Typs des Elements. Dies kann entweder ein komplexer Typ oder ein einfacher Typ sein. |
| SchemaTypeName |
Dient zum Abrufen oder Festlegen des Namens eines integrierten Datentyps, der in diesem Schema definiert ist, oder ein anderes Schema, das durch den angegebenen Namespace angegeben ist. |
| SourceUri |
Ruft den Quellspeicherort für die Datei ab, die das Schema geladen hat, oder legt diesen fest. (Geerbt von XmlSchemaObject) |
| SubstitutionGroup |
Dient zum Abrufen oder Festlegen des Namens eines Elements, das durch dieses Element ersetzt wird. |
| UnhandledAttributes |
Ruft die qualifizierten Attribute ab, die nicht zum Zielnamespace des aktuellen Schemas gehören, oder legt diese fest. (Geerbt von XmlSchemaAnnotated) |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |