Compartir a través de


Transformación funcional de XML

Actualización: November 2007

Este tema trata acerca de la aproximación enfocada a la transformación funcional pura para modificar documentos XML, comparándola con la aproximación basada en procedimientos.

Modificar un documento XML

Una de las tareas más comunes que deben llevar a cabo los programadores de XML es la de transformar XML de una forma a otra. La forma de un documento XML es la estructura del documento, que incluye lo siguiente:

  • La jerarquía expresada por el documento.

  • Los nombres de elementos y atributos.

  • Los tipos de datos de los elementos y atributos.

En general, la aproximación que resulta más efectiva a la hora de transformar un XML de una forma a otra, es realizar una transformación funcional pura. De esta forma, la principal tarea del programador es crear una transformación que se aplique a todo el documento XML (o a uno o más nodos estrictamente definidos). Se puede argüir que la transformación funcional es la más sencilla de programar (siempre y cuando el programador esté familiarizado con esta técnica), que genera un código muy fácil de mantener y que, a menudo, es una alternativa más compacta que las otras.

Tecnologías de transformación funcional de XML

Microsoft ofrece dos tecnologías de transformación funcional que pueden utilizarse con documentos XML: XSLT y LINQ to XML. XSLT se proporciona a través del espacio de nombres administrado System.Xml.Xsl y de la implementación nativa COM de MSXML. Aunque XSLT es una tecnología robusta para manipular documentos XML, requiere experiencia en un campo muy especializado, el lenguaje XSLT y sus API de apoyo.

LINQ to XML proporciona las herramientas necesarias para programar potentes transformaciones funcionales puras mediante expresiones, utilizando código C# o Visual Basic. Por ejemplo, muchos de los ejemplos incluidos en la documentación de LINQ to XML utilizan una aproximación funcional pura. Por otro lado, en el tutorial Manipular información en un documento WordprocessingML, utilizamos LINQ to XML con la aproximación funcional para manipular la información contenida en un documento de Microsoft Word.

Para ver una comparación más exhaustiva entre LINQ to XML y otras tecnologías XML de Microsoft, vea Diferencias entre LINQ to XML y otras tecnologías XML.

XSLT es una herramienta recomendada para transformaciones basadas en el documento, cuando el origen de éste tiene una estructura irregular. No obstante, LINQ to XML también puede realizar transformaciones basadas en el documento. Para obtener más información, vea Cómo usar anotaciones para transformar árboles LINQ to XML en un estilo XSLT.

Vea también

Conceptos

Introducción a las transformaciones funcionales puras

Tutorial: manipular contenido en un documento WordprocessingML

Diferencias entre LINQ to XML y otras tecnologías XML