XmlSchemaObject.Namespaces Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 Ş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;