XmlSchemaComplexContent Klas

Definitie

Vertegenwoordigt het element van het complexContent XML-schema zoals opgegeven door het World Wide Web Consortium (W3C). Deze klasse vertegenwoordigt het complexe inhoudsmodel voor complexe typen. Het bevat extensies of beperkingen voor een complex type dat alleen elementen of gemengde inhoud bevat.

public ref class XmlSchemaComplexContent : System::Xml::Schema::XmlSchemaContentModel
public class XmlSchemaComplexContent : System.Xml.Schema.XmlSchemaContentModel
type XmlSchemaComplexContent = class
    inherit XmlSchemaContentModel
Public Class XmlSchemaComplexContent
Inherits XmlSchemaContentModel
Overname

Voorbeelden

In het volgende voorbeeld wordt een complexContent element gemaakt.

using System;
using System.Xml;
using System.Xml.Schema;

class XMLSchemaExamples
{
    public static void Main()
    {

        XmlSchema schema = new XmlSchema();

        // <xs:complexType name="address">
        XmlSchemaComplexType address = new XmlSchemaComplexType();
        schema.Items.Add(address);
        address.Name = "address";

        // <xs:sequence>
        XmlSchemaSequence sequence = new XmlSchemaSequence();
        address.Particle = sequence;

        // <xs:element name="name"   type="xs:string"/>
        XmlSchemaElement elementName = new XmlSchemaElement();
        sequence.Items.Add(elementName);
        elementName.Name = "name";
        elementName.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:element name="street"   type="xs:string"/>
        XmlSchemaElement elementStreet = new XmlSchemaElement();
        sequence.Items.Add(elementStreet);
        elementStreet.Name = "street";
        elementStreet.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:element name="city"   type="xs:string"/>
        XmlSchemaElement elementCity = new XmlSchemaElement();
        sequence.Items.Add(elementCity);
        elementCity.Name = "city";
        elementCity.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:complexType name="USAddress">
        XmlSchemaComplexType USAddress = new XmlSchemaComplexType();
        schema.Items.Add(USAddress);
        USAddress.Name = "USAddress";

        // <xs:complexContent>
        XmlSchemaComplexContent complexContent = new XmlSchemaComplexContent();
        USAddress.ContentModel = complexContent;

        // <xs:extension base="address">
        XmlSchemaComplexContentExtension extensionAddress = new XmlSchemaComplexContentExtension();
        complexContent.Content = extensionAddress;
        extensionAddress.BaseTypeName = new XmlQualifiedName("address");

        // <xs:sequence>
        XmlSchemaSequence sequence2 = new XmlSchemaSequence();
        extensionAddress.Particle = sequence2;

        // <xs:element name="state" type="xs:string"/>
        XmlSchemaElement elementUSState = new XmlSchemaElement();
        sequence2.Items.Add(elementUSState);
        elementUSState.Name = "state";
        elementUSState.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:element name="zipcode" type="xs:positiveInteger"/>
        XmlSchemaElement elementZipcode = new XmlSchemaElement();
        sequence2.Items.Add(elementZipcode);
        elementZipcode.Name = "zipcode";
        elementZipcode.SchemaTypeName = new XmlQualifiedName("positiveInteger", "http://www.w3.org/2001/XMLSchema");

        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:complexType name="address">
        Dim address As New XmlSchemaComplexType()
        schema.Items.Add(address)
        address.Name = "address"

        ' <xs:sequence>
        Dim sequence As New XmlSchemaSequence()
        address.Particle = sequence

        ' <xs:element name="name"   type="xs:string"/>
        Dim elementName As New XmlSchemaElement()
        sequence.Items.Add(elementName)
        elementName.Name = "name"
        elementName.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

        ' <xs:element name="street"   type="xs:string"/>
        Dim elementStreet As New XmlSchemaElement()
        sequence.Items.Add(elementStreet)
        elementStreet.Name = "street"
        elementStreet.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

        ' <xs:element name="city"   type="xs:string"/>
        Dim elementCity As New XmlSchemaElement()
        sequence.Items.Add(elementCity)
        elementCity.Name = "city"
        elementCity.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

        ' <xs:complexType name="USAddress">
        Dim USAddress As New XmlSchemaComplexType()
        schema.Items.Add(USAddress)
        USAddress.Name = "USAddress"

        ' <xs:complexContent>
        Dim complexContent As New XmlSchemaComplexContent()
        USAddress.ContentModel = complexContent

        ' <xs:extension base="address">
        Dim extensionAddress As New XmlSchemaComplexContentExtension()
        complexContent.Content = extensionAddress
        extensionAddress.BaseTypeName = New XmlQualifiedName("address")

        ' <xs:sequence>
        Dim sequence2 As New XmlSchemaSequence()
        extensionAddress.Particle = sequence2

        ' <xs:element name="state" type="xs:string"/>
        Dim elementUSState As New XmlSchemaElement()
        sequence2.Items.Add(elementUSState)
        elementUSState.Name = "state"
        elementUSState.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")


        ' <xs:element name="zipcode" type="xs:positiveInteger"/>
        Dim elementZipcode As New XmlSchemaElement()
        sequence2.Items.Add(elementZipcode)
        elementZipcode.Name = "zipcode"
        elementZipcode.SchemaTypeName = New XmlQualifiedName("positiveInteger", "http://www.w3.org/2001/XMLSchema")

        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 gegenereerd voor het voorgaande codevoorbeeld.


<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="address">
        <xs:sequence>
            <xs:element name="name"   type="xs:string"/>
            <xs:element name="street" type="xs:string"/>
            <xs:element name="city"   type="xs:string"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="USAddress">
        <xs:complexContent mixed="false">
            <xs:extension base="address">
                <xs:sequence>
                    <xs:element name="state" type="xs:string"/>
                    <xs:element name="zipcode" type="xs:positiveInteger"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>

Constructors

Name Description
XmlSchemaComplexContent()

Initialiseert een nieuw exemplaar van de XmlSchemaComplexContent klasse.

Eigenschappen

Name Description
Annotation

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

(Overgenomen van XmlSchemaAnnotated)
Content

Hiermee haalt u de inhoud op of stelt u deze in.

Id

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

(Overgenomen van XmlSchemaAnnotated)
IsMixed

Hiermee wordt informatie opgehaald of ingesteld die bepaalt of het type een gemengd inhoudsmodel heeft.

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)
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)
SourceUri

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

(Overgenomen van XmlSchemaObject)
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