Read from XML

La etapa Read from XML (Lectura desde XML) lee archivos XML en un trabajo o subflujo. Define la ruta del archivo y el formato de los datos, incluidos el esquema de XML y los detalles de los elementos de datos.

Los elementos XML simples se convierten en archivos planos y se envían a la etapa siguiente. Los datos XML simples consisten en registros compuestos por elementos XML que contienen solamente datos, sin elementos secundarios. Por ejemplo, a continuación se muestra un archivo de datos XML simple:

<customers>
    <customer>
        <name>Sam</name>
        <gender>M</gender>
        <age>43</age>
        <country>United States</country>
    </customer>
    <customer>
        <name>Jeff</name>
        <gender>M</gender>
        <age>32</age>
        <country>Canada</country>
    </customer>
    <customer>
        <name>Mary</name>
        <gender>F</gender>
        <age>61</age>
        <country>Australia</country>
    </customer>
</customers>

Tenga en cuenta que en este ejemplo, cada registro contiene elementos de XML simples, como <name>, <gender>, <age> y <country>. Ninguno de los elementos contiene elementos secundarios.

La etapa Read from XML comprime automáticamente datos simples como estos porque la mayoría de las etapas requieren que los datos estén en formato plano. Si desea conservar la estructura jerárquica, utilice una etapa Aggregator después de Read from XML para convertir los datos en datos jerárquicos.

Los elementos XML complejos permanecen en formato jerárquico y son enviados como campos de lista. Dado que muchas etapas requieren que los datos estén en formato plano, es posible que tenga que comprimir los elementos XML complejos para poder utilizarlos en etapas posteriores. Para obtener más información, consulteCompresión de elementos XML complejos.

Nota: Read From XML no admite tipos de XML xs:anyType y xs:anySimpleType.

Ficha Propiedades del archivo

Tabla 1. Ficha Propiedades del archivo

Nombre de la opción

Descripción

   

Archivo de esquema

Especifica la ruta a un archivo de esquema XSD. Haga clic en el botón de los puntos suspensivos (...) para buscar el archivo que desea. Cabe destacar que el archivo de esquema debe estar en el servidor para que el archivo de datos pueda validarse con el esquema. Si el archivo de esquema no está en el servidor, se deshabilita la validación.

De forma alternativa, puede especificar un archivo XML en vez de un archivo XSD. Si especifica un archivo XML, el esquema se inferirá a partir de la estructura del archivo XML. Usar un archivo XML en vez de un XSD tiene las siguientes limitaciones:

  • El archivo XML no puede pesar más de 1 MB. Si el archivo XML pesa más de 1 MB, intente eliminar algunos de los datos sin afectar la estructura del archivo.
  • El archivo de datos no se validará con el esquema inferido.
Nota: Si el servidor de Spectrum™ Technology Platform está ejecutándose en Unix o Linux, recuerde que estas plataformas distinguen las mayúsculas de las minúsculas en los nombres de los archivos y las rutas.
   

Archivo de datos

Especifica la ruta al archivo de datos XML. Haga clic en el botón de los puntos suspensivos (...) para buscar el archivo que desea.

Nota: Si el servidor de Spectrum™ Technology Platform está ejecutándose en Unix o Linux, recuerde que estas plataformas distinguen las mayúsculas de las minúsculas en los nombres de los archivos y las rutas.
   

Vista previa

Muestra una vista previa del esquema o archivo XML. Cuando especifica un archivo XSD, la estructura de árbol refleja el archivo XSD seleccionado. Una vez que haya especificado tanto el archivo de esquema como el archivo de datos, haga clic en los elementos del esquema que están en negrita para previsualizar los datos que contiene ese elemento.

   

Ficha Campos

Tabla 2. Ficha Campos

Nombre de la opción

Descripción

Filtro

Filtra la lista de elementos y atributos para que sea más fácil de examinar. El filtro no tiene ningún impacto sobre qué campos se incluirán en la salida. Solamente filtra la lista de elementos y atributos para que sea más fácil de examinar.

