XmlSchemaComplexType Classe

Définition

Représente l'élément complexType issu d'un schéma XML comme spécifié par le W3C (World Wide Web Consortium). Cette classe définit un type complexe qui détermine l'ensemble des attributs et du contenu d'un élément.

public ref class XmlSchemaComplexType : System::Xml::Schema::XmlSchemaType
public class XmlSchemaComplexType : System.Xml.Schema.XmlSchemaType
type XmlSchemaComplexType = class
    inherit XmlSchemaType
Public Class XmlSchemaComplexType
Inherits XmlSchemaType
Héritage

Exemples

L’exemple suivant crée un complexType élément.

#using <mscorlib.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;

class XmlSchemaExamples
{
public:

    static void Main()
    {
        XmlSchema^ schema = gcnew XmlSchema();

        // <xs:element name="stringElementWithAnyAttribute">
        XmlSchemaElement^ element = gcnew XmlSchemaElement();
        schema->Items->Add(element);
        element->Name = "stringElementWithAnyAttribute";

        // <xs:complexType>
        XmlSchemaComplexType^ complexType = gcnew XmlSchemaComplexType();
        element->SchemaType = complexType;

        // <xs:simpleContent>
        XmlSchemaSimpleContent^ simpleContent = gcnew XmlSchemaSimpleContent();
        complexType->ContentModel = simpleContent;

        // <extension base= "xs:string">
        XmlSchemaSimpleContentExtension^ extension = gcnew XmlSchemaSimpleContentExtension();
        simpleContent->Content = extension;
        extension->BaseTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:anyAttribute namespace="##targetNamespace"/>
        XmlSchemaAnyAttribute^ anyAttribute = gcnew XmlSchemaAnyAttribute();
        extension->AnyAttribute = anyAttribute;
        anyAttribute->Namespace = "##targetNamespace";

        XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
        schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne);
        schemaSet->Add(schema);
        schemaSet->Compile();

        XmlSchema^ compiledSchema;

        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);
    }

    static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
    {
        Console::WriteLine(args->Message);
    }
};

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:element name="stringElementWithAnyAttribute">
        XmlSchemaElement element = new XmlSchemaElement();
        schema.Items.Add(element);
        element.Name = "stringElementWithAnyAttribute";

        // <xs:complexType>
        XmlSchemaComplexType complexType = new XmlSchemaComplexType();
        element.SchemaType = complexType;

        // <xs:simpleContent>
        XmlSchemaSimpleContent simpleContent = new XmlSchemaSimpleContent();
        complexType.ContentModel = simpleContent;

        // <extension base= "xs:string">
        XmlSchemaSimpleContentExtension extension = new XmlSchemaSimpleContentExtension();
        simpleContent.Content = extension;
        extension.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:anyAttribute namespace="##targetNamespace"/>
        XmlSchemaAnyAttribute anyAttribute = new XmlSchemaAnyAttribute();
        extension.AnyAttribute = anyAttribute;
        anyAttribute.Namespace = "##targetNamespace";

        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="stringElementWithAnyAttribute">
        Dim element As New XmlSchemaElement()
        schema.Items.Add(element)
        element.Name = "stringElementWithAnyAttribute"

        ' <xs:complexType>
        Dim complexType As New XmlSchemaComplexType()
        element.SchemaType = complexType

        ' <xs:simpleContent>
        Dim simpleContent As New XmlSchemaSimpleContent()
        complexType.ContentModel = simpleContent

        ' <extension base="xs:string">
        Dim extension As New XmlSchemaSimpleContentExtension()
        simpleContent.Content = extension
        extension.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

        ' <xs:anyAttribute namespace="##targetNamespace"/>
        Dim anyAttribute As New XmlSchemaAnyAttribute()
        extension.AnyAttribute = anyAttribute
        anyAttribute.Namespace = "##targetNamespace"

        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

Le fichier XML suivant est utilisé pour l’exemple de code précédent.

<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="stringElementWithAnyAttribute">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:anyAttribute namespace="##targetNamespace"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>
</xs:schema>

Remarques

Un élément peut être déclaré avec un attribut de type qui fait référence à un complexType élément qui définit la structure, le contenu et les attributs de cet élément.

