FB_XmlRead Consideraciones

Consideraciones

Tenga en cuenta las siguientes restricciones en la lectura de un archivo XML:

oSólo se admiten archivos XML con codificación ASCII.

oLos espacios en blanco se interpretan como valores; las tabulaciones no se interpretan como valores.

oNo está permitido el uso de saltos de línea en los valores. Si un valor incluye un salto de línea, los caracteres que preceden al salto de línea se tienen en cuenta durante el análisis.

oSólo se leen los nombres de los elementos y sus atributos junto con sus valores y después se almacenan en el búfer que proporciona la aplicación. Como consecuencia, el analizador XML no detecta los objetos XML que no sean elementos y atributos, como por ejemplo los comentarios y las declaraciones DOCTYPE.

oNo se admiten los objetos CDATA. El contenido de los objetos CDATA se interpreta como un valor del elemento abierto.

oLos valores leídos del archivo se almacenan como valores STRING en la aplicación. Esto se aplica incluso a los valores numéricos. Para poder procesar los valores, deben convertirse al tipo de datos adecuado. Para ello, se recomienda utilizar las funciones de conversión STRING_TO_. Las funciones de conversión requieren una sintaxis específica de los valores STRING según el tipo de datos de destino. Tenga en cuenta estos requisitos al crear los archivos para simplificar el proceso de los valores de lectura.

oAnalizar el archivo XML es un proceso que requiere mucho tiempo. Se lleva a cabo de forma paralela a la tarea que llama al bloque de funciones. Por tanto, el tiempo de análisis forma parte del tiempo de ejecución de la tarea. Como resultado, para un solo ciclo, se produce un aumento del tiempo de ejecución de la tarea mientras se ejecuta el bloque de funciones FB_XmlRead. Según el tamaño del archivo y del controlador, el ciclo de la tarea puede llegar a tardar unos segundos. Para evitar que se bloqueen otros procesos al analizar un archivo XML, cree una tarea independiente con prioridad baja (>24) para esta función. Además, considere si se puede deshabilitar el watchdog de esta tarea para evitar excepciones de watchdog durante el proceso de análisis. Para obtener más información, consulte el capítulo Watchdogs del sistema y de tareas en la guía de programación de su controlador.

oNo procese los datos desde el búfer incluido mediante i_refXmlItems mientras la salida q_xBusy del bloque de funciones indique TRUE.

oNo acceda a un mismo archivo con diferentes bloques de funciones a la vez. Utilice la salida q_xBusy para bloquear la ejecución de bloques de funciones distintos.