Compartilhar via


XmlSchemaEnumerationFacet Classe

Definição

Representa a faceta enumeration do Esquema XML, conforme especificado pelo W3C (World Wide Web Consortium). Essa classe especifica uma lista de valores válidos para um elemento simpleType. A declaração está contida em uma declaração restriction.

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

Exemplos

O exemplo a seguir mostra o uso da XmlSchemaEnumerationFacet classe.

#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:simpleType name="SizeType">
        XmlSchemaSimpleType^ SizeType = gcnew XmlSchemaSimpleType();
        SizeType->Name = "SizeType";

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

        // <xs:enumeration value="Small"/>
        XmlSchemaEnumerationFacet^ enumerationSmall = gcnew XmlSchemaEnumerationFacet();
        enumerationSmall->Value = "Small";
        restriction->Facets->Add(enumerationSmall);

        // <xs:enumeration value="Medium"/>
        XmlSchemaEnumerationFacet^ enumerationMedium = gcnew XmlSchemaEnumerationFacet();
        enumerationMedium->Value = "Medium";
        restriction->Facets->Add(enumerationMedium);

        // <xs:enumeration value="Large"/>
        XmlSchemaEnumerationFacet^ enumerationLarge = gcnew XmlSchemaEnumerationFacet();
        enumerationLarge->Value = "Large";
        restriction->Facets->Add(enumerationLarge);

        SizeType->Content = restriction;

        schema->Items->Add(SizeType);

        // <xs:element name="Item">
        XmlSchemaElement^ elementItem = gcnew XmlSchemaElement();
        elementItem->Name = "Item";

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

        // <xs:attribute name="Size" type="SizeType"/>
        XmlSchemaAttribute^ attributeSize = gcnew XmlSchemaAttribute();
        attributeSize->Name = "Size";
        attributeSize->SchemaTypeName = gcnew XmlQualifiedName("SizeType", "");
        complexType->Attributes->Add(attributeSize);

        elementItem->SchemaType = complexType;

        schema->Items->Add(elementItem);

        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:simpleType name="SizeType">
        XmlSchemaSimpleType SizeType = new XmlSchemaSimpleType();
        SizeType.Name = "SizeType";

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

        // <xs:enumeration value="Small"/>
        XmlSchemaEnumerationFacet enumerationSmall = new XmlSchemaEnumerationFacet();
        enumerationSmall.Value = "Small";
        restriction.Facets.Add(enumerationSmall);

        // <xs:enumeration value="Medium"/>
        XmlSchemaEnumerationFacet enumerationMedium = new XmlSchemaEnumerationFacet();
        enumerationMedium.Value = "Medium";
        restriction.Facets.Add(enumerationMedium);

        // <xs:enumeration value="Large"/>
        XmlSchemaEnumerationFacet enumerationLarge = new XmlSchemaEnumerationFacet();
        enumerationLarge.Value = "Large";
        restriction.Facets.Add(enumerationLarge);

        SizeType.Content = restriction;

        schema.Items.Add(SizeType);

        // <xs:element name="Item">
        XmlSchemaElement elementItem = new XmlSchemaElement();
        elementItem.Name = "Item";

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

        // <xs:attribute name="Size" type="SizeType"/>
        XmlSchemaAttribute attributeSize = new XmlSchemaAttribute();
        attributeSize.Name = "Size";
        attributeSize.SchemaTypeName = new XmlQualifiedName("SizeType", "");
        complexType.Attributes.Add(attributeSize);

        elementItem.SchemaType = complexType;

        schema.Items.Add(elementItem);

        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:simpleType name="SizeType">
        Dim SizeType As New XmlSchemaSimpleType()
        SizeType.Name = "SizeType"

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

        ' <xs:enumeration value="Small"/>
        Dim enumerationSmall As New XmlSchemaEnumerationFacet()
        enumerationSmall.Value = "Small"
        restriction.Facets.Add(enumerationSmall)

        ' <xs:enumeration value="Medium"/>
        Dim enumerationMedium As New XmlSchemaEnumerationFacet()
        enumerationMedium.Value = "Medium"
        restriction.Facets.Add(enumerationMedium)

        ' <xs:enumeration value="Large"/>
        Dim enumerationLarge As New XmlSchemaEnumerationFacet()
        enumerationLarge.Value = "Large"
        restriction.Facets.Add(enumerationLarge)

        SizeType.Content = restriction

        schema.Items.Add(SizeType)

        ' <xs:element name="Item">
        Dim elementItem As New XmlSchemaElement()
        elementItem.Name = "Item"

        ' <xs:complexType>
        Dim complexType As New XmlSchemaComplexType()

        ' <xs:attribute name="Size" type="SizeType"/>
        Dim attributeSize As New XmlSchemaAttribute()
        attributeSize.Name = "Size"
        attributeSize.SchemaTypeName = New XmlQualifiedName("SizeType", "")
        complexType.Attributes.Add(attributeSize)

        elementItem.SchemaType = complexType

        schema.Items.Add(elementItem)

        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 é 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:simpleType name="SizeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Small" />
      <xs:enumeration value="Medium" />
      <xs:enumeration value="Large" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="Item">
    <xs:complexType>
      <xs:attribute name="Size" type="SizeType" />
    </xs:complexType>
  </xs:element>
</xs:schema>

Construtores

XmlSchemaEnumerationFacet()

Inicializa uma nova instância da classe XmlSchemaEnumerationFacet.

Propriedades

Annotation

Obtém ou define a propriedade annotation.

(Herdado de XmlSchemaAnnotated)
Id

Obtém ou define a ID de cadeia de caracteres.

(Herdado de XmlSchemaAnnotated)
IsFixed

Obtém ou define as informações que indicam que esta faceta é fixa.

(Herdado de XmlSchemaFacet)
LineNumber

Obtém ou define o número de linha no arquivo ao qual o elemento schema se refere.

(Herdado de XmlSchemaObject)
LinePosition

Obtém ou define a posição da linha no arquivo ao qual o elemento schema se refere.

(Herdado de XmlSchemaObject)
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)
SourceUri

Obtém ou define o local de origem para o arquivo 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)
Value

Obtém ou define o atributo value da faceta.

(Herdado de XmlSchemaFacet)

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)

Aplica-se a