XPath

La columna XPath muestra la expresión XPath del elemento o atributo. Se muestra únicamente con fines informativos. Para obtener más información sobre XPath, consulte www.w3schools.com/xpath/.

Campo

El nombre que se utilizará para el elemento o atributo en el flujo de datos. Para cambiar el nombre del campo, haga doble clic y escriba el nombre que desee.

Tipo

El tipo de datos que se utilizará en el campo.

bigdecimal
Un tipo de dato numérico que admite 38 puntos decimales de precisión. Utilice este tipo de datos para datos que se usarán en cálculos matemáticos que requieren un alto grado de precisión, especialmente aquellos que implican datos financieros. El tipo de datos bigdecimal es compatible con cálculos más precisos que el tipo de datos double.
boolean
Tipo de dato lógico con dos valores: verdadero y falso
fecha
Un tipo de dato que contiene un mes, día y año. Las fechas deben estar en el formato aaaa-MM-dd. Por ejemplo, 2012-01-30.
fecha y hora
Un tipo de dato que contiene un mes, día, año y horas, minutos y segundos. Datetime debe estar en el formato aaaa-MM-dd'T'HH:mm:ss. Por ejemplo, 2012-01-30T06:15:30
double
Un tipo de dato numérico que contiene números de doble precisión tanto negativos como positivos entre 2-1074 y (2-2-52)×21023. En notación científica, el rango de valores es - 1.79769313486232E+308 a 1.79769313486232E+308.
float
Un tipo de dato numérico que contiene números de precisión simple tanto negativos como positivos entre 2-149 y (2-223)×2127. En notación científica, el rango de valores es - 3.402823E+38 a 3.402823E+38.
integer
Un tipo de datos numérico que contiene números enteros positivos y negativos entre -231 (-2,147,483,648) y 231-1 (2,147,483,647).
list
En sentido estricto, una lista no es un tipo de dato. Sin embargo, cuando un campo contiene datos jerárquicos, es tratado como un campo "lista". En Spectrum™ Technology Platform una lista es una colección de datos que consiste en múltiples valores. Por ejemplo, un campo Nombres puede contener una lista de valores de nombre, lo que puede representarse mediante una estructura XML de la siguiente forma:
<Names>
    <Name>John Smith</Name>
    <Name>Ann Fowler</Name>
</Names>
Cabe destacar que el tipo de dato lista de Spectrum™ Technology Platform es diferente del tipo de dato lista del esquema XML puesto que este último es un tipo de dato simple que está compuesto de valores múltiples, mientras que el tipo de dato lista de Spectrum™ Technology Platform es similar a un tipo de dato complejo del esquema XML.
long
Un tipo de datos numérico que contiene números enteros positivos y negativos entre -263 (-9223372036854775808) y 263-1 (9223372036854775807).
string
Secuencia de caracteres.
hora
Un tipo de dato que contiene la hora del día. La hora debe estar en el formato HH:mm:ss. Por ejemplo, 21:15:59.

Incluir

Especifica si este campo estará disponible en el flujo de datos o si se lo excluirá.

Ejemplo: Archivo XML simple

En este ejemplo, usted desea leer el siguiente archivo en un flujo de datos:

<addresses>
    <address>
        <addressline1>One Global View</addressline1>
        <city>Troy</city>
        <state>NY</state>
        <postalcode>12128</postalcode>
    </address>
    <address>
        <addressline1>1825B Kramer Lane</addressline1>
        <city>Austin</city>
        <state>TX</state>
        <postalcode>78758</postalcode>
    </address>
</addresses>

En este ejemplo, podría incluir <addressline1>,<city>, <state> y <postalcode>. Como resultado, se crearía un registro para cada elemento <address> dado que <address> es el elemento padre común para <addressline1>,<city>, <state> y <postalcode>.