XmlSchemaAttribute Classe

Definição

Representa o attribute elemento do Esquema XML conforme especificado pelo World Wide Web Consortium (W3C). Os atributos fornecem informação adicional para outros elementos do documento. A etiqueta de atributo está aninhada entre as etiquetas do elemento de um documento para o esquema. O documento XML apresenta atributos como itens nomeados na etiqueta de abertura de um elemento.

public ref class XmlSchemaAttribute : System::Xml::Schema::XmlSchemaAnnotated
public class XmlSchemaAttribute : System.Xml.Schema.XmlSchemaAnnotated
type XmlSchemaAttribute = class
    inherit XmlSchemaAnnotated
Public Class XmlSchemaAttribute
Inherits XmlSchemaAnnotated
Herança

Exemplos

O exemplo seguinte cria o attribute elemento.

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

class XMLSchemaExamples
{
    public static void Main()
    {

        XmlSchema schema = new XmlSchema();

        // <xs:attribute name="mybaseattribute">
        XmlSchemaAttribute attributeBase = new XmlSchemaAttribute();
        schema.Items.Add(attributeBase);
        attributeBase.Name = "mybaseattribute";

        // <xs:simpleType>
        XmlSchemaSimpleType simpleType = new XmlSchemaSimpleType();
        attributeBase.SchemaType = simpleType;

        // <xs:restriction base="integer">
        XmlSchemaSimpleTypeRestriction restriction = new XmlSchemaSimpleTypeRestriction();
        simpleType.Content = restriction;
        restriction.BaseTypeName = new XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema");

        // <xs:maxInclusive value="1000"/>
        XmlSchemaMaxInclusiveFacet maxInclusive = new XmlSchemaMaxInclusiveFacet();
        restriction.Facets.Add(maxInclusive);
        maxInclusive.Value = "1000";

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

        // <xs:attribute ref="mybaseattribute"/>
        XmlSchemaAttribute attributeBaseRef = new XmlSchemaAttribute();
        complexType.Attributes.Add(attributeBaseRef);
        attributeBaseRef.RefName = new XmlQualifiedName("mybaseattribute");

        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 Explicit On
Option Strict On

Imports System.Xml
Imports System.Xml.Schema

Class XMLSchemaExamples
    Public Shared Sub Main()
        Dim schema As New XmlSchema()

        ' <xs:attribute name="mybaseattribute">
        Dim attributeBase As New XmlSchemaAttribute()
        schema.Items.Add(attributeBase)
        attributeBase.Name = "mybaseattribute"

        ' <xs:simpleType>
        Dim simpleType As New XmlSchemaSimpleType()
        attributeBase.SchemaType = simpleType

        ' <xs:restriction base="integer">
        Dim restriction As New XmlSchemaSimpleTypeRestriction()
        simpleType.Content = restriction
        restriction.BaseTypeName = New XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema")

        ' <xs:maxInclusive value="1000"/>
        Dim maxInclusive As New XmlSchemaMaxInclusiveFacet()
        restriction.Facets.Add(maxInclusive)
        maxInclusive.Value = "1000"

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

        ' <xs:attribute ref="mybaseattribute"/>
        Dim attributeBaseRef As New XmlSchemaAttribute()
        complexType.Attributes.Add(attributeBaseRef)
        attributeBaseRef.RefName = New XmlQualifiedName("mybaseattribute")

        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 seguinte ficheiro XML é gerado para o exemplo de código anterior.


<?xml version="1.0" encoding="IBM437"?>
<xs:schema  xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:attribute name="mybaseattribute">
        <xs:simpleType>
            <xs:restriction base="xs:integer">
                <xs:maxInclusive value="1000" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:complexType name="myComplexType">
        <xs:attribute ref="mybaseattribute" />
    </xs:complexType>
</xs:schema>

Observações

As declarações de atributos podem estar presentes como elementos filhos do schema elemento (com âmbito global) ou dentro de definições complexas de tipos. Para tipos complexos, as declarações de atributos podem estar presentes como declarações locais ou referências a atributos com âmbito global. Tanto as declarações globais como as locais têm o atributo de tipo opcional que se refere a um tipo simples já existente. Se o atributo de tipo opcional não for utilizado, a declaração de atributo (global ou local) deve definir um tipo simples local.

Construtores

Name Description
XmlSchemaAttribute()

Inicializa uma nova instância da XmlSchemaAttribute classe.

Propriedades

Name Description
Annotation

Obtém ou definem a annotation propriedade.

(Herdado de XmlSchemaAnnotated)
AttributeSchemaType

Obtém um XmlSchemaSimpleType objeto que representa o tipo do atributo com base no SchemaType ou SchemaTypeName do atributo.

AttributeType
Obsoleto.
Obsoleto.
Obsoleto.

Obtém o objeto de execução de linguagem comum (CLR) com base no SchemaType ou SchemaTypeName do atributo que detém o valor pós-compilação da AttributeType propriedade.

DefaultValue

Obtém ou define o valor padrão do atributo.

FixedValue

Obtém ou define o valor fixo para o atributo.

Form

Obtém ou define a forma do atributo.

Id

Obtém ou define o id da cadeia.

(Herdado de XmlSchemaAnnotated)
LineNumber

Obtém ou define o número da linha no ficheiro a que o schema elemento se refere.

(Herdado de XmlSchemaObject)
LinePosition

Obtém ou define a posição da linha no ficheiro a que o schema elemento se refere.

(Herdado de XmlSchemaObject)
Name

Recebe ou define o nome do atributo.

Namespaces

Obtém ou define o XmlSerializerNamespaces para usar com este objeto de esquema.

(Herdado de XmlSchemaObject)
Parent

Obtém ou define o pai deste XmlSchemaObject.

(Herdado de XmlSchemaObject)
QualifiedName

Recebe o nome qualificado para o atributo.

RefName

Recebe ou define o nome de um atributo declarado neste esquema (ou outro esquema indicado pelo namespace especificado).

SchemaType

Obtém ou define o tipo de atributo para um tipo simples.

SchemaTypeName

Recebe ou define o nome do tipo simples definido neste esquema (ou outro esquema indicado pelo namespace especificado).

SourceUri

Obtém ou define a localização de origem do ficheiro que carregou o esquema.

(Herdado de XmlSchemaObject)
UnhandledAttributes

Obtém ou define os atributos qualificados que não pertencem ao namespace de destino do esquema atual.

(Herdado de XmlSchemaAnnotated)
Use

Obtém ou define informação sobre como o atributo é usado.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a