XmlSchemaComplexContent 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 complexContent
del esquema XML como especificado por el Consorcio WWC (W3C). Esta clase representa el modelo de contenido complejo para los tipos complejos. Contiene extensiones o restricciones con respecto a un tipo complejo que solo contiene elementos o contenido mixto.
public ref class XmlSchemaComplexContent : System::Xml::Schema::XmlSchemaContentModel
public class XmlSchemaComplexContent : System.Xml.Schema.XmlSchemaContentModel
type XmlSchemaComplexContent = class
inherit XmlSchemaContentModel
Public Class XmlSchemaComplexContent
Inherits XmlSchemaContentModel
- Herencia
Ejemplos
En el ejemplo siguiente se crea un complexContent
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:complexType name="address">
XmlSchemaComplexType^ address = gcnew XmlSchemaComplexType();
schema->Items->Add(address);
address->Name = "address";
// <xs:sequence>
XmlSchemaSequence^ sequence = gcnew XmlSchemaSequence();
address->Particle = sequence;
// <xs:element name="name" type="xs:string"/>
XmlSchemaElement^ elementName = gcnew XmlSchemaElement();
sequence->Items->Add(elementName);
elementName->Name = "name";
elementName->SchemaTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="street" type="xs:string"/>
XmlSchemaElement^ elementStreet = gcnew XmlSchemaElement();
sequence->Items->Add(elementStreet);
elementStreet->Name = "street";
elementStreet->SchemaTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="city" type="xs:string"/>
XmlSchemaElement^ elementCity = gcnew XmlSchemaElement();
sequence->Items->Add(elementCity);
elementCity->Name = "city";
elementCity->SchemaTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:complexType name="USAddress">
XmlSchemaComplexType^ USAddress = gcnew XmlSchemaComplexType();
schema->Items->Add(USAddress);
USAddress->Name = "USAddress";
// <xs:complexContent>
XmlSchemaComplexContent^ complexContent = gcnew XmlSchemaComplexContent();
USAddress->ContentModel = complexContent;
// <xs:extension base="address">
XmlSchemaComplexContentExtension^ extensionAddress = gcnew XmlSchemaComplexContentExtension();
complexContent->Content = extensionAddress;
extensionAddress->BaseTypeName = gcnew XmlQualifiedName("address");
// <xs:sequence>
XmlSchemaSequence^ sequence2 = gcnew XmlSchemaSequence();
extensionAddress->Particle = sequence2;
// <xs:element name="state" type="xs:string"/>
XmlSchemaElement^ elementUSState = gcnew XmlSchemaElement();
sequence2->Items->Add(elementUSState);
elementUSState->Name = "state";
elementUSState->SchemaTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="zipcode" type="xs:positiveInteger"/>
XmlSchemaElement^ elementZipcode = gcnew XmlSchemaElement();
sequence2->Items->Add(elementZipcode);
elementZipcode->Name = "zipcode";
elementZipcode->SchemaTypeName = gcnew XmlQualifiedName("positiveInteger", "http://www.w3.org/2001/XMLSchema");
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:complexType name="address">
XmlSchemaComplexType address = new XmlSchemaComplexType();
schema.Items.Add(address);
address.Name = "address";
// <xs:sequence>
XmlSchemaSequence sequence = new XmlSchemaSequence();
address.Particle = sequence;
// <xs:element name="name" type="xs:string"/>
XmlSchemaElement elementName = new XmlSchemaElement();
sequence.Items.Add(elementName);
elementName.Name = "name";
elementName.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="street" type="xs:string"/>
XmlSchemaElement elementStreet = new XmlSchemaElement();
sequence.Items.Add(elementStreet);
elementStreet.Name = "street";
elementStreet.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="city" type="xs:string"/>
XmlSchemaElement elementCity = new XmlSchemaElement();
sequence.Items.Add(elementCity);
elementCity.Name = "city";
elementCity.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:complexType name="USAddress">
XmlSchemaComplexType USAddress = new XmlSchemaComplexType();
schema.Items.Add(USAddress);
USAddress.Name = "USAddress";
// <xs:complexContent>
XmlSchemaComplexContent complexContent = new XmlSchemaComplexContent();
USAddress.ContentModel = complexContent;
// <xs:extension base="address">
XmlSchemaComplexContentExtension extensionAddress = new XmlSchemaComplexContentExtension();
complexContent.Content = extensionAddress;
extensionAddress.BaseTypeName = new XmlQualifiedName("address");
// <xs:sequence>
XmlSchemaSequence sequence2 = new XmlSchemaSequence();
extensionAddress.Particle = sequence2;
// <xs:element name="state" type="xs:string"/>
XmlSchemaElement elementUSState = new XmlSchemaElement();
sequence2.Items.Add(elementUSState);
elementUSState.Name = "state";
elementUSState.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="zipcode" type="xs:positiveInteger"/>
XmlSchemaElement elementZipcode = new XmlSchemaElement();
sequence2.Items.Add(elementZipcode);
elementZipcode.Name = "zipcode";
elementZipcode.SchemaTypeName = new XmlQualifiedName("positiveInteger", "http://www.w3.org/2001/XMLSchema");
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:complexType name="address">
Dim address As New XmlSchemaComplexType()
schema.Items.Add(address)
address.Name = "address"
' <xs:sequence>
Dim sequence As New XmlSchemaSequence()
address.Particle = sequence
' <xs:element name="name" type="xs:string"/>
Dim elementName As New XmlSchemaElement()
sequence.Items.Add(elementName)
elementName.Name = "name"
elementName.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="street" type="xs:string"/>
Dim elementStreet As New XmlSchemaElement()
sequence.Items.Add(elementStreet)
elementStreet.Name = "street"
elementStreet.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="city" type="xs:string"/>
Dim elementCity As New XmlSchemaElement()
sequence.Items.Add(elementCity)
elementCity.Name = "city"
elementCity.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:complexType name="USAddress">
Dim USAddress As New XmlSchemaComplexType()
schema.Items.Add(USAddress)
USAddress.Name = "USAddress"
' <xs:complexContent>
Dim complexContent As New XmlSchemaComplexContent()
USAddress.ContentModel = complexContent
' <xs:extension base="address">
Dim extensionAddress As New XmlSchemaComplexContentExtension()
complexContent.Content = extensionAddress
extensionAddress.BaseTypeName = New XmlQualifiedName("address")
' <xs:sequence>
Dim sequence2 As New XmlSchemaSequence()
extensionAddress.Particle = sequence2
' <xs:element name="state" type="xs:string"/>
Dim elementUSState As New XmlSchemaElement()
sequence2.Items.Add(elementUSState)
elementUSState.Name = "state"
elementUSState.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="zipcode" type="xs:positiveInteger"/>
Dim elementZipcode As New XmlSchemaElement()
sequence2.Items.Add(elementZipcode)
elementZipcode.Name = "zipcode"
elementZipcode.SchemaTypeName = New XmlQualifiedName("positiveInteger", "http://www.w3.org/2001/XMLSchema")
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:complexType name="address">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="USAddress">
<xs:complexContent mixed="false">
<xs:extension base="address">
<xs:sequence>
<xs:element name="state" type="xs:string"/>
<xs:element name="zipcode" type="xs:positiveInteger"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
Constructores
XmlSchemaComplexContent() |
Inicializa una nueva instancia de la clase XmlSchemaComplexContent. |
Propiedades
Annotation |
Obtiene o establece la propiedad |
Content |
Obtiene o establece el contenido. |
Id |
Obtiene o establece el identificador de cadena. (Heredado de XmlSchemaAnnotated) |
IsMixed |
Obtiene o establece la información que determina si el tipo tiene un modelo de contenido mixto. |
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 |
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) |
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) |
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) |