Aracılığıyla paylaş


XmlSchemaObject.Namespaces Özellik

Tanım

Bu şema nesnesiyle kullanılacak öğesini XmlSerializerNamespaces alır veya ayarlar.

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

Özellik Değeri

XmlSerializerNamespaces

XmlSerializerNamespaces Şema nesnesinin özelliği.

Örnekler

Aşağıdaki örnekte şema öğesi düzeyinde myImpPrefix ön eki eklenmiştir. Ardından, myImportNamespace'ten içeri aktarılan tanımları nitelemek için ön ek kullanılır.

#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

Örnek aşağıdaki XML'yi üretir.

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

Açıklamalar

Bu, Şema Nesne Modeli'ne (SOM) xmlns bildirimleri ekleme olanağı verir. Bu, içeri aktarılan bir şemadan bildirimleri niteleme ön eki bildirmek veya xs:selector öğesinin xpath özniteliğinde kullanmak istediğinizde yararlıdır.

Bir şemadaki Namespaces ad alanı ön eklerini değiştirmek için özelliğini de kullanabilirsiniz. Örneğin, aşağıdaki örnekte gösterildiği gibi W3C XML Şeması ad alanı için bir şema tarafından kullanılan ön eki xs yerine xsd olarak değiştirebilirsiniz.

Dim namespaces As XmlSerializerNamespaces = New XmlSerializerNamespaces()  
namespaces.Add("myChangedPrefix", "myImportNamespace");  
s.Namespaces = namespaces;  
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();  
namespaces.Add("myChangedPrefix", "myImportNamespace");  
s.Namespaces = namespaces;  

Şunlara uygulanır