Investigue las técnicas de compresión XML de última generación

Revise los compresores de datos que reconocen XML (o no) y que usted puede consultar (o no)

XML es considerado un estándar para la representación de datos e intercambio a través de la World Wide Web. XML tiene una gran flexibilidad y gran aceptación, pero una desventaja es el gran tamaño de los documentos XML. Este tamaño significa que la cantidad de información que usted transmite, procesa, almacena y consulta es por lo general más grande que otros formatos de datos. Puede elegir de varias técnicas de compresión XML para tratar esos problemas. Este artículo provee una revisión de las técnicas de compresión XML actuales.

Sherif Sakr, Investigador científico, National ICT Australia

El Dr. Sherif Sakr es investigador científico en Software Systems Group en el National ICT Australia (NICTA), Sidney, Australia. También es profesor adjunto en la Escuela de Ciencias Informáticas e Ingeniería (CSE) en la Universidad de New South Wales (UNSW). Recibió su doctorado en Ciencias Informáticas de la Universidad de Konstanz, Alemania, en el 2007. Recibió sus títulos de BC y MS en Ciencias Informáticas del Departamento de Sistemas de la Información en la Facultad de Computadoras e Información en la Universidad del Cairo, Egipto, en el 2000 y 2003, respectivamente. En el 2011, el Dr. Sakr tuvo una posición de científico investigador visitante en el grupo eXtreme Computing Group (XCG) en Microsoft Research, Redmond, Washington, los Estados Unidos.



29-10-2012

Introducción

Acrónimos utilizados con frecuencia

  • CDATA: Datos de caracter
  • DTD: Definición de tipo de documento
  • GPS: Sistema de posicionamiento global
  • HTML: Lenguaje de marcado de hipertexto
  • PPM: Predicción por coincidencia parcial
  • SAX: API simple para XML
  • W3C: World Wide Web Consortium
  • XML: Extensible Markup Language

XML es una de las tecnologías más importantes y útiles que ha emergido como el resultado de la gran popularidad de HTML y la World Wide Web. XML resuelve diversos problemas dado que brinda una representación de datos neutral entre distintas arquitecturas, cierra la brecha entre sistemas de software con un esfuerzo mínimo y almacena grandes volúmenes de datos semiestructurados.

Por lo general se refiere a XML como datos autodescriptivos porque está designado de manera tal que el esquema se repita por cada registro en el documento. Esta característica autodescriptiva le brinda a XML de una flexibilidad inmensa, pero también introduce el problema de la verbosidad de los documentos XML, lo que resulta en tamaños de documentos gigantes. Dado que el uso de XML continúa creciendo y que los repositorios de documentos XML son actualmente predominantes, la demanda de herramientas de compresión XML eficientes es grande.

Desarrolle habilidades de este tema

Este contenido es parte de knowledge paths progresivo para avanzar en sus habilidades. Vea:

La Ilustración 1 ilustra la ventaja de utilizar compresores XML para reducir el costo de transmitir datos XML a través de la red. Para solucionar el problema de tamaño de documentos XML grandes, varios compresores conscientes de XML explotan la reconocida estructura de documentos XML para lograr las relaciones de compresión que sean mejores que aquellos de compresores de textos generales. Las muchas ventajas de las herramientas de compresión XML incluyen la reducción de ancho de banda de la red requerida para el intercambio de datos, reducción del espacio de disco requerido para almacenamiento, y la minimización de los requisitos de procesamiento y consulta de documentos XML de la memoria principal.

Ilustración 1 Un ejemplo de la ventaja de utilizar compresores XML en la transmisión de datos XML a través de la red.
Diagram of an example of the advantage of using XML compressors in transmitting XML data over the network

