aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/templates/affiliations.jats35
-rw-r--r--data/templates/article.jats_publishing7
-rw-r--r--data/templates/default.jats_articleauthoring7
-rw-r--r--doc/jats.md84
4 files changed, 127 insertions, 6 deletions
diff --git a/data/templates/affiliations.jats b/data/templates/affiliations.jats
new file mode 100644
index 000000000..b6cc4f7d5
--- /dev/null
+++ b/data/templates/affiliations.jats
@@ -0,0 +1,35 @@
+$--
+$-- Affiliations
+$--
+$for(affiliation)$
+<aff id="aff-$affiliation.id$">
+$-- wrap affiliation if it has a known institution identifier
+$if(affiliation.group)$
+<institution content-type="group">$affiliation.group$</institution>
+$endif$
+$if(affiliation.department)$
+<institution content-type="dept">$affiliation.department$</institution>
+$endif$
+<institution-wrap>
+$if(affiliation.organization)$
+<institution>$affiliation.organization$</institution>
+$else$
+<institution>$affiliation.name$</institution>
+$endif$
+$if(affiliation.isni)$
+<institution-id institution-id-type="ISNI">$affiliation.isni$</institution-id>
+$endif$
+$if(affiliation.ringgold)$
+<institution-id institution-id-type="Ringgold">$affiliation.ringgold$</institution-id>
+$endif$
+$if(affiliation.ror)$
+<institution-id institution-id-type="ROR">$affiliation.ror$</institution-id>
+$endif$
+</institution-wrap>$if(affiliation.street-address)$,
+$for(affiliation.street-address)$
+<addr-line>$affiliation.street-address$</addr-line>$sep$,
+$endfor$
+$else$$if(affiliation.city)$, <city>$affiliation.city$</city>$endif$$endif$$if(affiliation.country)$,
+<country$if(affiliation.country-code)$ country="$affiliation.country-code$"$endif$>$affiliation.country$</country>$endif$
+</aff>
+$endfor$
diff --git a/data/templates/article.jats_publishing b/data/templates/article.jats_publishing
index b64425fd8..4bdb3f278 100644
--- a/data/templates/article.jats_publishing
+++ b/data/templates/article.jats_publishing
@@ -101,14 +101,15 @@ $endif$
$if(author.email)$
<email>$author.email$</email>
$endif$
-$if(author.aff-id)$
-<xref ref-type="aff" rid="aff-$contrib.aff-id$"/>
-$endif$
+$for(author.affiliation)$
+<xref ref-type="aff" rid="aff-$author.affiliation$"/>
+$endfor$
$if(author.cor-id)$
<xref ref-type="corresp" rid="cor-$author.cor-id$"><sup>*</sup></xref>
$endif$
</contrib>
$endfor$
+${ affiliations.jats() }
</contrib-group>
$endif$
$if(article.author-notes)$
diff --git a/data/templates/default.jats_articleauthoring b/data/templates/default.jats_articleauthoring
index f86bb2d3b..94c929548 100644
--- a/data/templates/default.jats_articleauthoring
+++ b/data/templates/default.jats_articleauthoring
@@ -34,14 +34,15 @@ $endif$
$if(author.email)$
<email>$author.email$</email>
$endif$
-$if(author.aff-id)$
-<xref ref-type="aff" rid="aff-$contrib.aff-id$"/>
-$endif$
+$for(author.affiliation)$
+<xref ref-type="aff" rid="aff-$author.affiliation$"/>
+$endfor$
$if(author.cor-id)$
<xref ref-type="corresp" rid="cor-$author.cor-id$"><sup>*</sup></xref>
$endif$
</contrib>
$endfor$
+${ affiliations.jats() }
</contrib-group>
$endif$
$if(copyright)$
diff --git a/doc/jats.md b/doc/jats.md
index 63c740521..99de0b3bf 100644
--- a/doc/jats.md
+++ b/doc/jats.md
@@ -39,6 +39,12 @@ Metadata Values
Used as the contents of the [`<email>`][elem:given-names]
element.
+ `affiliation`
+ : list of affiliation identifiers; marks the organizations
+ with which an author is affiliated. Each identifier in this
+ list must also occur as the `id` of an affiliation listed in
+ the top-level `affiliation` list.
+
`cor-id`
: identifier linking to the contributor's correspondence
information. The info itself must be stored in as an item in
@@ -48,6 +54,73 @@ Metadata Values
[`rid`][attr:rid] attribute is set to `cor-<ID>`, where
`<ID>` is the stringified value of this attribute.
+`affiliation`
+: the list of organizations with which contributors are
+ affiliated. Each institution is added as an [`<aff>`] element to
+ the author's contrib-group.
+
+ The fields are given in the order in which they are included in
+ the output.
+
+ `id`
+ : internal identifier; used as the [`<aff>`] element's `id`
+ value, prefixed with `aff-`.
+
+ `group`
+ : name of the research group or other low-level organizational
+ structure; used as value of an [`<institution>`] element with
+ [`content-type`][attr:content-type] set to `group`.
+
+ `department`
+ : name of the department or other mid-level organizational
+ structure; used as value of an [`<institution>`] element with
+ [`content-type`][attr:content-type] set to `dept`.
+
+ `organization`
+ : name of the company, university, or other top-level
+ organizational structure; used as value of an
+ [`<institution>`] element. The institution element is wrapped
+ in an [`<institution-wrap>`] element; any identifiers, like
+ `ringgold` or `ror`, are added to the wrapper and must hence
+ belong to this organization (not the department or group).
+
+ `isni`
+ : International Standard Name Identifier of the organization.
+ Added via an [`<institution-id>`] element with
+ [`institution-id-type`](attr:institution-id-type) set to
+ `ISNI`.
+
+ `ringgold`
+ : [Ringgold] identifier of the organization. Added via an
+ [`<institution-id>`] element with
+ [`institution-id-type`](attr:institution-id-type) set to
+ `Ringgold`.
+
+ `ror`
+ : Research Organization Registry identifier of the
+ organization. Added via an [`<institution-id>`] element with
+ [`institution-id-type`](attr:institution-id-type) set to
+ `ROR`.
+
+ `street-address`
+ : The organization's street address; each list item is wrapped
+ in an [`<addr-line>`] element, separated by a comma and
+ space (`, `).
+
+ `city`
+ : City in which the organization is located; used only if
+ `street-address` is not given, in which case the value is
+ wrapped in a [`<city>`] element.
+
+ `country`
+ : Country in which the organization is located; used as the
+ value of a [`<country>`] element.
+
+ `country-code`
+ : Two letter ISO-3166-1 country identifier; used as the
+ [`country`][attr:country] attribute in element [`<country>`]
+ (if the latter is present).
+
`copyright`
: Licensing and copyright information. This information is
rendered via the [`<permissions>`][elem:permissions] element.
@@ -258,7 +331,10 @@ Required metadata values:
`journal.pmc`.
- One or more of `journal.pissn`, `journal.eissn`.
+[Ringgold]: https://ringgold.com/
+[attr:content-type]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/attribute/content-type.html
[attr:fn-type]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/attribute/fn-type.html
+[attr:institution-id-type]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/attribute/institution-id-type.html
[attr:iso-8601-date]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/attribute/iso-8601-date.html
[attr:journal-id-type]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/attribute/journal-id-type.html
[attr:kwd-group-type]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/attribute/kwd-group-type.html
@@ -297,3 +373,11 @@ Required metadata values:
[elem:subject]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/subject.html
[elem:surname]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/surname.html
[elem:xref]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/xref.html
+
+[`<addr-line>`]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/addr-line.html
+[`<aff>`]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/aff.html
+[`<city>`]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/city.html
+[`<country>`]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/country.html
+[`<institution-id>`]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/institution-id.html
+[`<institution-wrap>`]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/institution-wrap.html
+[`<institution>`]: https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/institution.html