XmlSchemaObject.Namespaces Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit le XmlSerializerNamespaces à utiliser avec cet objet de schéma.
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
Valeur de propriété
Propriété XmlSerializerNamespaces de l'objet de schéma.
Exemples
Dans l’exemple suivant, le préfixe myImpPrefix est ajouté au niveau de l’élément de schéma. Le préfixe est ensuite utilisé pour qualifier les définitions importées à partir 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
L’exemple produit le code XML suivant.
<?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>
Remarques
Cela permet au modèle objet de schéma (SOM) d’ajouter des déclarations xmlns. Cela est utile lorsque vous souhaitez déclarer un préfixe pour qualifier les déclarations d’un schéma importé ou l’utiliser dans l’attribut xpath de l’élément xs:selector.
Vous pouvez également utiliser la Namespaces propriété pour modifier les préfixes d’espace de noms dans un schéma. Par exemple, vous pouvez modifier le préfixe utilisé par un schéma pour l’espace de noms de schéma XML W3C de xs à xsd, comme illustré dans l’exemple suivant.
Dim namespaces As XmlSerializerNamespaces = New XmlSerializerNamespaces()
namespaces.Add("myChangedPrefix", "myImportNamespace");
s.Namespaces = namespaces;
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add("myChangedPrefix", "myImportNamespace");
s.Namespaces = namespaces;