Imports (Instrucción, Espacio de nombres XML)

Importa prefijos de espacio de nombres XML para su uso en literales XML y propiedades de eje XML.

Sintaxis

Imports <xmlns:xmlNamespacePrefix = "xmlNamespaceName">

Partes

xmlNamespacePrefix
Opcional. Cadena por la que los elementos y atributos XML pueden hacer referencia a xmlNamespaceName. Si no se proporciona ningún xmlNamespacePrefix, el espacio de nombres XML importado es el espacio de nombres XML predeterminado. Debe ser un identificador XML válido. Para obtener más información, consulte Nombres de elementos y atributos XML declarados.

xmlNamespaceName
Necesario. Cadena que identifica el espacio de nombres XML que se va a importar.

Comentarios

Puede usar la instrucción Imports para definir espacios de nombres XML globales que puede usar con literales XML y propiedades del eje XML, o como parámetros pasados al operador GetXmlNamespace. (Para obtener información sobre cómo usar la instrucción Imports para importar un alias que se puede usar donde se usan nombres de tipo en el código, consulte Instrucción Imports [Tipo y espacio de nombres de .NET]). La sintaxis para declarar un espacio de nombres XML mediante la instrucción Imports es idéntica a la sintaxis usada en XML. Por lo tanto, puede copiar una declaración de espacio de nombres de un archivo XML y usarla en una instrucción Imports.

Los prefijos de espacio de nombres XML son útiles cuando quiere crear repetidamente elementos XML que proceden del mismo espacio de nombres. El prefijo del espacio de nombres XML declarado con la instrucción Imports es global en el sentido de que está disponible para todo el código del archivo. Puede usarlo al crear literales de elemento XML y al tener acceso a las propiedades de eje XML. Para obtener más información, consulte Literal de elemento XML y Propiedades de eje XML.

Si define un espacio de nombres XML global sin un prefijo de espacio de nombres (por ejemplo, Imports <xmlns="http://SomeNameSpace>"), ese espacio de nombres se considera el espacio de nombres XML predeterminado. El espacio de nombres XML predeterminado se usa para cualquier literal de elemento XML o propiedades de eje de atributos XML que no especifiquen explícitamente un espacio de nombres. El espacio de nombres predeterminado también se usa si el espacio de nombres especificado es el espacio de nombres vacío (es decir, xmlns=""). El espacio de nombres XML predeterminado no se aplica a los atributos XML en literales XML ni a propiedades de eje de atributos XML que no tienen un espacio de nombres.

Los espacios de nombres XML definidos en un literal XML, que se denominan espacios de nombres XML locales, tienen prioridad sobre los espacios de nombres XML definidos por la instrucción Imports como globales. Los espacios de nombres XML definidos por la instrucción Imports tienen prioridad sobre los espacios de nombres XML importados para un proyecto de Visual Basic. Si un literal XML define un espacio de nombres XML, ese espacio de nombres local no se aplica a las expresiones insertadas.

Los espacios de nombres XML globales siguen las mismas reglas de ámbito y definición que los espacios de nombres de .NET Framework. Como resultado, puede incluir una instrucción Imports para definir un espacio de nombres XML global en cualquier lugar donde pueda importar un espacio de nombres de .NET Framework. Esto incluye archivos de código y espacios de nombres importados de nivel de proyecto. Para obtener información sobre los espacios de nombres importados de nivel de proyecto, consulte Página Referencias, Diseñador de proyectos (Visual Basic).

Cada archivo de origen puede contener cualquier número de instrucciones Imports. Deben seguir las declaraciones de opción, como la instrucción Option Strict, y deben preceder a las declaraciones de elementos de programación, como las instrucciones Module o Class.

Ejemplo 1

En el ejemplo siguiente se importa un espacio de nombres XML predeterminado y un espacio de nombres XML identificado con el prefijo ns. Posteriormente, crea literales XML que usan los dos espacios de nombres.

' Place Imports statements at the top of your program.  
Imports <xmlns="http://DefaultNamespace">
Imports <xmlns:ns="http://NewNamespace">

Module Module1

  Sub Main()
    ' Create element by using the default global XML namespace. 
    Dim inner = <innerElement/>

    ' Create element by using both the default global XML namespace
    ' and the namespace identified with the "ns" prefix.
    Dim outer = <ns:outer>
                  <ns:innerElement></ns:innerElement>
                  <siblingElement></siblingElement>
                  <%= inner %>
                </ns:outer>

    ' Display element to see its final form. 
    Console.WriteLine(outer)
  End Sub

End Module

Este código muestra el siguiente texto:

<ns:outer xmlns="http://DefaultNamespace"
          xmlns:ns="http://NewNamespace">
  <ns:innerElement></ns:innerElement>
  <siblingElement></siblingElement>
  <innerElement />
</ns:outer>

Ejemplo 2

En el ejemplo siguiente se importa el prefijo ns del espacio de nombres XML. Posteriormente, se crea un literal XML que usa el prefijo del espacio de nombres y muestra el formato final del elemento.

' Place Imports statements at the top of your program.  
Imports <xmlns:ns="http://SomeNamespace">

Class TestClass1

    Shared Sub TestPrefix()
        ' Create test using a global XML namespace prefix. 
        Dim inner2 = <ns:inner2/>

        Dim test = 
        <ns:outer>
            <ns:middle xmlns:ns="http://NewNamespace">
                <ns:inner1/>
                <%= inner2 %>
            </ns:middle>
        </ns:outer>

        ' Display test to see its final form. 
        Console.WriteLine(test)
    End Sub

End Class

Este código muestra el siguiente texto:

<ns:outer xmlns:ns="http://SomeNamespace">
  <ns:middle xmlns:ns="http://NewNamespace">
    <ns:inner1 />
    <inner2 xmlns="http://SomeNamespace" />
  </ns:middle>
</ns:outer>

Observe que el compilador convirtió el prefijo del espacio de nombres XML de un prefijo global a una definición de prefijo local.

Ejemplo 3

En el ejemplo siguiente se importa el prefijo ns del espacio de nombres XML. A continuación, se usa el prefijo del espacio de nombres para crear un literal XML y obtener acceso al primer nodo secundario con el nombre completo ns:name.

Imports <xmlns:ns = "http://SomeNamespace"> 
 
Class TestClass4

    Shared Sub TestPrefix()
        Dim contact = <ns:contact>
                        <ns:name>Patrick Hines</ns:name>
                      </ns:contact>
        Console.WriteLine(contact.<ns:name>.Value)
    End Sub

End Class

Este código muestra el siguiente texto:

Patrick Hines

Consulte también