XmlSchemaAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa el elemento attribute
del esquema XML, tal y como lo especifica el consorcio World Wide Web (W3C). Los atributos facilitan información adicional sobre otros elementos de documento. La etiqueta de atributo se anida entre las etiquetas de un elemento de documento del esquema. El documento XML muestra los atributos como elementos con nombre en la etiqueta de apertura de un 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
- Herencia
Ejemplos
En el ejemplo siguiente se crea el attribute
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:attribute name="mybaseattribute">
XmlSchemaAttribute^ attributeBase = gcnew XmlSchemaAttribute();
schema->Items->Add(attributeBase);
attributeBase->Name = "mybaseattribute";
// <xs:simpleType>
XmlSchemaSimpleType^ simpleType = gcnew XmlSchemaSimpleType();
attributeBase->SchemaType = simpleType;
// <xs:restriction base="integer">
XmlSchemaSimpleTypeRestriction^ restriction = gcnew XmlSchemaSimpleTypeRestriction();
simpleType->Content = restriction;
restriction->BaseTypeName = gcnew XmlQualifiedName("integer", "http://www.w3.org/2001/XMLSchema");
// <xs:maxInclusive value="1000"/>
XmlSchemaMaxInclusiveFacet^ maxInclusive = gcnew XmlSchemaMaxInclusiveFacet();
restriction->Facets->Add(maxInclusive);
maxInclusive->Value = "1000";
// <xs:complexType name="myComplexType">
XmlSchemaComplexType^ complexType = gcnew XmlSchemaComplexType();
schema->Items->Add(complexType);
complexType->Name = "myComplexType";
// <xs:attribute ref="mybaseattribute"/>
XmlSchemaAttribute^ attributeBaseRef = gcnew XmlSchemaAttribute();
complexType->Attributes->Add(attributeBaseRef);
attributeBaseRef->RefName = gcnew XmlQualifiedName("mybaseattribute");
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: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
El siguiente archivo XML se genera para el ejemplo 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>
Comentarios
Las declaraciones de atributo pueden estar presentes como elementos secundarios del schema
elemento (con ámbito global) o dentro de definiciones de tipo complejas. Para los tipos complejos, las declaraciones de atributos pueden estar presentes en forma de declaraciones locales o de referencias a atributos con ámbito global. Tanto las declaraciones de atributos globales como locales tienen el atributo de tipo opcional que hace referencia a un tipo simple existente. Si no se usa el atributo de tipo opcional, la declaración de atributo (global o local) debe definir un tipo simple local.
Constructores
XmlSchemaAttribute() |
Inicializa una nueva instancia de la clase XmlSchemaAttribute. |
Propiedades
Annotation |
Obtiene o establece la propiedad |
AttributeSchemaType |
Obtiene un objeto XmlSchemaSimpleType que representa el tipo del atributo basado en SchemaType o SchemaTypeName del atributo. |
AttributeType |
Obsoleto.
Obsoleto.
Obsoleto.
Obtiene el objeto de Common Language Runtime (CLR) en función del SchemaType o del SchemaTypeName del atributo que contiene el valor posterior a la compilación de la propiedad |
DefaultValue |
Obtiene o establece el valor predeterminado del atributo. |
FixedValue |
Obtiene o establece el valor fijo del atributo. |
Form |
Obtiene o establece el formato del atributo. |
Id |
Obtiene o establece el identificador de cadena. (Heredado de XmlSchemaAnnotated) |
LineNumber |
Obtiene o establece el número de línea del archivo al que hace referencia el elemento |
LinePosition |
Obtiene o establece la posición de la línea en el archivo al que hace referencia el elemento |
Name |
Obtiene o establece el nombre del atributo. |
Namespaces |
Obtiene o establece el objeto XmlSerializerNamespaces que se va a utilizar con este objeto de esquema. (Heredado de XmlSchemaObject) |
Parent |
Obtiene o establece el elemento primario de este XmlSchemaObject. (Heredado de XmlSchemaObject) |
QualifiedName |
Obtiene el nombre completo del atributo. |
RefName |
Obtiene o establece el nombre de un atributo declarado en este esquema (u otro esquema indicado por el espacio de nombres especificado). |
SchemaType |
Obtiene el tipo de atributo o establece el tipo de atributo en un tipo simple. |
SchemaTypeName |
Obtiene o establece el nombre del tipo simple definido en este esquema (u otro esquema indicado por el espacio de nombres especificado). |
SourceUri |
Obtiene o establece la ubicación de origen del archivo que cargó el esquema. (Heredado de XmlSchemaObject) |
UnhandledAttributes |
Obtiene o establece los atributos calificados que no pertenecen al espacio de nombres de destino del esquema actual. (Heredado de XmlSchemaAnnotated) |
Use |
Obtiene o establece información sobre la forma de usar el atributo. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |