XmlSchemaInclude 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 include
del esquema XML como especificado por el Consorcio WWC (W3C). Esta clase se usa para incluir declaraciones y definiciones a partir de un esquema externo. Las declaraciones y definiciones incluidas están disponibles a continuación para su procesamiento en el esquema contenedor.
public ref class XmlSchemaInclude : System::Xml::Schema::XmlSchemaExternal
public class XmlSchemaInclude : System.Xml.Schema.XmlSchemaExternal
type XmlSchemaInclude = class
inherit XmlSchemaExternal
Public Class XmlSchemaInclude
Inherits XmlSchemaExternal
- Herencia
Ejemplos
En el ejemplo siguiente se crea el include
elemento .
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
ref class ImportIncludeSample
{
private:
static void ValidationCallBack(Object^ sender, ValidationEventArgs^ args)
{
if (args->Severity == XmlSeverityType::Warning)
Console::Write("WARNING: ");
else if (args->Severity == XmlSeverityType::Error)
Console::Write("ERROR: ");
Console::WriteLine(args->Message);
}
public:
static void Main()
{
XmlSchema^ schema = gcnew XmlSchema();
schema->ElementFormDefault = XmlSchemaForm::Qualified;
schema->TargetNamespace = "http://www.w3.org/2001/05/XMLInfoset";
// <xs:import namespace="http://www.example.com/IPO" />
XmlSchemaImport^ import = gcnew XmlSchemaImport();
import->Namespace = "http://www.example.com/IPO";
schema->Includes->Add(import);
// <xs:include schemaLocation="example.xsd" />
XmlSchemaInclude^ include = gcnew XmlSchemaInclude();
include->SchemaLocation = "example.xsd";
schema->Includes->Add(include);
XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallBack);
schemaSet->Add(schema);
schemaSet->Compile();
XmlSchema^ compiledSchema = nullptr;
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);
}
};
int main()
{
ImportIncludeSample::Main();
return 0;
}
using System;
using System.Collections;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.Schema;
public class ImportIncludeSample
{
private static void ValidationCallBack(object sender, ValidationEventArgs args)
{
if (args.Severity == XmlSeverityType.Warning)
Console.Write("WARNING: ");
else if (args.Severity == XmlSeverityType.Error)
Console.Write("ERROR: ");
Console.WriteLine(args.Message);
}
public static void Main()
{
XmlSchema schema = new XmlSchema();
schema.ElementFormDefault = XmlSchemaForm.Qualified;
schema.TargetNamespace = "http://www.w3.org/2001/05/XMLInfoset";
// <xs:import namespace="http://www.example.com/IPO" />
XmlSchemaImport import = new XmlSchemaImport();
import.Namespace = "http://www.example.com/IPO";
schema.Includes.Add(import);
// <xs:include schemaLocation="example.xsd" />
XmlSchemaInclude include = new XmlSchemaInclude();
include.SchemaLocation = "example.xsd";
schema.Includes.Add(include);
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
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);
}/* Main() */
} //ImportIncludeSample
Imports System.Collections
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.Schema
Public Class ImportIncludeSample
Private Shared Sub ValidationCallBack(ByVal sender As Object, ByVal args As ValidationEventArgs)
If args.Severity = XmlSeverityType.Warning Then
Console.Write("WARNING: ")
Else
If args.Severity = XmlSeverityType.Error Then
Console.Write("ERROR: ")
End If
End If
Console.WriteLine(args.Message)
End Sub
Public Shared Sub Main()
Dim schema As New XmlSchema()
schema.ElementFormDefault = XmlSchemaForm.Qualified
schema.TargetNamespace = "http://www.w3.org/2001/05/XMLInfoset"
' <xs:import namespace="http://www.example.com/IPO" />
Dim import As New XmlSchemaImport()
import.Namespace = "http://www.example.com/IPO"
schema.Includes.Add(import)
' <xs:include schemaLocation="example.xsd" />
Dim include As New XmlSchemaInclude()
include.SchemaLocation = "example.xsd"
schema.Includes.Add(include)
Dim schemaSet As New XmlSchemaSet()
AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallBack
schemaSet.Add(schema)
schemaSet.Compile()
Dim compiledSchema As XmlSchema = Nothing
For Each schema1 As XmlSchema In schemaSet.Schemas()
compiledSchema = schema1
Next
Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(New NameTable())
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
compiledSchema.Write(Console.Out, nsmgr)
End Sub
End Class
'ImportIncludeSample
El siguiente CÓDIGO XML se genera para este ejemplo de código.
<?xml version="1.0" encoding="IBM437"?>
<schema elementFormDefault="qualified" targetNamespace="http://www.w3.org/2001/05/XMLInfoset" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://www.example.com/IPO" />
<include schemaLocation="example.xsd" />
</schema>
Comentarios
El documento de esquema incluido debe cumplir una de las condiciones siguientes:
El esquema incluido debe tener el mismo espacio de nombres de destino que el documento de esquema contenedor.
O BIEN
El esquema incluido no puede tener un especificado targetNamespace
; el targetNamespace
atributo debe ser NULL.
XmlSchemaInclude
agrega todos los componentes de esquema de los esquemas incluidos que tienen el mismo espacio de nombres de destino (o ningún espacio de nombres de destino especificado) al esquema contenedor.
Constructores
XmlSchemaInclude() |
Inicializa una nueva instancia de la clase XmlSchemaInclude. |
Propiedades
Annotation |
Obtiene o establece la propiedad |
Id |
Obtiene o establece el identificador de cadena. (Heredado de XmlSchemaExternal) |
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) |
Schema |
Obtiene o establece el |
SchemaLocation |
Obtiene o establece la ubicación del identificador URI (Identificador de recursos uniforme) del esquema, que indica al procesador del esquema dónde reside el esquema físicamente. (Heredado de XmlSchemaExternal) |
SourceUri |
Obtiene o establece la ubicación de origen del archivo que cargó el esquema. (Heredado de XmlSchemaObject) |
UnhandledAttributes |
Obtiene o establece los atributos cualificados que no pertenecen al espacio de nombres de destino del esquema. (Heredado de XmlSchemaExternal) |
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) |