XmlSchemaObject.Namespaces Propiedad

Definición

Obtiene o establece el objeto XmlSerializerNamespaces que se va a utilizar con este objeto de esquema.

C#
public System.Xml.Serialization.XmlSerializerNamespaces Namespaces { get; set; }

Valor de propiedad

XmlSerializerNamespaces

Propiedad XmlSerializerNamespaces del objeto de esquema.

Ejemplos

En el ejemplo siguiente, el prefijo myImpPrefix se agrega en el nivel de elemento de esquema. A continuación, el prefijo se usa para calificar las definiciones que se importan desde myImportNamespace.

C#
using System;
using System.Xml;
using System.Xml.Schema;

class XmlSchemaObject
{
    public static void Main()
    {
        XmlSchema s = new XmlSchema();
        s.TargetNamespace = "myNamespace";
        s.Namespaces.Add("myImpPrefix", "myImportNamespace");

        // Create the <xs:import> element.
        XmlSchemaImport import = new XmlSchemaImport();
        import.Namespace = "myImportNamespace";
        import.SchemaLocation = "http://www.example.com/myImportNamespace";
        s.Includes.Add(import);

        // Create an element and assign a type from imported schema.
        XmlSchemaElement elem = new XmlSchemaElement();
        elem.SchemaTypeName = new XmlQualifiedName("importType", "myImportNamespace");
        elem.Name = "element1";

        s.Items.Add(elem);
        s.Write(Console.Out);
    }
}

En el ejemplo se genera el siguiente XML.

XML
<?xml version="1.0" encoding="IBM437"?>
<schema xmlns:myImpPrefix="myImportNamespace" targetNamespace="myNamespace" xmlns="http://www.w3.org/2001/XMLSchema">
  <import schemaLocation="http://www.microsoft.com/myImportNamespace" namespace="myImportNamespace" />
  <element name="element1" type="myImpPrefix:importType" />
</schema>

Comentarios

Esto proporciona al Modelo de objetos de esquema (SOM) la capacidad de agregar declaraciones xmlns. Esto resulta útil cuando se desea declarar un prefijo para calificar las declaraciones de un esquema importado o usar en el atributo xpath del elemento xs:selector.

También puede usar la Namespaces propiedad para cambiar los prefijos de espacio de nombres en un esquema. Por ejemplo, puede cambiar el prefijo usado por un esquema para el espacio de nombres del esquema XML de W3C de xs a xsd, como se muestra en el ejemplo siguiente.

C#
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();  
namespaces.Add("myChangedPrefix", "myImportNamespace");  
s.Namespaces = namespaces;  

Se aplica a

Producto Versiones
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.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
.NET Standard 2.0, 2.1