En principio, los compresores XML pueden ser clasificados con respecto a dos características principales. La Ilustración 2 muestra la primera clasificación, la que está basada en la consciencia de la estructura de los documentos XML. De acuerdo con esta clasificación los compresores de dividen en dos grupos principales:

  • Compresores de textos generales. Dado que los datos XML se almacenan en como archivos de texto, el primer acercamiento lógico para la compresión de documentos XML fue utilizar las herramientas de compresión tradicionales, de propósito general (por ejemplo, gzip, bzip2). Este grupo de compresores XML es ciego, es decir, tratan a los documentos XML como documentos de texto plano y por ello aplican las técnicas de compresión de texto tradicionales.
  • Compresores conscientes de XML. Este grupo de compresores está designado para tomar ventaja de la consciencia de la estructura de los documentos XML para lograr mejores relaciones de compresión sobre los compresores de texto generales. Este grupo de compresores puede ser clasificado además de acuerdo con su dependencia de la disponibilidad del esquema de información de los documentos XML como a continuación:
    • Compresores que dependen del esquema. Tanto el codificador como el decodificador deben tener acceso a la información del esquema del documento para lograr el proceso de compresión (por ejemplo, rngzip).
    • Compresores independientes del esquema. La habilidad de la información del esquema no es necesaria para lograr los procesos de codificación y decodificación (por ejemplo, XMill, SCMPPM).
Ilustración 2 Clasificación de los compresores XML de acuerdo con su consciencia de la estructura de documentos XML.
Diagram of classification of XML compressors according to their awareness of the structure of XML documents

La Ilustración 3 muestra la segunda clasificación de compresores XML, la que está basada en su habilidad para soportar la consulta como a continuación:

  • Compresores XML de no consulta (de archivo) Este grupo de compresores XML no permite que ninguna búsqueda se procese por medio del formato de compresión (por ejemplo, gzip, bzip2, XMill). El objetivo de este grupo es obtener la mayor relación de compresión. Por predeterminación, los compresores de texto de propósito general pertenecen a un grupo de compresores de no consulta.
  • Compresores XML de consulta. Este grupo de compresores XML permite que las consultas sean procesadas por medio de sus formatos de compresión. La relación de compresión de este grupo es por lo general peor que aquella de los compresores XML de archivo. El objetivo principal de este grupo, sin embargo, es evitar la descompresión completa del documento durante la ejecución de la consulta. De hecho, la habilidad para llevar a cabo consultas directas en formatos XML comprimidos es importante para muchas aplicaciones que tienen hosts en dispositivos de computadora de recursos limitados, como dispositivos móviles y sistemas GPS. Por predeterminación, todos los compresores también son compresores conscientes de XML. Se puede clasificar este grupo de compresores por cómo codifican los datos estructurales y las partes de los documentos XML:
    • Compresores homomórficos. La estructura original del documento XML se retiene, y usted puede acceder y analizar el formato comprimido en la misma manera que en el formato original (por ejemplo, XGrind).
    • Compresores no homomórficos. El proceso de codificación de un documento XML separa la parte estructural de la parte de los datos (por ejemplo, XQueC). Por ello, la estructura del formato comprimido es distinta de la estructura del documento XML original.
Ilustración 3 Clasificación de compresores XML de acuerdo con el soporte de ejecución de búsqueda
Diagram of classification of XML compressors according to their support for executing queries

Compresores de textos generales

XML es una representación de texto para datos con estructura de árbol. Un acercamiento lógico directo para la compresión de documentos XML es utilizar las herramientas de compresión tradicionales y de propósito general. Hay muchos algoritmos diseñados en las últimas décadas que comprimen datos de textos de manera efectiva. Los representantes más populares y eficientes de este grupo son gzip, bzip2 y compresores PPM.

El compresor gzip está basado en el algoritmo DEFLATE de compresión sin pérdida de datos, el cual utiliza una combinación del algoritmo LZ77 y codificación Huffman. Para comprimir datos, el algoritmo LZ77 reemplaza partes de los datos con referencia a datos concordantes que ya han pasado a través tanto el codificador como el decodificador. El codificador Huffman utiliza un método específico para elegir la representación de cada símbolo donde los caracteres más comunes utilizan cadenas más cortas de bits y luego se utilizan para símbolos de origen menos comunes.

El compresor bzip2 utiliza el transformador Burrows-Wheeler para convertir secuencias de caracteres de de recurrencia frecuente en cadenas de letras idénticas y luego aplica una transformación adelantada y finalmente la codificación Huffman.La transformación Burrows-Wheeler permuta el orden de los caracteres de manera tal que si la cadena original tuviese subcadenas recurrentes, entonces la cadena transformada tenga varios lugares donde un solo carácter se repite varias veces consecutivas. Este acercamiento es útil para la compresión dado que tiende a ser fácil comprimir una cadena que tiene ejecuciones de caracteres repetidos. En la práctica, la compresión bzip2 comprime archivos a una relación de compresión mayor que aquellos comprimidos utilizando gzip, pero también tiene un rendimiento menor.

