XmlSchemaComplexType Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa o elemento complexType
do esquema XML, conforme especificado pelo W3C (World Wide Web Consortium). Esta classe define um tipo complexo que determina o conjunto de atributos e o conteúdo de um elemento.
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
- Herança
Exemplos
O exemplo a seguir cria um complexType
elemento.
#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
O arquivo XML a seguir é usado para o exemplo de código anterior.
<?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>
Comentários
Um elemento pode ser declarado com um atributo de tipo que se refere a um complexType
elemento que define a estrutura, o conteúdo e os atributos desse elemento.
Construtores
XmlSchemaComplexType() |
Inicializa uma nova instância da classe XmlSchemaComplexType. |
Propriedades
Annotation |
Obtém ou define a propriedade |
AnyAttribute |
Obtém ou define o valor do componente XmlSchemaAnyAttribute do tipo complexo. |
Attributes |
Obtém a coleção de atributos para o tipo complexo. |
AttributeUses |
Obtém a coleção de todos os atributos compilados deste tipo complexo e seus tipos base. |
AttributeWildcard |
Obtém o valor de pós-compilação para |
BaseSchemaType |
Obsoleto.
Obsoleto.
Obsoleto.
Obtém o tipo de objeto pós-compilação ou o tipo de dados XSD (Linguagem de Definição de Esquema XML) interno, elemento simpleType ou elemento complexType. Esta é uma propriedade infoset pós-compilação do esquema. (Herdado de XmlSchemaType) |
BaseXmlSchemaType |
Obtém o valor pós-compilação para o tipo base desse tipo de esquema. (Herdado de XmlSchemaType) |
Block |
Obtém ou define o atributo |
BlockResolved |
Obtém o valor depois que o tipo foi compilado para o conjunto de informações de pós-validação de esquema (infoset). Esse valor indica como o tipo é imposto quando |
ContentModel |
Obtém ou define o XmlSchemaContentModel de pós-compilação deste tipo complexo. |
ContentType |
Obtém o modelo de conteúdo do tipo complexo que contém o valor de pós-compilação. |
ContentTypeParticle |
Obtém a partícula que contém o valor de pós-compilação da partícula ContentType. |
Datatype |
Obtém o valor de pós-compilação para o tipo de dados do tipo complexo. (Herdado de XmlSchemaType) |
DerivedBy |
Obtém as informações pós-compilação sobre como esse elemento foi derivado de seu tipo base. (Herdado de XmlSchemaType) |
Final |
Obtém ou define o atributo final da derivação de tipo que indica se mais derivações são permitidas. (Herdado de XmlSchemaType) |
FinalResolved |
Obtém o valor de pós-compilação da propriedade Final. (Herdado de XmlSchemaType) |
Id |
Obtém ou define a ID de cadeia de caracteres. (Herdado de XmlSchemaAnnotated) |
IsAbstract |
Obtém ou define as informações que determinam se o elemento |
IsMixed |
Obtém ou define as informações que determinam se o tipo complexo tem um modelo de conteúdo misto (marcação dentro do conteúdo). |
LineNumber |
Obtém ou define o número de linha no arquivo ao qual o elemento |
LinePosition |
Obtém ou define a posição da linha no arquivo ao qual o elemento |
Name |
Obtém ou define o nome do tipo. (Herdado de XmlSchemaType) |
Namespaces |
Obtém ou define o XmlSerializerNamespaces a ser usado com esse objeto de esquema. (Herdado de XmlSchemaObject) |
Parent |
Obtém ou define o pai deste XmlSchemaObject. (Herdado de XmlSchemaObject) |
Particle |
Obtém ou define o tipo de compositor como uma das classes XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll ou XmlSchemaSequence. |
QualifiedName |
Obtém o nome qualificado para o tipo construído com base no atributo |
SourceUri |
Obtém ou define o local de origem para o arquivo que carregou o esquema. (Herdado de XmlSchemaObject) |
TypeCode |
Obtém o XmlTypeCode do tipo. (Herdado de XmlSchemaType) |
UnhandledAttributes |
Obtém ou define os atributos qualificados que não pertencem ao namespace de destino do esquema atual. (Herdado de XmlSchemaAnnotated) |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |