icatproject/python-icat

Add a way to feed environment information into the XSLT in IngestReader

Closed this issue · 0 comments

The IngestReader first validates its input against an XML Schema Definition (XSD). In a second step, the input is transformed into generic XML ICAT data file format using an XSL Transformation (XSLT).

There should be way to feed additional environment information into that XSL Transformation. One obvious element of that environment information would be the version of the ICAT server the output is going to be ingested into. The XSLT might use that information in conditional statements to adapt the output to the environment.

One case where this would be needed is if icatproject/icat.server#231 will be implemented: the current XSLT shipped with python-icat adds a reference to the Investigation to sample elements. Depending on the version of the ICAT server we will talk to, this relation will need to be adapted.