PPM es una técnica de compresión de datos estadísticos adaptables basada en el moldeado del contexto y predicción. Utiliza una técnica de modelado estadístico de contexto finito que combina varios modelos de contexto de orden fijo para predecir el próximo carácter en la secuencia de entrada. Las probabilidades de predicción para cada contexto en el modelo se calculan mediante recuentos de frecuencia, que son actualizados de manera adaptable. El símbolo que de hecho ocurre está codificado en relación a su distribución predicha utilizando una codificación aritmética. A pesar de que PPM es simple y es el compresor más eficiente de los presentados hasta el momento, computacionalmente también es el más caro.

En la práctica, los compresores de textos generales son utilizados ya sea por su logro de objetivos o por su reducción del ancho de banda de la red durante el proceso de intercambio de datos. En general, existe un compromiso entre estos compresores en términos de dos grandes medidas: relación de compresión y el tiempo de compresión/descompresión. Por un lado, la compresión PPM logra la mejor relación de compresión mientras que gzip logra la peor relación de compresión. Por otro lado, gzip tiene el mejor rendimiento en términos de tiempo de compresión/descompresión y mientras que el tiempo de compresión/descompresión de PPM es mucho más lento. bzip2 se encuentra en el medio de ambas medidas. Por lo tanto, la selección del usuario del compresor a utilizar depende principalmente de los requisitos del escenario del usuario en términos de estas dos medidas.


Compresores XML de no consulta (de archivo)

Este grupo de compresores XML no permite que ninguna búsqueda se procese por medio del formato de compresión dado que su enfoque principal es lograr la relación de compresión más alta. Esta sección discute representantes de las dos clases principales de este grupo:

  • Compresores independientes del esquema
  • Compresores dependientes del esquema

Esquemas de compresión independientes del sistema

Esta clase de esquemas de compresión no requiere la disponibilidad de la información del esquema para los procesos de codificación y decodificación. XMill es la primera implementación de un compresor consciente de XML que introdujo la nueva idea de separar la estructura del documento XML de los datos y la agrupar los valores de datos en contenedores homogéneos basado en su rutas de acceso relativas en el árbol y en sus tipos de datos.

En XMill, tanto la parte de los datos estructurales como la de los valores de datos del documento XML fuente son recolectados y comprimidos por separado. En la parte de estructura, las etiquetas y atributos XML son codificados en una forma basada en diccionario antes de pasar la codificación a un esquema de compresión de texto general de fondo. El esquema de codificación estructural de XMill le asigna un código entero a cada elemento distinto y nombre de atributo, el que sirve de clave para los diccionarios de elemento y nombre de atributo. En la parte de datos, los valores de datos son agrupados en contenedores homogéneos y relacionados semánticamente de acuerdo con su ruta y tipo de datos. Cada contenedor es entonces comprimido por separado utilizando un compresor especializado que es ideal para el tipo de datos de este contenedor. Esta operación de agrupado sirve a la localización de repeticiones y por ende mejorar el grado de compresión.

En las versiones más recientes de la distribución fuente de XMill, los binarios intermediarios del formato comprimido se pueden pasar a una de tres alternativas de compresores de fondo de propósito general: gzip, bzip2 y PPM. La Ilustración 4 muestra una revisión de la arquitectura general del compresor XMill con el analizador, estructura y contenedores de datos XML, uno o más esquemas de compresión, y el archivo de compresión XML (que contiene estructuras comprimidas y datos comprimidos).

Ilustración 4 Arquitectura general del compresor XMill
Diagram of the general architecture of the XMill compressor

