Si los mensajes están en XML, puede utilizar el formato físico XML en
el dominio MRM o uno de los dominios XML dedicados. Se da soporte a tres
dominios XML. Los dominios XMLNSC y XMLNS proporcionan soporte de espacio
de nombres, pero el dominio XML no da soporte a los espacios de nombre
XML y sólo se proporciona por compatibilidad con WebSphere MQ Integrator
Versión 2.
La elección del dominio MRM o uno de los dominios XML
dedicados (XMLNSC o XMLNS), depende de la naturaleza de sus mensajes
XML y de la lógica de transformación que desee utilizar. Las características que diferencian a estos dominios se describen más abajo.
- El analizador para el dominio MRM funciona basándose en modelos,
y utiliza un diccionario de mensajes que se genera a partir de un conjunto
de mensajes. Este diccionario de mensajes permite al analizador MRM
interpretar los datos de un mensaje XML.
Por ejemplo:
- El analizador MRM puede validar los mensajes XML con el modelo,
durante el análisis y la serialización.
- El modelo indica el tipo de datos real de un campo del mensaje,
en lugar de tratarlo siempre como una serie de caracteres.
- Los datos binarios Base64 se pueden decodificar automáticamente.
- La información de fecha y hora se puede extraer de un valor de datos utilizando una serie de caracteres de formato especificada.
- Cuando se crean mensajes de salida, el analizador MRM puede generar
automáticamente la declaración XML, y otras construcciones XML, basándose en
opciones del modelo; esto simplifica la lógica de transformación.
- Los analizadores para los dominios XMLNSC y XMLNS son programáticos y
no utilizan un modelo para el análisis.
Por ejemplo,
- Todos los datos de un mensaje XML se tratan como series de caracteres.
- La validación no es posible durante el análisis y la serialización.
- La lógica de transformación debe crear explícitamente todas las
construcciones en un mensaje de salida.
- Tanto el análisis como la serialización son más rápidos que con el
dominio MRM.
- El analizador MRM elimina algunas partes de un mensaje XML durante el
análisis; por ejemplo, la declaración XML, las declaraciones de
espacios de nombres, formato de espacios en blanco, comentarios
XML, instrucciones de proceso XML y DTDs incorporadas. Si utiliza este analizador, no podrá crear estas construcciones cuando cree un mensaje de salida.
- El analizador XMLNSC, por omisión, elimina el formato de espacios en
blanco, los comentarios XML, las instrucciones de proceso XML y las
DTD incorporadas. Sin embargo, se proporcionan opciones para conservar
todas estas construcciones, excepto las DTD incorporadas. Puede crearlas todas, excepto las DTD incorporadas, cuando construye un
mensaje de salida.
- El analizador XMLNS conserva todas las partes de un documento XML,
incluido el formato de espacios en blanco. Al crear un mensaje de salida,
puede crear todas las construcciones XML.
- Los analizadores MRM y XMLNSC crean árboles de mensaje compactos que
utilizan menos elementos de sintaxis que el analizador XMLNS para
elementos simples y atributos, por lo que estos analizadores son más
adecuados para el análisis de mensajes XML de gran tamaño.
- El analizador XMLNS crea un árbol de mensaje que sigue más fielmente
el modelo de datos XML. Es posible que desee utilizar este analizador si
utiliza XPath para acceder al árbol de mensaje, y la posición relativa de
los nodos padre e hijo es importante, o si accede a los nodos de texto
directamente.
Consejo: Si debe validar el contenido y los valores en los
mensajes XML, utilice el dominio MRM.
Consejo: Si el rendimiento es importante y no tiene que validar
los mensajes XML, utilice el dominio XMLNSC.
Consejo: Si tiene que conservar el formato en los mensajes
XML en la salida, utilice el dominio XMLNSC con la opción para
conservar contenido mixto.
Consejo: Si utiliza XPath para acceder al árbol de mensaje y
necesita que el árbol de mensaje satisfaga lo máximo posible las normas de
modelos de datos XML, utilice el dominio XMLNS.
Consejo: Si toma datos no XML que se han analizado con los
formatos CWF o TDS del dominio MRM y transforma los datos en XML
equivalente, utilice el dominio MRM.