XmlSchemaInclude Classe

Definizione

Rappresenta l'elemento include da XML Schema come specificato dal World Wide Web Consortium (W3C). Questa classe viene usata per includere dichiarazioni e definizioni da uno schema esterno. Le dichiarazioni e le definizioni incluse sono quindi disponibili per l'elaborazione nello schema contenitore.

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
Ereditarietà

Esempio

Nell'esempio seguente viene creato l'elemento include .

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

Per questo esempio di codice viene generato il codice XML seguente.

<?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>

Commenti

Il documento dello schema incluso deve soddisfare una delle condizioni seguenti:

Lo schema incluso deve avere lo stesso spazio dei nomi di destinazione del documento dello schema contenitore.

OR

Lo schema incluso non può avere un oggetto specificato targetNamespace. L'attributo targetNamespace deve essere Null.

XmlSchemaInclude aggiunge tutti i componenti dello schema dagli schemi inclusi con lo stesso spazio dei nomi di destinazione (o nessuno spazio dei nomi di destinazione specificato) allo schema contenitore.

Costruttori

Nome Descrizione
XmlSchemaInclude()

Inizializza una nuova istanza della classe XmlSchemaInclude.

Proprietà

Nome Descrizione
Annotation

Ottiene o imposta la annotation proprietà .

Id

Ottiene o imposta l'ID stringa.

(Ereditato da XmlSchemaExternal)
LineNumber

Ottiene o imposta il numero di riga nel file a cui fa riferimento l'elemento schema .

(Ereditato da XmlSchemaObject)
LinePosition

Ottiene o imposta la posizione della riga nel file a cui fa riferimento l'elemento schema .

(Ereditato da XmlSchemaObject)
Namespaces

Ottiene o imposta l'oggetto XmlSerializerNamespaces da utilizzare con questo oggetto schema.

(Ereditato da XmlSchemaObject)
Parent

Ottiene o imposta l'elemento padre dell'oggetto XmlSchemaObject.

(Ereditato da XmlSchemaObject)
Schema

Ottiene o imposta l'oggetto XmlSchema per lo schema a cui si fa riferimento.

(Ereditato da XmlSchemaExternal)
SchemaLocation

Ottiene o imposta il percorso URI (Uniform Resource Identifier) per lo schema, che indica al processore dello schema dove risiede fisicamente lo schema.

(Ereditato da XmlSchemaExternal)
SourceUri

Ottiene o imposta il percorso di origine per il file che ha caricato lo schema.

(Ereditato da XmlSchemaObject)
UnhandledAttributes

Ottiene o imposta gli attributi qualificati, che non appartengono allo spazio dei nomi di destinazione dello schema.

(Ereditato da XmlSchemaExternal)

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a