XmlSchemaObject.Namespaces Property

Gets or sets the XmlSerializerNamespaces to use with this schema object.

Namespace: System.Xml.Schema
Assembly: System.Xml (in system.xml.dll)

public XmlSerializerNamespaces Namespaces { get; set; }
/** @property */
public XmlSerializerNamespaces get_Namespaces ()

/** @property */
public void set_Namespaces (XmlSerializerNamespaces value)

public function get Namespaces () : XmlSerializerNamespaces

public function set Namespaces (value : XmlSerializerNamespaces)

Not applicable.

Property Value

The XmlSerializerNamespaces property for the schema object.

This gives the Schema Object Model (SOM) the ability to add xmlns declarations. This is useful when you want to declare a prefix to qualify declarations from an imported schema or use in the xpath attribute of the xs:selector element.

You can also use the Namespaces property to change namespace prefixes in a schema. For example, you can change the prefix used by a schema for the W3C XML Schema namespace from xs to xsd as illustrated in the following example.

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

In the following example, the prefix myImpPrefix is added at the schema element level. The prefix is then used to qualify definitions that are imported from myImportNamespace.

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);

    }
}

import System.*;
import System.Xml.*;
import System.Xml.Schema.*;

class XmlSchemaObject
{
    public static void main(String[] args)
    {
        XmlSchema s = new XmlSchema();
        s.set_TargetNamespace("myNamespace");
        s.get_Namespaces().Add("myImpPrefix","myImportNamespace");

        // Create the <xs:import> element.
        XmlSchemaImport importObj = new XmlSchemaImport();
        importObj.set_Namespace("myImportNamespace");
        importObj.set_SchemaLocation("http://www.example.com/myImportNamespace");
        s.get_Includes().Add(importObj);

        // Create an element and assign a type from imported schema.
        XmlSchemaElement elem = new XmlSchemaElement();
        elem.set_SchemaTypeName(new XmlQualifiedName("importType",
            "myImportNamespace"));
        elem.set_Name("element1");
        s.get_Items().Add(elem);
        s.Write(Console.get_Out());
    } //main 
} //XmlSchemaObject

The example produces the following XML.

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

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0

XNA Framework

Supported in: 1.0

Community Additions

ADD
Show: