Skip to content

Commit 20e3a8d

Browse files
committed
JATX XML fixes and updates
updated to pandoc template, Journal Publishing DTD 1.2
1 parent 403e5ca commit 20e3a8d

File tree

2 files changed

+85
-48
lines changed

2 files changed

+85
-48
lines changed

markdown-galleys.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ converttopdf() {
152152
}
153153
converttoxml() {
154154
# JATS XML
155-
pandoc "$workingDir/z-lib/journal.yaml" "$workingDir/z-lib/issue.yaml" "${manuscript}" ${sectionNum} --toc --filter=pandoc-citeproc --template="$workingDir/z-lib/article.jats" --write=jats --default-image-extension=.jpg -s -o "$workingDir/2-publication/${manuscript%.md}.jats.xml"
155+
pandoc "$workingDir/z-lib/journal.yaml" "$workingDir/z-lib/issue.yaml" "${manuscript}" ${sectionNum} --toc --filter=pandoc-citeproc --template="$workingDir/z-lib/article.jats" --write=jats --wrap=none --default-image-extension=.jpg -s -o "$workingDir/2-publication/${manuscript%.md}.jats.xml"
156156
# TEI XML
157157
#pandoc "$workingDir/z-lib/journal.yaml" "$workingDir/z-lib/issue.yaml" "${manuscript}" --toc ${sectionNum} --filter=pandoc-citeproc --template="$workingDir/z-lib/article.tei" --write=tei -s -o "$workingDir/2-publication/${manuscript%.md}.tei.xml"
158158
}

z-lib/article.jats

