"Seegrid will be due for a migration to confluence on the 1st of August. Any update on or after the 1st of August will NOT be migrated"
Detailed description of how we transform XML data into tables.

Input Variants

The XSLT needed to transform the data has to vary in how it follows references vs inline data. Whilst this can be abstracted to some degree, because XSLT doesn't understand XML Schema it doesn't follow the schema references for substition automatically.

Thus we need at least part of our processing to vary according to the (legal) variants of source GML.

Navigational Pattern

I have a feeling there's a desirable pattern where we abstract the points of reference, where an inline variation can refer elsewhere, with standard formatting output used for the chunks that are either inline or referred to. Unfortunately, this is probably not possible at present because of the issues with dynamic path following.

Filling a Table

For tabular output, there's the issue of different columns. We must know at the start of the table the maximum number of columns to create and be able to put blank values in where necessary. The table output will usually run Analyte's downwards (being the dimension of most variablility. We can cope per-row with missing values such as coordinates.

For best comprehension, the rows within each sample should be sorted into the same Analyte order before rendering to the table.

Unifying Model

For the above reasons, the unified model presumes transforming the data into a common representation and then post-processing to sort before output to a table.

  • Data flow for transforms:
    GMLTabularTransforms.png
Topic attachments
I Attachment Action Size Date Who Comment
GMLTabularTransforms.pngpng GMLTabularTransforms.png manage 23.7 K 04 Nov 2004 - 14:55 AndyDent updated with inline version shown as normalised
TabularTransforms.dotdot TabularTransforms.dot manage 0.4 K 04 Nov 2004 - 14:54 AndyDent update to show inline XML is normalised
Topic revision: r6 - 15 Oct 2010, UnknownUser
 

Current license: All material on this collaboration platform is licensed under a Creative Commons Attribution 3.0 Australia Licence (CC BY 3.0).