Explicación de la estructura lógica

La primera fase de un enfoque de modelado de datos mediante DFDL implica el análisis de la estructura lógica de los datos.

Procedimiento

  1. Identifique las estructuras complejas.
    Las estructuras complejas corresponden a los tipos complejos del modelo. Habrá un tipo complejo global para el propio conjunto de todos los datos. Si los datos contienen subestructuras, cada una de ellas tendrá un tipo complejo. Por ejemplo, cada nivel de estructura de una COPY de COBOL, o cada fila diferente de un mensaje CSV, se corresponde con un elemento de tipo complejo.
  2. Identifique elementos simples.
    Los elementos simples aparecen dentro de cada tipo complejo, y cada uno tiene un tipo de datos lógico. Los elementos simples corresponden a elementos simples. Por ejemplo, cada campo de una COPY de COBOL con una cláusula PIC, o cada valor separado por coma de un mensaje CSV, se corresponde con un elemento de tipo simple.
  3. Identifique la ordenación de la estructura.
    La ordenación determina si el grupo dentro de un tipo complejo es una secuencia o una opción. En una opción solo puede suceder uno de los elementos listados. Son ejemplos las uniones de C y las REDEFINES de COBOL.
  4. Identifique la estructura y la cardinalidad de los elementos.
    La cardinalidad proporciona los valores para laminOccursymaxOccurspropiedades lógicas de los elementos.
    • Es un elemento necesario (minOccurs != 0) o facultativo (minOccurs = 0)?
    • Es un elemento de una matriz (maxOccurs > 1)?
    • Si es así, hay un número fijo de apariciones (minOccurs = maxOccurs) o un número variable de apariciones (minOccurs != maxOccurs)?
    • ¿Puede el número de apariciones ser ilimitado (maxOccurs = unbounded)?
  5. Identifique los elementos que pueden ser nulos y los valores predeterminados.
    Algunos elementos pueden necesitar llevar un valor de fuera de rango especial, en cuyo caso deben tener nulos permitidos. Por ejemplo, puede que un campo numérico en una COPY de COBOL esté en ocasiones establecido a SPACES, lo que no es legal en un número DFDL. Puede que algunos elementos obligatorios estén vacíos en los datos, en cuyo caso puede proporcionarse un valor predeterminado.
  6. Considere si hay algún componente que pueda reutilizarse.
    Si alguno de los tipos es habitual, considere la creación de tipos simples o complejos globales. Si alguno de los elementos es habitual, considere la creación de elementos globales.

Ejemplo

Imagen que muestra el formato de datos con dos tipos complejos.

Como ejemplo, la imagen muestra un archivo de registros de empleado. Este archivo podría modelarse utilizando DFDL como un elemento complejo globalemployeesque contiene un elemento complejoemployeeRecord.employeeRecordEl elemento repite un número arbitrario de veces, por lo que maxOccurs se establece enunbounded.

ElemployeeRecordes una secuencia de elementos simples:
  • nameDe tipo xs:string
  • ageDe tipo xs:int
  • dobDe tipoxs:date
  • permanentDe tipo xs:boolean
  • salaryDe tipoxs:decimal.
ElsalaryEl elemento sólo está presente cuandopermanentesY, por lo que es opcional y tiene minOccurs0. Todos los demás elementos simples son necesarios y tienen minOccurs1.

Qué hacer a continuación

La siguiente etapa es configurar las anotaciones DFDL: Configuración de las anotaciones DFDL