Lines changed: 84 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
$if(xml-stylesheet)$
33
<?xml-stylesheet type="text/xsl" href="$xml-stylesheet$"?>
44
$endif$
5-
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN"
5+
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN"
66
"JATS-journalpublishing1.dtd">
77
$if(article.type)$
8-
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.0" article-type="$article.type$">
8+
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.2" article-type="$article.type$">
99
$else$
10-
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.0" article-type="other">
10+
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.2" article-type="other">
1111
$endif$
1212
<front>
1313
<journal-meta>
@@ -20,6 +20,13 @@ $endif$
2020
$if(journal.pmc)$
2121
<journal-id journal-id-type="pmc">$journal.pmc$</journal-id>
2222
$endif$
23+
$-- Fallback: an empty journal-id in case none is available.
24+
$if(journal.publisher-id)$
25+
$elseif(journal.nlm-ta)$
26+
$elseif(journal.pmc)$
27+
$else$
28+
<journal-id></journal-id>
29+
$endif$
2330
<journal-title-group>
2431
$if(journal.title)$
2532
<journal-title>$journal.title$</journal-title>
@@ -29,10 +36,16 @@ $if(journal.abbrev-title)$
2936
$endif$
3037
</journal-title-group>
3138
$if(journal.pissn)$
32-
<issn pub-type="ppub">$journal.pissn$</issn>
39+
<issn publication-format="print">$journal.pissn$</issn>
3340
$endif$
3441
$if(journal.eissn)$
35-
<issn pub-type="epub">$journal.eissn$</issn>
42+
<issn publication-format="electronic">$journal.eissn$</issn>
43+
$endif$
44+
$-- At least one issn element is required; use empty issn as fallback
45+
$if(journal.pissn)$
46+
$elseif(journal.eissn)$
47+
$else$
48+
<issn></issn>
3649
$endif$
3750
<publisher>
3851
<publisher-name>$journal.publisher-name$</publisher-name>
@@ -44,10 +57,8 @@ $endif$
4457
<article-meta>
4558
$if(article.publisher-id)$
4659
<article-id pub-id-type="publisher-id">$article.publisher-id$</article-id>
47-
$else$$-- custom --$
48-
$if(article.id)$
49-
<article-id pub-id-type="publisher-id">$article.id$</article-id>
50-
$endif$
60+
$elseif(article.id)$$-- custom --$
61+
<article-id pub-id-type="publisher-id">$journal.publisher-id$-$article.id$</article-id>
5162
$endif$
5263
$if(article.doi)$
5364
<article-id pub-id-type="doi">$article.doi$</article-id>
@@ -78,6 +89,9 @@ $endif$
7889
$if(title)$
7990
<title-group>
8091
<article-title>$title$</article-title>
92+
$if(subtitle)$
93+
<subtitle>${subtitle}</subtitle>
94+
$endif$
8195
$if(othertitle)$$-- custom othertitle --$
8296
<trans-title-group>
8397
<trans-title>$othertitle$</trans-title>
@@ -87,39 +101,52 @@ $endif$
87101
$endif$
88102
$if(author)$
89103
<contrib-group>
90-
$for(author)$
91-
<contrib contrib-type="author"$if(author.corresp)$ corresp="yes"$endif$>
104+
$for(author)$$-- custom author.corresp --$
105+
<contrib contrib-type="author"$if(author.cor-id)$ corresp="yes"$elseif(author.corresp)$ corresp="yes"$endif$>
92106
$if(author.orcid)$
93107
<contrib-id contrib-id-type="orcid">$author.orcid$</contrib-id>
94108
$endif$
95-
<name>
96109
$if(author.surname)$
97-
<surname>$author.surname$</surname>
98-
<given-names>$author.given-name$</given-names>
99-
$else$$-- custom --$
100-
$if(author.name)$
101-
<string-name>$author.name$</string-name>
102-
$else$
103-
<string-name>$author$</string-name>
110+
<name>
111+
<surname>$if(author.non-dropping-particle)$${author.non-dropping-particle} $endif$$author.surname$</surname>$-- custom author.given-name(s) --$
112+
<given-names>$if(author.given-name)$$author.given-name$$else$$author.given-names$$if(author.dropping-particle)$ ${author.dropping-particle}$endif$</given-names>
113+
$if(author.prefix)$
114+
<prefix>${author.suffix}</prefix>
104115
$endif$
116+
$if(author.suffix)$
117+
<suffix>${author.suffix}</suffix>
105118
$endif$
106119
</name>
120+
$elseif(author.name)$
121+
<string-name>$author.name$</string-name>
122+
$else$
123+
<string-name>$author$</string-name>
124+
$endif$
107125
$if(author.email)$
108126
<email>$author.email$</email>
109127
$endif$
110-
$if(author.affiliation)$$-- custom affiliation --$
111-
$for(author.affiliation)$
128+
$-- if affiliations are listed separately, then create links. Otherwise
129+
$-- include them here.
130+
$-- custom --$
131+
$if(author.affiliation)$
132+
$for(author.affiliation)$
112133
<aff>$author.affiliation$</aff>
113-
$endfor$
114-
$endif$
115-
$if(author.aff-id)$
116-
<xref ref-type="aff" rid="aff-$contrib.aff-id$"/>
134+
$--TODO: manage institute --$
135+
$-- <xref ref-type="aff" rid="aff-$author.affiliation$"/>--$
136+
$endfor$
137+
$else$
138+
$for(author.affiliation)$
139+
${ it:affiliations.jats() }
140+
$endfor$
117141
$endif$
118142
$if(author.cor-id)$
119143
<xref ref-type="corresp" rid="cor-$author.cor-id$"><sup>*</sup></xref>
120144
$endif$
121145
</contrib>
122146
$endfor$
147+
$for(affiliation)$
148+
${ it:affiliations.jats() }
149+
$endfor$
123150
</contrib-group>
124151
$endif$
125152
$if(article.author-notes)$
@@ -150,14 +177,13 @@ $if(editor)$
150177
</contrib-group>
151178
$endif$
152179
$if(date)$
180+
$-- TODO: https://stackoverflow.com/a/72666646 --$
153181
$if(date.iso-8601)$
154-
<pub-date pub-type="epub" iso-8601-date="$date.iso-8601$">
155-
$else$
156-
$if(date-meta)$
157-
<pub-date pub-type="epub" iso-8601-date="$date-meta$">
182+
<pub-date publication-format="electronic" iso-8601-date="$date.iso-8601$">
183+
$elseif(date-meta)$
184+
<pub-date publication-format="electronic" iso-8601-date="$date-meta$">
158185
$else$
159-
<pub-date pub-type="epub">
160-
$endif$
186+
<pub-date publication-format="electronic">
161187
$endif$
162188
$if(date.day)$
163189
<day>$pub-date.day$</day>
@@ -173,7 +199,7 @@ $endif$
173199
</pub-date>
174200
$else$$-- custom dates --$
175201
$if(dates.published)$
176-
<pub-date pub-type="epub" iso-8601-date="$dates.published$" />
202+
<pub-date publication-format="electronic" iso-8601-date="$dates.published$" />
177203
$endif$
178204
$endif$
179205
<pub-history>
@@ -202,26 +228,23 @@ $endif$$endif$
202228