La Ilustración 5 muestra un ejemplo de la separación de un archivo XML en los contenedores estructurales y de datos Las tablas de elementos y atributos almacenan a los contenedores estructurales del documento XML. Los valores de cada ruta (elemento o atributo) están almacenados en tablas separadas (contenedores). Por ello, los valores en cada contenedor se convierten en homogéneos y pueden ser comprimidos con más eficiencia. Este ejemplo incluye tablas de elementos separados (customers, customers/customer, customers/customer/firstName, customers/customer/lastName, customers/customer/invoice, customers/customer/invoice/items y customers/customer/invoice/items/item) y atributos (customers/customer/@id, and customers/customer/invoice/@total).

Ilustración 5 Un ejemplo de la separación de un archivo XML en los contenedores estructurales y de datos
Diagram of an example of splitting an XML file into structural and data containers

La Ilustración 6 muestra las opciones de la línea de comandos del compresor XMill.

Ilustración 6 Opciones de línea de comandos del compresor XMill
Screen capture of command-line options of the XMill compressor

La Ilustración 7 muestra el efecto de la compresión de un documento XML (tpc.xml, tamaño de 282 KB) utilizando el compresor XMill donde la salida del tamaño del archivo comprimido (tpc.xmi, tamaño de 41 KB) representa el 15 por ciento del tamaño del archivo XML original.

Ilustración 7 La salida de la compresión de un archivo XML utilizando el compresor XMill
Screen capture of the output of compressing an XML file using the XMill compressot

XMLPPM es un compresor XML de modalidad continua que utiliza un modelo PPM multiplexado jerárquico llamado MHM. XMLPPM es considerado una adaptación de un esquema de compresión de propósito general de predicción por coincidencia parcial (PPM). En XMLPPM, un archivo XML es analizado primeramente utilizando un analizador SAX para generar una secuencia de eventos SAX. Cada evento es codificado utilizando una representación de códigos byte llamada ESAX (SAX codificado). Los ESAX de códigos byte son codificados utilizando uno de los tantos modelos PPM multiplexados basados en su estructura sintáctica (elementos, caracteres, atributos y otros símbolos). El compresor SCMPPM ha sido propuesto como una variante del compresor XMLPPM. SCMPPM combina una técnica llamada modelado de contexto de estructura (SCM) con el esquema de compresión PPM. Utiliza un conjunto de modelos PPM más grande que XMLPPM dado que utiliza un modelo separado para comprimir el contenido del texto bajo cada símbolo de elementos.

La relación de compresión y de tiempo de compresión/descompresión de XMill y XMLPPM son muy dependientes de y relacionadas a sus compresores de fondo de propósito general (gzip, bzip2 o PPM). Por ello, tienen el mismo compromiso que sus compresores de fondo de propósito general.

Esquemas de compresión dependientes del sistema

Esta clase de compresores requieren la disponibilidad de la información del esquema del documento XML durante los procesos de codificación y decodificación. Por ejemplo, el compresor XAUST XML convierte la información del esquema del DTD en un set de autómatas finito deterministas (DFA), uno por cada elemento en el DTD. Entonces, cada transición es etiquetada por un elemento, y la acción asociada con la transición es una llamada a un simulador para la DFA para el elemento que etiqueta aquella transición. XAUST agrupa todos los datos para el mismo elemento en un solo contenedor, el que se comprime de manera incremental utilizando un modelo individual para un compresor de orden aritmético 4. Utilizando el la información del esquema DTD, XAUST puede rastrear la estructura del documento y puede hacer predicciones acertadas de los símbolos esperados. Cada vez que el símbolo predicho es único, no hay necesidad de codificarlo dado que el decodificador genera el mismo modelo del DTD y por ello puede generar el símbolo predicho único.

La herramienta XML RNGzip comprime los documentos XML que se ajustan a un esquema Relax NG dado. En RNGzip, el emisor y el receptor deben precisamente ponerse de acuerdo con anticipación acerca del mismo esquema. En este sentido, el esquema es como una clave compartida para la codificación y decodificación. RNGzip utiliza el validador de esquemas Relax NG para construir un árbol autómata determinístico de un esquema especificado. Luego, dado un documento XML, verifica si el XML es aceptado por el autómata. Dado este autómata, un receptor puede reconstruir un documento XML entero al transmitirle muy poca información. Si existiese un punto de elección en el automatón, RNGzip simplemente transmite qué transición fue tomada, y si encuentra la transición de texto, entonces el texto concordante es transmitido.

