XmlSchemaCollection.Add Método
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í.
Agrega el esquema especificado a la colección de esquemas.
Add(XmlSchema) |
Agrega XmlSchema a la colección. |
Add(XmlSchemaCollection) |
Agrega todos los espacios de nombres definidos en una colección especificada (incluidos sus esquemas asociados) a esta colección. |
Add(String, String) |
Agrega el esquema localizado por la dirección URL especificada a la colección de esquemas. |
Add(String, XmlReader) |
Agrega el esquema que contiene el objeto XmlReader a la colección de esquemas. |
Add(XmlSchema, XmlResolver) |
Agrega XmlSchema a la colección. El XmlResolver especificado se utiliza para resolver las referencias externas. |
Add(String, XmlReader, XmlResolver) |
Agrega el esquema que contiene el objeto XmlReader a la colección de esquemas. El XmlResolver especificado se utiliza para resolver los recursos externos. |
Importante
La XmlSchemaCollection clase está obsoleta en .NET Framework versión 2.0 y se ha reemplazado por la XmlSchemaSet clase .
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
Agrega XmlSchema a la colección.
public:
System::Xml::Schema::XmlSchema ^ Add(System::Xml::Schema::XmlSchema ^ schema);
public System.Xml.Schema.XmlSchema? Add (System.Xml.Schema.XmlSchema schema);
public System.Xml.Schema.XmlSchema Add (System.Xml.Schema.XmlSchema schema);
member this.Add : System.Xml.Schema.XmlSchema -> System.Xml.Schema.XmlSchema
Public Function Add (schema As XmlSchema) As XmlSchema
Parámetros
- schema
- XmlSchema
XmlSchema
que se agrega a la colección.
Devoluciones
Objeto XmlSchema
.
Comentarios
El targetNamespace
atributo se usa para identificar este esquema.
Si el esquema que se agrega contiene referencias a otros espacios de nombres (mediante include
y import
elementos), el nivel de confianza de la aplicación determina cómo se resuelven estos otros espacios de nombres. (En la versión 1.0 de .NET Framework, siempre se usó un valor predeterminado XmlUrlResolver ).
Fully trusted code:
Se usa un valor predeterminado XmlUrlResolver
sin credenciales de usuario para resolver los recursos externos. Los esquemas de estos otros espacios de nombres solo se cargan con fines de validación. A diferencia del esquema original, estos otros esquemas no se agregan explícitamente a la colección de esquemas. Como resultado, no son accesibles mediante ninguno de los métodos o propiedades de la colección. Si estos recursos externos se encuentran en un recurso de red que requiere autenticación, use una sobrecarga que tome como XmlResolver uno de sus argumentos y especifique con XmlResolver
las credenciales necesarias.
Semi-trusted code:
No se resuelven las referencias externas.
Nota
XmlSchemaCollection
Si se obtiene acceso a mediante la XmlValidatingReader.Schemas propiedad , el Add
método utiliza el XmlResolver
especificado por la XmlValidatingReader.XmlResolver propiedad .
Importante
La XmlSchemaCollection clase está obsoleta en .NET Framework versión 2.0 y se ha reemplazado por la XmlSchemaSet clase .
Consulte también
Se aplica a
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
Agrega todos los espacios de nombres definidos en una colección especificada (incluidos sus esquemas asociados) a esta colección.
public:
void Add(System::Xml::Schema::XmlSchemaCollection ^ schema);
public void Add (System.Xml.Schema.XmlSchemaCollection schema);
member this.Add : System.Xml.Schema.XmlSchemaCollection -> unit
Public Sub Add (schema As XmlSchemaCollection)
Parámetros
- schema
- XmlSchemaCollection
XmlSchemaCollection
que desea agregar a esta colección.
Comentarios
Si el esquema que se va a agregar contiene referencias a otros espacios de nombres (mediante include
elementos y import
o el x-schema
atributo ), el nivel de confianza de la aplicación determina cómo se resuelven estos otros espacios de nombres. (En la versión 1.0 de .NET Framework, siempre se usó un valor predeterminado XmlUrlResolver ).
Fully trusted code:
Se usa un valor predeterminado XmlUrlResolver
sin credenciales de usuario para resolver los recursos externos. Los esquemas de estos otros espacios de nombres solo se cargan con fines de validación. A diferencia del esquema original, estos otros esquemas no se agregan explícitamente a la colección de esquemas. Como resultado, no son accesibles mediante ninguno de los métodos o propiedades de la colección. Si estos recursos externos se encuentran en un recurso de red que requiere autenticación, use una sobrecarga que tome como XmlResolver uno de sus argumentos y especifique con XmlResolver
las credenciales necesarias.
Semi-trusted code:
No se resuelven las referencias externas.
Nota
XmlSchemaCollection
Si se obtiene acceso a mediante la XmlValidatingReader.Schemas propiedad , el Add
método utiliza el XmlResolver
especificado por la XmlValidatingReader.XmlResolver propiedad .
Importante
La XmlSchemaCollection clase está obsoleta en .NET Framework versión 2.0 y se ha reemplazado por la XmlSchemaSet clase .
Se aplica a
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
Agrega el esquema localizado por la dirección URL especificada a la colección de esquemas.
public:
System::Xml::Schema::XmlSchema ^ Add(System::String ^ ns, System::String ^ uri);
public System.Xml.Schema.XmlSchema? Add (string? ns, string uri);
public System.Xml.Schema.XmlSchema Add (string ns, string uri);
member this.Add : string * string -> System.Xml.Schema.XmlSchema
Public Function Add (ns As String, uri As String) As XmlSchema
Parámetros
- ns
- String
URI del espacio de nombres asociado al esquema. Para los esquemas XML, normalmente será targetNamespace
.
- uri
- String
Dirección URL que especifica el esquema que se va a cargar.
Devoluciones
Objeto XmlSchema agregado a la colección de esquemas; null
si el esquema que se va agregar es un esquema XDR o si existen errores de compilación en el esquema.
Excepciones
El esquema no es válido.
Ejemplos
En el ejemplo siguiente se validan tres archivos XML mediante esquemas almacenados en .XmlSchemaCollection
#using <System.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Schema;
public ref class SchemaCollectionSample
{
private:
XmlTextReader^ reader;
XmlValidatingReader^ vreader;
Boolean m_success;
public:
SchemaCollectionSample()
{
reader = nullptr;
vreader = nullptr;
m_success = true;
//Load the schema collection.
XmlSchemaCollection^ xsc = gcnew XmlSchemaCollection;
String^ schema = "books.xsd";
String^ schema1 = "schema1.xdr";
xsc->Add( "urn:bookstore-schema", schema ); //XSD schema
xsc->Add( "urn:newbooks-schema", schema1 ); //XDR schema
String^ doc1 = "booksSchema.xml";
String^ doc2 = "booksSchemaFail.xml";
String^ doc3 = "newbooks.xml";
//Validate the files using schemas stored in the collection.
Validate( doc1, xsc ); //Should pass.
Validate( doc2, xsc ); //Should fail.
Validate( doc3, xsc ); //Should fail.
}
private:
void Validate( String^ filename, XmlSchemaCollection^ xsc )
{
m_success = true;
Console::WriteLine();
Console::WriteLine( "Validating XML file {0}...", filename );
reader = gcnew XmlTextReader( filename );
//Create a validating reader.
vreader = gcnew XmlValidatingReader( reader );
//Validate using the schemas stored in the schema collection.
vreader->Schemas->Add( xsc );
//Set the validation event handler
vreader->ValidationEventHandler += gcnew ValidationEventHandler( this, &SchemaCollectionSample::ValidationCallBack );
//Read and validate the XML data.
while ( vreader->Read() )
{}
Console::WriteLine( "Validation finished. Validation {0}", (m_success == true ? (String^)"successful" : "failed") );
Console::WriteLine();
//Close the reader.
vreader->Close();
}
void ValidationCallBack( Object^ /*sender*/, ValidationEventArgs^ args )
{
m_success = false;
Console::Write( "\r\n\tValidation error: {0}", args->Message );
}
};
int main()
{
gcnew SchemaCollectionSample;
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Schema;
public class SchemaCollectionSample
{
private const String doc1 = "booksSchema.xml";
private const String doc2 = "booksSchemaFail.xml";
private const String doc3 = "newbooks.xml";
private const String schema = "books.xsd";
private const String schema1 = "schema1.xdr";
private XmlTextReader reader=null;
private XmlValidatingReader vreader = null;
private Boolean m_success = true;
public SchemaCollectionSample ()
{
//Load the schema collection.
XmlSchemaCollection xsc = new XmlSchemaCollection();
xsc.Add("urn:bookstore-schema", schema); //XSD schema
xsc.Add("urn:newbooks-schema", schema1); //XDR schema
//Validate the files using schemas stored in the collection.
Validate(doc1, xsc); //Should pass.
Validate(doc2, xsc); //Should fail.
Validate(doc3, xsc); //Should fail.
}
public static void Main ()
{
SchemaCollectionSample validation = new SchemaCollectionSample();
}
private void Validate(String filename, XmlSchemaCollection xsc)
{
m_success = true;
Console.WriteLine();
Console.WriteLine("Validating XML file {0}...", filename.ToString());
reader = new XmlTextReader (filename);
//Create a validating reader.
vreader = new XmlValidatingReader (reader);
//Validate using the schemas stored in the schema collection.
vreader.Schemas.Add(xsc);
//Set the validation event handler
vreader.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
//Read and validate the XML data.
while (vreader.Read()){}
Console.WriteLine ("Validation finished. Validation {0}", (m_success==true ? "successful" : "failed"));
Console.WriteLine();
//Close the reader.
vreader.Close();
}
private void ValidationCallBack (object sender, ValidationEventArgs args)
{
m_success = false;
Console.Write("\r\n\tValidation error: " + args.Message);
}
}
Option Strict
Option Explicit
Imports System.IO
Imports System.Xml
Imports System.Xml.Schema
Public Class SchemaCollectionSample
Private doc1 As String = "booksSchema.xml"
Private doc2 As String = "booksSchemaFail.xml"
Private doc3 As String = "newbooks.xml"
Private schema As String = "books.xsd"
Private schema1 As String = "schema1.xdr"
Private reader As XmlTextReader = Nothing
Private vreader As XmlValidatingReader = Nothing
Private m_success As Boolean = True
Public Sub New()
'Load the schema collection
Dim xsc As New XmlSchemaCollection()
xsc.Add("urn:bookstore-schema", schema) 'XSD schema
xsc.Add("urn:newbooks-schema", schema1) 'XDR schema
'Validate the files using schemas stored in the collection.
Validate(doc1, xsc) 'Should pass.
Validate(doc2, xsc) 'Should fail.
Validate(doc3, xsc) 'Should fail.
End Sub
Public Shared Sub Main()
Dim validation As New SchemaCollectionSample()
End Sub
Private Sub Validate(filename As String, xsc As XmlSchemaCollection)
m_success = True
Console.WriteLine()
Console.WriteLine("Validating XML file {0}...", filename.ToString())
reader = New XmlTextReader(filename)
'Create a validating reader.
vreader = New XmlValidatingReader(reader)
'Use the schemas stored in the schema collection.
vreader.Schemas.Add(xsc)
'Set the validation event handler.
AddHandler vreader.ValidationEventHandler, AddressOf ValidationCallBack
'Read and validate the XML data.
While vreader.Read()
End While
Console.WriteLine("Validation finished. Validation {0}", IIf(m_success, "successful", "failed"))
Console.WriteLine()
'Close the reader.
vreader.Close()
End Sub
Private Sub ValidationCallBack(sender As Object, args As ValidationEventArgs)
m_success = False
Console.Write((ControlChars.CrLf & ControlChars.Tab & "Validation error: " & args.Message))
End Sub
End Class
En el ejemplo se usan los cinco archivos de entrada siguientes:
booksSchema.xml
<?xml version='1.0'?>
<bookstore xmlns="urn:bookstore-schema">
<book genre="autobiography">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
</bookstore>
booksSchemaFail.xml
<?xml version='1.0'?>
<bookstore xmlns="urn:bookstore-schema">
<book>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
</book>
<book genre="novel">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
newbooks.xml
<?xml version='1.0'?>
<bookstore xmlns="urn:newbooks-schema">
<book genre="novel" style="hardcover">
<title>The Handmaid's Tale</title>
<author>
<first-name>Margaret</first-name>
<last-name>Atwood</last-name>
</author>
<price>19.95</price>
</book>
<book genre="novel" style="other">
<title>The Poisonwood Bible</title>
<author>
<first-name>Barbara</first-name>
<last-name>Kingsolver</last-name>
</author>
<price>11.99</price>
</book>
</bookstore>
books.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:bookstore-schema"
elementFormDefault="qualified"
targetNamespace="urn:bookstore-schema">
<xsd:element name="bookstore" type="bookstoreType"/>
<xsd:complexType name="bookstoreType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="book" type="bookType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="bookType">
<xsd:sequence>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="author" type="authorName"/>
<xsd:element name="price" type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name="genre" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="authorName">
<xsd:sequence>
<xsd:element name="first-name" type="xsd:string"/>
<xsd:element name="last-name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
schema1.xdr
<?xml version="1.0"?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name="first-name" content="textOnly"/>
<ElementType name="last-name" content="textOnly"/>
<ElementType name="name" content="textOnly"/>
<ElementType name="price" content="textOnly" dt:type="fixed.14.4"/>
<ElementType name="author" content="eltOnly" order="one">
<group order="seq">
<element type="name"/>
</group>
<group order="seq">
<element type="first-name"/>
<element type="last-name"/>
</group>
</ElementType>
<ElementType name="title" content="textOnly"/>
<AttributeType name="genre" dt:type="string"/>
<AttributeType name="style" dt:type="enumeration"
dt:values="paperback hardcover"/>
<ElementType name="book" content="eltOnly">
<attribute type="genre" required="yes"/>
<attribute type="style" required="yes"/>
<element type="title"/>
<element type="author"/>
<element type="price"/>
</ElementType>
<ElementType name="bookstore" content="eltOnly">
<element type="book"/>
</ElementType>
</Schema>
Comentarios
Si ns
ya se ha asociado a otro esquema de la colección, el esquema que se va a agregar reemplaza al esquema original de la colección. Por ejemplo, en el código de C# siguiente, authors.xsd se quita de la colección y se agrega names.xsd.
schemaColl.Add("urn:author", "authors.xsd");
schemaColl.Add("urn:author", "names.xsd");
Si ns
es null
y el esquema que se va a agregar es un esquema XML, el Add
método usa el targetNamespace
definido en el esquema XML para identificar el esquema de la colección. Si el esquema que se va a agregar contiene referencias a otros espacios de nombres (mediante include
elementos y import
o el x-schema
atributo ), el nivel de confianza de la aplicación determina cómo se resuelven estos otros espacios de nombres. (En la versión 1.0 de .NET Framework, siempre se usó un valor predeterminado XmlUrlResolver ).
Fully trusted code:
Se usa un valor predeterminado XmlUrlResolver
sin credenciales de usuario para resolver los recursos externos. Los esquemas de estos otros espacios de nombres solo se cargan con fines de validación. A diferencia del esquema original, estos otros esquemas no se agregan explícitamente a la colección de esquemas. Como resultado, no son accesibles mediante ninguno de los métodos o propiedades de la colección. Si estos recursos externos se encuentran en un recurso de red que requiere autenticación, use una sobrecarga que tome como XmlResolver uno de sus argumentos y especifique con XmlResolver
las credenciales necesarias.
Semi-trusted code:
No se resuelven las referencias externas.
Nota
XmlSchemaCollection
Si se obtiene acceso a mediante la XmlValidatingReader.Schemas propiedad , el Add
método utiliza el XmlResolver
especificado por la XmlValidatingReader.XmlResolver propiedad .
Importante
La XmlSchemaCollection clase está obsoleta en .NET Framework versión 2.0 y se ha reemplazado por la XmlSchemaSet clase .
Se aplica a
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
Agrega el esquema que contiene el objeto XmlReader a la colección de esquemas.
public:
System::Xml::Schema::XmlSchema ^ Add(System::String ^ ns, System::Xml::XmlReader ^ reader);
public System.Xml.Schema.XmlSchema? Add (string? ns, System.Xml.XmlReader reader);
public System.Xml.Schema.XmlSchema Add (string ns, System.Xml.XmlReader reader);
member this.Add : string * System.Xml.XmlReader -> System.Xml.Schema.XmlSchema
Public Function Add (ns As String, reader As XmlReader) As XmlSchema
Parámetros
- ns
- String
URI del espacio de nombres asociado al esquema. Para los esquemas XML, normalmente será targetNamespace
.
Devoluciones
Objeto XmlSchema agregado a la colección de esquemas; null
si el esquema que se va agregar es un esquema XDR o si existen errores de compilación en el esquema.
Excepciones
El esquema no es válido.
Comentarios
Si ns
ya se ha asociado a otro esquema de la colección, el esquema que se va a agregar reemplaza al esquema original de la colección.
Si ns
es null
y el esquema que se va a agregar es un esquema XML, el Add
método usa el targetNamespace
definido en el esquema XML para identificar el esquema de la colección.
Si el esquema que se va a agregar contiene referencias a otros espacios de nombres (mediante include
elementos y import
o el x-schema
atributo ), el nivel de confianza de la aplicación determina cómo se resuelven estos otros espacios de nombres. (En la versión 1.0 de .NET Framework, siempre se usó un valor predeterminado XmlUrlResolver ).
Fully trusted code:
Se usa un valor predeterminado XmlUrlResolver
sin credenciales de usuario para resolver los recursos externos. Los esquemas de estos otros espacios de nombres solo se cargan con fines de validación. A diferencia del esquema original, estos otros esquemas no se agregan explícitamente a la colección de esquemas. Como resultado, no son accesibles mediante ninguno de los métodos o propiedades de la colección. Si estos recursos externos se encuentran en un recurso de red que requiere autenticación, use una sobrecarga que tome como XmlResolver uno de sus argumentos y especifique con XmlResolver
las credenciales necesarias.
Semi-trusted code:
No se resuelven las referencias externas.
Nota
XmlSchemaCollection
Si se obtiene acceso a mediante la XmlValidatingReader.Schemas propiedad , el Add
método utiliza el XmlResolver
especificado por la XmlValidatingReader.XmlResolver propiedad .
Importante
La XmlSchemaCollection clase está obsoleta en .NET Framework versión 2.0 y se ha reemplazado por la XmlSchemaSet clase .
Se aplica a
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
Agrega XmlSchema a la colección. El XmlResolver especificado se utiliza para resolver las referencias externas.
public:
System::Xml::Schema::XmlSchema ^ Add(System::Xml::Schema::XmlSchema ^ schema, System::Xml::XmlResolver ^ resolver);
public System.Xml.Schema.XmlSchema? Add (System.Xml.Schema.XmlSchema schema, System.Xml.XmlResolver? resolver);
public System.Xml.Schema.XmlSchema Add (System.Xml.Schema.XmlSchema schema, System.Xml.XmlResolver resolver);
member this.Add : System.Xml.Schema.XmlSchema * System.Xml.XmlResolver -> System.Xml.Schema.XmlSchema
Public Function Add (schema As XmlSchema, resolver As XmlResolver) As XmlSchema
Parámetros
- schema
- XmlSchema
XmlSchema
que se agrega a la colección.
- resolver
- XmlResolver
Objeto XmlResolver utilizado para resolver los espacios de nombres a los que se hace referencia en los elementos include
e import
. Si es null
, las referencias externas no se resuelven.
Devoluciones
XmlSchema
agregado a la colección de esquemas.
Excepciones
El esquema no es válido.
Ejemplos
En el ejemplo siguiente se agrega un esquema a la colección.
XmlUrlResolver Se pasa al Add
método que establece las credenciales necesarias para tener acceso a los recursos externos a los que se hace referencia en el esquema.
XmlSchemaCollection^ sc = gcnew XmlSchemaCollection;
sc->ValidationEventHandler += gcnew ValidationEventHandler( Sample::ValidationCallBack );
// Create a resolver with the necessary credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
System::Net::NetworkCredential^ nc;
nc = gcnew System::Net::NetworkCredential( UserName,SecurelyStoredPassword,Domain );
resolver->Credentials = nc;
// Add the new schema to the collection.
sc->Add( nullptr, gcnew XmlTextReader( "sample.xsd" ), resolver );
XmlSchemaCollection sc = new XmlSchemaCollection();
sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
// Create a resolver with the necessary credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Add the new schema to the collection.
sc.Add("", new XmlTextReader("sample.xsd"), resolver);
Dim sc As XmlSchemaCollection = New XmlSchemaCollection()
AddHandler sc.ValidationEventHandler, AddressOf ValidationCallBack
' Create a resolver with the necessary credentials.
Dim resolver As XmlUrlResolver = New XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials
' Add the new schema to the collection.
sc.Add("", New XmlTextReader("sample.xsd"), resolver)
Comentarios
El targetNamespace
atributo se usa para identificar este esquema.
Si el esquema contiene include
elementos y import
que hacen referencia a otros espacios de nombres, los esquemas de estos otros espacios de nombres solo se cargan con fines de validación. A diferencia del esquema original, estos otros esquemas no se agregan explícitamente a la colección de esquemas. Como resultado, no son accesibles mediante ninguno de los métodos o propiedades de la colección.
Importante
La XmlSchemaCollection clase está obsoleta en .NET Framework versión 2.0 y se ha reemplazado por la XmlSchemaSet clase .
Consulte también
Se aplica a
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
- Source:
- XmlSchemaCollection.cs
Agrega el esquema que contiene el objeto XmlReader a la colección de esquemas. El XmlResolver especificado se utiliza para resolver los recursos externos.
public:
System::Xml::Schema::XmlSchema ^ Add(System::String ^ ns, System::Xml::XmlReader ^ reader, System::Xml::XmlResolver ^ resolver);
public System.Xml.Schema.XmlSchema? Add (string? ns, System.Xml.XmlReader reader, System.Xml.XmlResolver? resolver);
public System.Xml.Schema.XmlSchema Add (string ns, System.Xml.XmlReader reader, System.Xml.XmlResolver resolver);
member this.Add : string * System.Xml.XmlReader * System.Xml.XmlResolver -> System.Xml.Schema.XmlSchema
Public Function Add (ns As String, reader As XmlReader, resolver As XmlResolver) As XmlSchema
Parámetros
- ns
- String
URI del espacio de nombres asociado al esquema. Para los esquemas XML, normalmente será targetNamespace
.
- resolver
- XmlResolver
Objeto XmlResolver utilizado para resolver los espacios de nombres a los que se hace referencia en los elementos include
e import
o en el atributo x-schema
(esquemas XDR). Si es null
, las referencias externas no se resuelven.
Devoluciones
Objeto XmlSchema agregado a la colección de esquemas; null
si el esquema que se va agregar es un esquema XDR o si existen errores de compilación en el esquema.
Excepciones
El esquema no es válido.
Comentarios
Si ns
ya se ha asociado a otro esquema de la colección, el esquema que se va a agregar reemplaza al esquema original de la colección.
Si ns
es null
y el esquema que se va a agregar es un esquema XML, el Add
método usa el targetNamespace
atributo definido en el esquema XML para identificar el esquema de la colección.
Si el esquema que se agrega contiene referencias a otros espacios de nombres (mediante include
elementos y import
o el x-schema
atributo ), los esquemas de estos otros espacios de nombres solo se cargan con fines de validación. A diferencia del esquema original, estos otros esquemas no se agregan explícitamente a la colección de esquemas. Como resultado, no son accesibles mediante ninguno de los métodos o propiedades de la colección.
Importante
La XmlSchemaCollection clase está obsoleta en .NET Framework versión 2.0 y se ha reemplazado por la XmlSchemaSet clase .
Consulte también
Se aplica a
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: