XmlSchemaObject.Namespaces Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die mit diesem Schemaobjekt zu verwendenden XmlSerializerNamespaces ab oder legt diese fest.
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
Eigenschaftswert
Die XmlSerializerNamespaces-Eigenschaft für das Schemaobjekt.
Beispiele
Im folgenden Beispiel wird das Präfix "myImpPrefix" auf Schemaelementebene hinzugefügt. Das Präfix wird dann verwendet, um Definitionen zu qualifizieren, die aus myImportNamespace importiert werden.
#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
Im Beispiel wird die folgende XML-Datei erstellt.
<?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>
Hinweise
Dies gibt dem Schema-Objektmodell (SOM) die Möglichkeit, xmlns-Deklarationen hinzuzufügen. Dies ist nützlich, wenn Sie ein Präfix deklarieren möchten, um Deklarationen aus einem importierten Schema zu qualifizieren oder im xpath-Attribut des xs:selector-Elements zu verwenden.
Sie können auch die Namespaces Eigenschaft verwenden, um Namespacepräfixe in einem Schema zu ändern. Sie können beispielsweise das Präfix ändern, das von einem Schema für den W3C-XML-Schema-Namespace von xs in xsd verwendet wird, wie im folgenden Beispiel dargestellt.
Dim namespaces As XmlSerializerNamespaces = New XmlSerializerNamespaces()
namespaces.Add("myChangedPrefix", "myImportNamespace");
s.Namespaces = namespaces;
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add("myChangedPrefix", "myImportNamespace");
s.Namespaces = namespaces;