Citoid/Maps TemplateData

Example of TemplateData skeleton with empty maps value
Below, a barebone example of templateData that shows you how the 'maps' key fits in with the rest of the templateData. 'maps' values correspond to the name of the service being used, in this case 'citoid.'. The values in the citoid object must be valid 'params' (i.e. in this case, 'foo' - aliases are not allowed); 'maps' keys, i.e. 'bar' here, correspond to keys coming from the citoid service.

Real example
This is an example of a partial 'maps' value from the Cite web template on en wiki. The full templateData can be viewed on the page source.

Available fields and field structure
A complete list of fields for each zotero type is available at https://aurimasv.github.io/z2csl/typeMap.xml. These largely match the citoid fields. However, there are some exceptions.

In 'zotero' format, the field "creators" is a structured object that contains a list of creators with the creator type. In the 'mediawiki' format, the creatorType is transformed into a key. So instead of the creators key, there will be an 'editor' key as well as a 'author', 'contributor', and 'translator' keys. These correspond to a two dimensional array, or matrix, which map onto the first and last names of the creators. If there is only one name for the contributor, the second value will be an empty string.

The other way mediawiki fields differ is that the values for ISSN and ISBN are lists, not strings.

On the type map, sometimes there is a base field in parentheses, i.e. websiteTitle (publicationTitle). Where this is the case, you can always expect to get the specific field type, i.e. websiteTitle. At the current time, there is no way to request the base type instead of the specific field type.