filter.csv-to-xml.url-template
Background
As each row in the CSV file is converted into a new XML document each document will need a unique URL. This option allows you to use freemarker templating language to define the URL to use.
Variables
The following variables are made available in the template:
-
${scheme_host_port}
: Contains the scheme, host and port e.g.https://example.com:81
-
${path}
: The path of the URL as is e.g./foo/bar
. -
${path_ends_with_slash}
: The path of the URL such that it ends with a slash, if the original URL path is/foo/bar
this value will be set to/foo/bar/
. -
${query}
: The query part of the URL e.g.?foo=bar
. -
${query_ends_with_query_separator}
: The query part of the URL such that it ends with either?
or&
such that an argument can be appended for example if the query is?foo=bar
this will be set to?foo=bar&
. -
${id_number}
: Usually the row number of the record of the CSV file. -
${fragment}
: The fragment of the URL e.g.#Foo
. -
${csv_value_by_header}
: A map of the CSV record where the key is the field name (from the header) and the value is the value of that field, for example to get the year of the csv record
${(csv_value_by_header['year'])?url}
. If the header is not defined you can access the n’th field usingfield_n
for example to access the first field use${(csv_value_by_header['field_0'])?url}
. The?url
part is for escaping the field value so that it is safe to be in a URL.
Setting the key
Set this configuration key in the search package or data source configuration.
Use the configuration key editor to add or edit the filter.csv-to-xml.url-template
key, and set the value. This can be set to any valid String
value.