Información general sobre los espacios de nombres (LINQ to XML)
Actualización: November 2007
Este tema presenta los espacios de nombres, la clase XName y la clase XNamespace.
Nombres XML
Los nombres XML a menudo son una fuente de complejidad en la programación XML. Un nombre XML se compone de un espacio de nombres XML (también denominado URI de espacio de nombres XML) y un nombre local. Un espacio de nombres XML es similar a un espacio de nombres en un programa basado en .NET Framework. Permite certificar de manera exclusiva los nombres de los elementos y los atributos. Evita conflictos de nombres entre varias partes de un documento XML. Una vez que haya declarado un espacio de nombres XML, puede seleccionar un nombre local que sólo debe ser único en dicho espacio de nombres.
Otro aspecto de los nombres XML son los prefijos de espacios de nombres XML. Los prefijos XML generan la mayor parte de la complejidad de los nombres XML. Estos prefijos permiten crear un acceso directo de un espacio de nombres XML, lo que hace que el documento XML sea más conciso y comprensible. Sin embargo, los prefijos XML dependen de su contexto para tener un significado, lo que aumenta la complejidad. Por ejemplo, el prefijo XML aw podría asociarse a un espacio de nombres XML en una parte del árbol XML y a un espacio de nombres XML diferente en una parte distinta de dicho árbol.
Una de la ventajas de usar LINQ to XML con C# consiste en no tener que usar prefijos XML. Cuando LINQ to XML carga o analiza un documento XML, cada prefijo XML se resuelve en su espacio de nombres XML correspondiente. Después, cuando trabaje con un documento que usa espacios de nombres, la mayoría de las veces tendrá acceso a dichos espacios de nombres mediante el URI de éstos, y no mediante prefijo. Cuando los desarrolladores trabajan con nombres XML en LINQ to XML, siempre lo hacen con un nombre XML completo (es decir, un espacio de nombres XML y un nombre local). Sin embargo, si es necesario, LINQ to XML permite trabajar con prefijos de espacios de nombres y controlarlos.
Si usa LINQ to XML con literales XML y Visual Basic, debe usar los prefijos para trabajar con documentos en espacios de nombres.
En LINQ to XML, la clase que representa los nombres XML es XName. Los nombres XML aparecen frecuentemente en la API LINQ to XML, y cuando se requiera un nombre XML, encontrará un parámetro XName. No obstante, apenas se trabaja directamente con un objeto XName. XName contiene una conversión implícita de cadena.
Para obtener más información, vea XNamespace y XName.