Client configuration

The client configuration consists of variables for their organisation name, identifier, and so on. These are stored in config/csvxml-iati.xslt in their workspace directory.

The location of the workspace is variable. However, in XSLT it is not possible to import or include another file using a variable filename.

Therefore, we have to add a bit of complexity.

  • The Ant build target first copies a generic template sheets-iati.xslt into the config directory.

  • Next, this stylesheet includes the generic stylesheets using a hard-coded path, and the client variables using a relative path that does need a variable.

Possible future development: change this to reading the variables from a JSON file in the workspace.
Diagram
1 Contains organisation identifier, name, and so on.
2 Can include a file with client-specific templates, and override generic csv processing.
3 Contains generic template functions, and default configuration variables.

In XSLT, an xsl:include simply puts the contents of the included file into the including file. Included templates, variables, and so on, will have the same precedence as those in the including file.

An xsl:import creates a precedence tree: the importing file can override a template, variable, and so on.

Twitter LinkedIn Github Gitlab Meetup RSS Miro Trello Zotero Hypothesis