XmlSchemaObject.Namespaces Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o XmlSerializerNamespaces a ser usado com esse objeto de esquema.
public:
property System::Xml::Serialization::XmlSerializerNamespaces ^ Namespaces { System::Xml::Serialization::XmlSerializerNamespaces ^ get(); void set(System::Xml::Serialization::XmlSerializerNamespaces ^ value); };
public System.Xml.Serialization.XmlSerializerNamespaces Namespaces { get; set; }
member this.Namespaces : System.Xml.Serialization.XmlSerializerNamespaces with get, set
Public Property Namespaces As XmlSerializerNamespaces
Valor da propriedade
A propriedade XmlSerializerNamespaces do objeto de esquema.
Exemplos
No exemplo a seguir, o prefixo myImpPrefix é adicionado no nível do elemento schema. Em seguida, o prefixo é usado para qualificar definições importadas de myImportNamespace.
#using <System.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
int main()
{
XmlSchema^ s = gcnew XmlSchema;
s->TargetNamespace = "myNamespace";
s->Namespaces->Add( "myImpPrefix", "myImportNamespace" );
// Create the <xs:import> element.
XmlSchemaImport^ import = gcnew 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 = gcnew XmlSchemaElement;
elem->SchemaTypeName = gcnew XmlQualifiedName( "importType","myImportNamespace" );
elem->Name = "element1";
s->Items->Add( elem );
s->Write( Console::Out );
}
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);
}
}
Imports System.Xml
Imports System.Xml.Schema
Class XmlSchemaObject
Public Shared Sub Main()
Dim s As New XmlSchema()
s.TargetNamespace = "myNamespace"
s.Namespaces.Add("myImpPrefix", "myImportNamespace")
' Create the <xs:import> element.
Dim import As 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.
Dim elem As New XmlSchemaElement()
elem.SchemaTypeName = New XmlQualifiedName("importType", "myImportNamespace")
elem.Name = "element1"
s.Items.Add(elem)
s.Write(Console.Out)
End Sub
End Class
O exemplo produz o XML a seguir.
<?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>
Comentários
Isso fornece ao Modelo de Objeto de Esquema (SOM) a capacidade de adicionar declarações xmlns. Isso é útil quando você deseja declarar um prefixo para qualificar declarações de um esquema importado ou usar no atributo xpath do elemento xs:selector.
Você também pode usar a Namespaces propriedade para alterar prefixos de namespace em um esquema. Por exemplo, você pode alterar o prefixo usado por um esquema para o namespace W3C XML Schema de xs para xsd, conforme ilustrado no exemplo a seguir.
Dim namespaces As XmlSerializerNamespaces = New XmlSerializerNamespaces()
namespaces.Add("myChangedPrefix", "myImportNamespace");
s.Namespaces = namespaces;
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add("myChangedPrefix", "myImportNamespace");
s.Namespaces = namespaces;