XmlSchemaElement Klas

Definitie

Vertegenwoordigt het element van het element XML-schema zoals opgegeven door het World Wide Web Consortium (W3C). Deze klasse is de basisklasse voor alle deeltjestypen en wordt gebruikt om een element in een XML-document te beschrijven.

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
Overname

Voorbeelden

In het volgende voorbeeld wordt het element element gemaakt.

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

Het volgende XML-bestand wordt gebruikt voor het voorgaande codevoorbeeld.

<?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>

Opmerkingen

Important

  • Gebruik geen schema's van onbekende of niet-vertrouwde bronnen of locaties. Als u dit doet, wordt de beveiliging van uw code aangetast.
  • XML-schema's (inclusief inlineschema's) zijn inherent kwetsbaar voor Denial of Service-aanvallen; accepteer ze niet in niet-vertrouwde scenario's.
  • Foutberichten en uitzonderingen voor schemavalidatie kunnen gevoelige informatie over het inhoudsmodel of URI-paden naar het schemabestand beschikbaar maken. Wees voorzichtig met het niet beschikbaar maken van deze informatie aan niet-vertrouwde bellers.

Constructors

Name Description
XmlSchemaElement()

Initialiseert een nieuw exemplaar van de XmlSchemaElement klasse.

Eigenschappen

Name Description
Annotation

Hiermee haalt u de eigenschap op of stelt u deze annotation in.

(Overgenomen van XmlSchemaAnnotated)
Block

Haalt een afleiding op of stelt deze Block in.

BlockResolved

Haalt de waarde na de compilatie van de Block eigenschap op.

Constraints

Hiermee haalt u de verzameling beperkingen voor het element op.

DefaultValue

Hiermee wordt de standaardwaarde van het element opgehaald of ingesteld als de inhoud een eenvoudig type of inhoud van het element is textOnly.

ElementSchemaType

Hiermee haalt u een XmlSchemaType object op dat het type element aangeeft op basis van de SchemaType of SchemaTypeName waarden van het element.

ElementType
Verouderd.
Verouderd.
Verouderd.

Hiermee wordt een CLR-object (Common Language Runtime) opgehaald op basis van het XmlSchemaElement element of XmlSchemaElement het element, dat de waarde na de compilatie van de ElementType eigenschap bevat.

Final

Hiermee wordt de Final eigenschap ophaalt of ingesteld om aan te geven dat er geen verdere afleidingen zijn toegestaan.

FinalResolved

Haalt de waarde na de compilatie van de Final eigenschap op.

FixedValue

Hiermee haalt u de vaste waarde op of stelt u deze in.

Form

Hiermee haalt u het formulier voor het element op of stelt u het in.

Id

Hiermee haalt u de tekenreeks-id op of stelt u deze in.

(Overgenomen van XmlSchemaAnnotated)
IsAbstract

Hiermee wordt informatie opgehaald of ingesteld om aan te geven of het element in een exemplaardocument kan worden gebruikt.

IsNillable

Hiermee wordt informatie opgehaald of ingesteld die aangeeft of xsi:nil dit kan gebeuren in de instantiegegevens. Geeft aan of een expliciete nil-waarde kan worden toegewezen aan het element.

LineNumber

Hiermee haalt u het regelnummer op in het bestand waarnaar het schema element verwijst.

(Overgenomen van XmlSchemaObject)
LinePosition

Hiermee haalt u de lijnpositie op in het bestand waarnaar het schema element verwijst.

(Overgenomen van XmlSchemaObject)
MaxOccurs

Hiermee haalt of stelt u het maximum aantal keren dat het deeltje kan optreden.

(Overgenomen van XmlSchemaParticle)
MaxOccursString

Hiermee wordt het getal opgehaald of ingesteld als een tekenreekswaarde. Maximum aantal keren dat het deeltje kan optreden.

(Overgenomen van XmlSchemaParticle)
MinOccurs

Hiermee haalt of stelt u het minimum aantal keren dat het deeltje kan optreden.

(Overgenomen van XmlSchemaParticle)
MinOccursString

Hiermee wordt het getal opgehaald of ingesteld als een tekenreekswaarde. Het minimum aantal keren dat het deeltje kan optreden.

(Overgenomen van XmlSchemaParticle)
Name

Hiermee haalt u de naam van het element op of stelt u deze in.

Namespaces

Hiermee wordt het XmlSerializerNamespaces te gebruiken met dit schemaobject opgehaald of ingesteld.

(Overgenomen van XmlSchemaObject)
Parent

Hiermee haalt u het bovenliggende item op of stelt u deze XmlSchemaObjectin.

(Overgenomen van XmlSchemaObject)
QualifiedName

Hiermee haalt u de werkelijke gekwalificeerde naam voor het opgegeven element op.

RefName

Hiermee haalt u de verwijzingsnaam op van een element dat in dit schema is gedeclareerd (of een ander schema dat wordt aangegeven door de opgegeven naamruimte).

SchemaType

Hiermee haalt u het type van het element op of stelt u dit in. Dit kan een complex type of een eenvoudig type zijn.

SchemaTypeName

Hiermee haalt u de naam op van een ingebouwd gegevenstype dat is gedefinieerd in dit schema of een ander schema dat wordt aangegeven door de opgegeven naamruimte.

SourceUri

Hiermee wordt de bronlocatie opgehaald of ingesteld voor het bestand dat het schema heeft geladen.

(Overgenomen van XmlSchemaObject)
SubstitutionGroup

Hiermee wordt de naam opgehaald of ingesteld van een element dat wordt vervangen door dit element.

UnhandledAttributes

Hiermee worden de gekwalificeerde kenmerken opgehaald of ingesteld die niet behoren tot de doelnaamruimte van het huidige schema.

(Overgenomen van XmlSchemaAnnotated)

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op