Teóricamente, los compresores dependientes del esquema pueden lograr apenas su relación de compresión que los compresores independientes del esquema. Pero no son preferibles ni comúnmente utilizados dado que la información del esquema de los documentos XML no siempre estará disponibles, y por ello pierden la ventaja de la flexibilidad de XML para representar datos semiestructurados. Este tipo de compresor puede ser efectivo únicamente cuando se utiliza para comprimir documentos XML con esquemas predefinidos.


Compresores XML de consulta

El foco de compresores XML de consulta es permitir a las consultas ser directamente evaluadas sobre sus formatos comprimidos sin descomprimir todo el documento. La relación de compresión de este grupo es por lo general peor que aquella de los compresores XML de archivo. Este tipo de compresor es importante para muchas aplicaciones que tienen hosts en dispositivos de computadora de recursos limitados, como dispositivos móviles y sistemas GPS. Esta sección discute representantes de las dos clases principales de este grupo:

  • Compresores homomórficos
  • Compresores no homomórficos

Compresores XML de consulta homomórficos

Esta clase de compresores retiene la estructura original del documento XML en el formato comprimido de manera que pueda ser accedida y analizada de la misma manera que el formato original. XGrind es el primer esquema de compresión consciente de XML que soporta la búsqueda sin necesidad de descomprimir completamente el documento XML comprimido. XGrind no separa datos de estructura. Retiene la estructura original del documento XML.

La naturaleza homomórfica del formato comprimido XGrind le garantiza muchas características interesantes:

  • El documento XML comprimido puede ser visto como el documento XML original con sus etiquetas y valores de elementos/atributos reemplazados por sus codificaciones correspondientes. Por consiguiente, XGrind puede ser considerado un analizador SAX extendido.
  • Las técnicas de indexación XML pueden ser construidas en el documento comprimido en una manera similar a aquellas que pueden construirse en documentos XML regulares. En XGrind, los nombres de elementos y atributos son codificados utilizando un esquema de códigos basado en el diccionario, y los datos de caracteres se comprimen utilizando un codificado Huffman semiadaptable. El procesador de consultas XGrind puede tratar consultas de coincidencias exactas y coincidencias de prefijos en valores comprimidos y consultas de coincidencias parciales y de rango en valores descomprimidos. Sin embargo, hay varias operaciones que no son soportadas por XGrind, por ejemplo, las selecciones de no calidad en el dominio comprimido. Es entonces que XGrind no puede llevar a cabo ninguna operación conjunta, de adición, de consultas anidadas o de construcción.

XPress es otro compresor XML de consulta homomórfica que utiliza una combinación de las características ara comprimir y extraer datos XML de manera eficiente.Para codificar las etiquetas y las rutas de los documentos XML utiliza un método de codificación aritmético reverso a través de distintos intervalos. Las expresiones de ruta son evaluadas en datos XML comprimidos utilizando las relaciones de contención a través de los intervalos. El esquema de compresión de XPress es uno semiadaptable que utiliza un escaneo preliminar del archivo de entrada para reunir información estadística, y las reglas de codificación para los datos son independientes de las ubicaciones de estos. También utiliza codificadores apropiados para valores de datos basados en su información de tipo automática inferida.

Compresores XML de consulta no homomórficos

Esta clase de compresores separa la parte estructural de la parte de datos durante el proceso de codificación del documento XML. Por ello, distinto de la clase homomórfica, la estructura del formato comprimido es diferente de la estructura del documento XML original y necesita ser analizado en una forma distinta durante el proceso de descompresión. Estos, sin embargo, pueden lograr una relación de compresión mejor. Por ejemplo, XSeq es un esquema de compresión XML de consulta basado en gramática, el cual es considerado una adaptación del famoso algoritmo de compresión de cadenas de texto basadas en gramática, Sequitur.