203229
$if(article.volume)$
204230
<volume>$article.volume$</volume>
205-
$else$$if(volume)$$-- custom volume + issue identifiers --$
231+
$elseif(volume)$$-- custom volume + issue identifiers --$
206232
<volume>$volume$</volume>
207-
$endif$
208233
$endif$
209234
$if(article.issue)$
210235
<issue>$article.issue$</issue>
211-
$else$$if(issue)$
236+
$elseif(issue)$
212237
<issue>$issue$</issue>
213-
$endif$
214238
$endif$
215239
$if(article.fpage)$
216240
<fpage>$article.fpage$</fpage>
217-
$else$$if(page.start)$$-- custom pagination --$
218-
<fpage$if(issuepagination)$$if(page.prefix)$ seq="$page.prefix$"$endif$$else$$if(article.id)$ seq="$article.id$"$endif$$endif$>$page.start$</fpage>
219-
$if(page.end)$
220-
<lpage>$page.end$</lpage>
221-
$endif$$endif$
241+
$elseif(page.start)$$-- custom pagination --$
242+
<fpage$if(issuepagination)$$if(page.prefix)$ seq="$page.prefix$"$endif$$elseif(article.id)$ seq="$article.id$"$endif$>$page.start$</fpage>
222243
$endif$
223244
$if(article.lpage)$
224245
<lpage>$article.lpage$</lpage>
246+
$elseif(page.end)$
247+
<lpage$if(issuepagination)$$if(page.prefix)$ seq="$page.prefix$"$endif$$elseif(article.id)$ seq="$article.id$"$endif$>$page.end$</lpage>
225248
$endif$
226249
$if(article.elocation-id)$
227250
<elocation-id>$article.elocation-id$</elocation-id>
@@ -232,22 +255,36 @@ $if(history)$
232255
$endif$
233256
$if(copyright)$
234257
<permissions>
235-
$if(copyright.statement)$
258+
$for(copyright.statement)$
236259
<copyright-statement>$copyright.statement$</copyright-statement>
237-
$endif$
238-
$if(copyright.year)$
260+
$endfor$
261+
$for(copyright.year)$
239262
<copyright-year>$copyright.year$</copyright-year>
240-
$endif$
241-
$if(copyright.holder)$
263+
$endfor$
264+
$for(copyright.holder)$
242265
<copyright-holder>$copyright.holder$</copyright-holder>
243-
$endif$
266+
$endfor$
244267
$if(copyright.text)$
245268
<license license-type="$copyright.type$" xlink:href="$copyright.link$">
246269
<license-p>$copyright.text$</license-p>
247270
</license>
271+
$for(license)$
272+
<license$if(it.type)$ license-type="${it.type}"$endif$>
273+
$if(it.link)$
274+
<ali:license_ref xmlns:ali="http://www.niso.org/schemas/ali/1.0/">${it.link}</ali:license_ref>
275+
$endif$
276+
<license-p>$if(it.text)$${it.text}$else$${it}$endif$</license-p>
277+
</license>
278+
$endfor$
248279
</permissions>
249280
$endif$
250281
$endif$
282+
$-- TODO: manage multiple abstract --$
283+
$if(abstract)$
284+
<abstract>
285+
$abstract$
286+
</abstract>
287+
$endif$
251288
$if(correction.notice)$
252289
<related-article ext-link-type="doi" related-article-type="$if(correction.retraction)$retracted-article$else$corrected-article$endif$" xlink:href="$correction.reference$" />
253290
$endif$

0 commit comments

Comments
 (0)