Constructeurs

XmlSchemaComplexType()

Initialise une nouvelle instance de la classe XmlSchemaComplexType.

Propriétés

Annotation

Obtient ou définit la propriété annotation.

(Hérité de XmlSchemaAnnotated)
AnyAttribute

Obtient ou définit la valeur du composant XmlSchemaAnyAttribute de type complexe.

Attributes

Obtient la collection d’attributs pour le type complexe.

AttributeUses

Obtient la collection de tous les attributs compilés de ce type complexe et de ses types de base.

AttributeWildcard

Obtient la valeur postérieure à la compilation pour anyAttribute pour ce type complexe et son ou ses types de base.

BaseSchemaType
Obsolète.
Obsolète.
Obsolète.

Obtient le type d'objet de post-compilation ou le type de données en langage XSD (XML Schema Definition) intégré, l'élément simpleType ou l'élément complexType. Il s'agit d'une propriété de jeu d'informations postérieure à la compilation du schéma.

(Hérité de XmlSchemaType)
BaseXmlSchemaType

Obtient la valeur de post-compilation pour le type de base de ce type de schéma.

(Hérité de XmlSchemaType)
Block

Obtient ou définit l’attribut block.

BlockResolved

Obtient la valeur après la compilation du type dans le jeu d’informations (infoset) postérieur à la validation du schéma. Cette valeur indique comment le type est appliqué lorsque xsi:type est utilisé dans une instance de document.

ContentModel

Obtient ou définit le XmlSchemaContentModel postérieur à la compilation de ce type complexe.

ContentType

Obtient le modèle de contenu du type complexe qui contient la valeur postérieure à la compilation.

ContentTypeParticle

Obtient la partie qui contient la valeur de post-compilation de la particule ContentType.

Datatype

Obtient la valeur de post-compilation pour le type de données du type complexe.

(Hérité de XmlSchemaType)
DerivedBy

Obtient les informations de post-compilation sur la dérivation de cet élément à partir de son type de base.

(Hérité de XmlSchemaType)
Final

Obtient ou définit le dernier attribut de la dérivation de type qui indique si des dérivations supplémentaires sont autorisées.

(Hérité de XmlSchemaType)
FinalResolved

Obtient la valeur de post-compilation de la propriété Final.

(Hérité de XmlSchemaType)
Id

Obtient ou définit l'ID de chaîne.

(Hérité de XmlSchemaAnnotated)
IsAbstract

Obtient ou définit les informations qui déterminent si l'élément complexType peut être utilisé dans l'instance de document.

IsMixed

Obtient ou définit des informations qui déterminent si le type complexe possède un modèle de contenu mixte (balisage à l'intérieur du contenu).

LineNumber

Obtient ou définit le numéro de la ligne du fichier à laquelle l'élément schema fait référence.

(Hérité de XmlSchemaObject)
LinePosition

Obtient ou définit la position de la ligne du fichier à laquelle l'élément schema fait référence.

(Hérité de XmlSchemaObject)
Name

Obtient ou définit le nom du type.

(Hérité de XmlSchemaType)
Namespaces

Obtient ou définit le XmlSerializerNamespaces à utiliser avec cet objet de schéma.

(Hérité de XmlSchemaObject)
Parent

Obtient ou définit le parent de ce XmlSchemaObject.

(Hérité de XmlSchemaObject)
Particle

Obtient ou définit le type de compositeur comme l'une des classes XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll ou XmlSchemaSequence.

QualifiedName

Obtient le nom qualifié du type construit à partir de l'attribut Name de ce type. Il s'agit d'une propriété postérieure à la compilation du schéma.

(Hérité de XmlSchemaType)
SourceUri

Obtient ou définit l'emplacement de la source pour le fichier qui a chargé le schéma.

(Hérité de XmlSchemaObject)
TypeCode

Obtient le XmlTypeCode du type.

(Hérité de XmlSchemaType)
UnhandledAttributes

Obtient ou définit les attributs qualifiés qui n'appartiennent pas à l'espace de noms cible du schéma en cours.

(Hérité de XmlSchemaAnnotated)

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à