En XSeq, los tokens del archivo XML de entrada están separados en una serie de contenedores, cada uno de los cuales es comprimido utilizando Sequitur. EL algoritmo de compresión Sequitur es un algoritmo online de tiempo lineal que forma gramáticas libres de contexto para una determinada entrada de cadena. Al utilizar las gramáticas libres de contexto, XSeq evita el escaneo secuencial de datos comprimidos irrelevantes y procesa solo valores de datos que serán igualados en la consulta dada. Además, las gramáticas libres de contexto le permiten a XSeq procesar consultas directamente sobre el archivo comprimido sin descompresión parcial o completa. Para correlacionar los valores de datos almacenados en distintos contenedores y acelerar el tiempo de evaluación de la consulta, XSeq utiliza una seria de índices que son almacenados dentro del archivo comprimido y cargados en la memoria antes de procesar los contenidos de regla. Por ejemplo, utiliza un índice estructural a través del cual cada valor de datos puede ser rápidamente ubicado en el contenedor sin ser descomprimido, mientras que el índice de cabecera contiene una lista de indicadores para la entrada de cada contenedor en el archivo.

El compresor XML TREECHOP es otro compresor de consulta XML donde el proceso de compresión comienza llevando a cabo un análisis basado en SAX del documentos XML y los tokens analizados se transcriben en la secuencia de compresión en un orden que prioriza la profundidad. La palabra código para cada nodo contiene el prefijo de la palabra código de su padre, y dos nodos en el árbol del documento XML comparten la misma palabra código si tienen la misma ruta. A cada sección CDATA, comentario, instrucción de procesamiento, y nodo no final se le asigna una palabra código binaria. Esta palabra código es únicamente asignada basada en la ruta del nodo de árbol. Dado que las codificaciones de nodo de árbol están escritas en la secuencia de compresión en un orden que prioriza la profundidad, es posible que el descompresor regenere el documento XML original utilizando la información de codificación adaptable de manera incremental. En TREECHOP, las consultas de coincidencia exacta y consultas de rango pueden ser llevadas a cabo utilizando un solo escaneo a través de la secuencia de compresión.

El sistema XQuec emplea un modelo de fragmentación y almacenamiento para los documentos XML comprimidos basado en la estructura de separación y contenido dentro del documento XML. Además, depende de una opción adecuada acerca de cómo agrupar contenedores para asegurar que los contenedores pertenecientes al mismo grupo también aparezcan juntos en predicados de consulta. Para realizar la evaluación de un predicado dentro del dominio comprimido, asegura que los contenedores involucrados en el predicado pertenecen al mismo grupo y son comprimidos con un algoritmo que soporta dicho predicado en el dominio comprimido. La información acerca de los predicados se infiere utilizando las cargas de trabajo de las consultas disponibles. XQueC explota la información de la carga de trabajo de la consulta para particionar los contenedores en conjuntos de acuerdo con el modelo de fuente y para asignar apropiadamente los algoritmos de compresión más adecuados a cada conjunto. XQueC también ha designado un álgebra para evaluar las consultas XML. Esta álgebra es explotada por un optimizador basado en costo que puede mezclar libremente operadores regulares y conscientes de la compresión.


Conclusión

En este artículo de revisión, hemos repasado las técnicas de compresión más innovadoras. La innovación principal en los mecanismos de compresión XML se presentó en la primera implementación en este dominio por XMill. Introdujo la idea de separar la parte estructural del documento XML de la parte de datos para luego agrupar los elementos de datos relacionados en contenedores homogéneos que pueden ser comprimidos por separado. Esta separación mejora los siguientes pasos de comprimir estos contenedores homogéneos con compresores de propósito general u otros mecanismos de compresión porque pueden detectar los datos redundantes más fácilmente.

La mayoría de los compresores XML restantes simularon esta idea de diferentes maneras. Las medidas del tiempo de compresión y el tiempo de descompresión juegan un papel crucial en la diferenciación entre diferentes técnicas de compresión XML. En principio, los compresores XML dependientes del esquema no son preferibles o comúnmente utilizados en la práctica dado que la información de los documentos XML no está siempre disponible y en el formato requerido (DTD, XML, Schema, RElaxNG). A pesar de que los compresores de consulta XML son muy importantes para muchas aplicaciones, las implementaciones sólidas de técnicas de compresión XML basadas en gramática y los compresores de consulta XML no están públicamente disponibles. Estas dos áreas proveen muchos caminos interesantes para investigación y desarrollo a futuro.

Recursos

Aprender

Obtener los productos y tecnologías

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=
ArticleID=843005
ArticleTitle=Investigue las técnicas de compresión XML de última generación
publish-date=10292012