SlideShare a Scribd company logo
1 of 1
Download to read offline
Alexander (‘Sasha’) Schwarzman, OSA – The Optical Society, aschwarzman@osa.org
Balisage: The Markup Conference 2015
Validating JATS Funding Information
REQUIREMENTS
r1: check 'label → DOIs' consistency within <funding-source>
Check that for a funder's label (preferred or not) found in a <funding-source>
its DOI is present and correct.
Authority: "funder-label-to-dois-authority"
r2: check 'DOI → labels' consistency within <funding-source>
Check that for a DOI found in a <funding-source> the funder is represented as its
preferred label followed by the acronym, if it exists.
Authority: "funder-doi-to-labels-authority"
<funding-source>U.S. Department of Energy (DOE)<named-content content-
type="doi">10.13039/100000000</named-content>
<funding-source>Department of Entropy (DOE)<named-content content-
type="doi">10.13039/100000015</named-content></funding-source>
r3: check Funding Info ↔ metadata DOIs consistency
Check that the set of funder DOIs in the article's metadata
is the same as the set of funder DOIs in its backmatter.
r4: check label → DOI consistency between Acknowledgments and metadata
Check that for any string in Acknowledgments that matches a funder’s label
(preferred or not) its DOI in the article's metadata is present and correct.
Authority: "funder-label-to-dois-authority"
<article-meta>
<funding-group><award-group id="sp1">
<funding-source>National Science Foundation (NSF)
<named-content content-type="doi">10.13039/100000001
</named-content></funding-source></award-group>
<award-group id="sp2"><funding-source>U.S. Department of Energy (DOE)
10.13039/100000015
</funding-source></award-group></funding-group></article-meta>
…
<back>
<sec sec-type="funding"><title>FUNDING INFORMATION</title><p>
<funding-source>National Science Foundation (NSF)
<named-content content-type="doi">10.13039/100000001
</named-content></funding-source>
<funding-source>U.S. Department of Energy (DOE)
<named-content content-type="doi">10.13039/100000015
</named-content></funding-source></p></sec></back>
<article-meta>
<funding-group>
<award-group id="sp1">
<funding-source>National Science Foundation (NSF)
<named-content content-type="doi">10.13039/100000001
</named-content></funding-source></award-group>
DOE missing DOE missing
</funding-group>
</article-meta>
…
<ack>
<title>ACKNOWLEDGMENTS</title>
<p>Support provided by NSF and Department of Energy.</p>
</ack>
LOOKUPS, DERIVED FROM THE FUNDREF REGISTRY
LOOKUP-funder-label-to-dois.xml LOOKUP-funder-doi-to-labels.xml
<labels xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include
href="LOOKUP-funder-label-to-dois-not-in-FundRef.xml"/>
…
<funder label="U.S. Department of Energy" pref="yes">
<doi>10.13039/100000015</doi>
</funder>
<funder label="Department of Energy" alt="yes">
<doi>10.13039/100000015</doi>
</funder>
<funder label="DOE" acronym="yes">
<doi>10.13039/100000015</doi>
</funder>
…
</labels>
<funders xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include
href="LOOKUP-funder-doi-to-labels-not-in-FundRef.xml"/>
…
<funder doi="10.13039/100000015">
<label type="pref">U.S. Department of Energy</label>
<label type="alt">Department of Energy</label>
<label type="acronym">DOE</label>
</funder>
…
</funders>
SCHEMATRON
<rule id="FUND110" context="funding-group/award-group |
back/sec[@sec-type='funding']/p ">
<d:func>r1: check 'label -> DOIs' consistency within 'funding-source'.</d:func>
<d:req>Warn if funder's DOI does not correspond to the funder's label
as defined in the Funder Label Authority.</d:req>
<let name="r1" value="m:funding-label-to-dois-report(.)"/>
<assert role="warning" test="m:funding-label-to-dois-check($r1)">
<value-of select="m:funding-label-to-dois-print-errors($r1)"/> :
authority '<value-of select="$funder-label-to-dois-authority"/>'</assert></rule>
<rule id="FUND130" context="article[exists(back)]">
<d:func>r3: check Funding Info <-> metadata DOIs consistency.</d:func>
<d:req>Warn if the set of funder DOIs in the article's backmatter
is different from that in its metadata.</d:req>
<let name="r3" value="m:funding-front-back-dois-report(.)"/>
<assert role="warning" test="m:funding-front-back-dois-check($r3) or
empty(//back//named-content[@content-type = 'doi'])">
<value-of select="m:funding-front-back-dois-print-errors($r3)"/></assert>
<rule id="FUND120" context="funding-source">
<d:func>r2: check 'DOI -> labels' consistency within 'funding-source'.</d:func>
<d:req>Warn if funder's preferred label (followed by acronym, if exists) does not
correspond to any DOI as defined in the Funder DOI Authority.</d:req>
<let name="r2" value="m:funding-doi-to-labels-report(.)"/>
<assert role="warning" test="m:funding-doi-to-labels-check($r2)">
<value-of select="m:funding-doi-to-labels-print-errors($r2)"/> :
authority '<value-of select="$funder-doi-to-labels-authority"/>'</assert></rule>
<d:func>r4: check label -> DOI consistency between Acknowledgments and
metadata.</d:func>
<d:req>Warn if Acknowledgments contain a funder's label defined in the Funder
Label Authority, but the metadata has no corresponding DOI.</d:req>
<let name="r4" value="m:funding-match-regex-for-funder-label-report
(m:funding-back-ack-text(.),m:funding-front-text(.))"/>
<assert role="warning" test="m:funding-match-regex-for-funder-label-check($r4)">
<value-of select="m:funding-match-regex-for-funder-label-print-errors($r4)"/>:
authority '<value-of select="$funder-label-to-dois-authority"/>'</assert></rule>

More Related Content

More from aschwarzman

2012-08-14-OSA-Pubs-IT_Presentation
2012-08-14-OSA-Pubs-IT_Presentation2012-08-14-OSA-Pubs-IT_Presentation
2012-08-14-OSA-Pubs-IT_Presentation
aschwarzman
 
2012-05-20-CSE-2012_Schwarzman
2012-05-20-CSE-2012_Schwarzman2012-05-20-CSE-2012_Schwarzman
2012-05-20-CSE-2012_Schwarzman
aschwarzman
 
2012-03-20-AGU-Librarians_Presentation
2012-03-20-AGU-Librarians_Presentation2012-03-20-AGU-Librarians_Presentation
2012-03-20-AGU-Librarians_Presentation
aschwarzman
 
2011-11-14-CrossRef-Workshops_Schwarzman
2011-11-14-CrossRef-Workshops_Schwarzman2011-11-14-CrossRef-Workshops_Schwarzman
2011-11-14-CrossRef-Workshops_Schwarzman
aschwarzman
 
2011-09-27-JATS-Con-Presentation_Schwarzman
2011-09-27-JATS-Con-Presentation_Schwarzman2011-09-27-JATS-Con-Presentation_Schwarzman
2011-09-27-JATS-Con-Presentation_Schwarzman
aschwarzman
 
2011-Balisage-Poster-Schwarzman
2011-Balisage-Poster-Schwarzman2011-Balisage-Poster-Schwarzman
2011-Balisage-Poster-Schwarzman
aschwarzman
 
Schwarzman-CSE2011
Schwarzman-CSE2011Schwarzman-CSE2011
Schwarzman-CSE2011
aschwarzman
 
Schwarzman-JATS-Con-slides
Schwarzman-JATS-Con-slidesSchwarzman-JATS-Con-slides
Schwarzman-JATS-Con-slides
aschwarzman
 
Extreme-ML-2006-Poster-A-Schwarzman
Extreme-ML-2006-Poster-A-SchwarzmanExtreme-ML-2006-Poster-A-Schwarzman
Extreme-ML-2006-Poster-A-Schwarzman
aschwarzman
 
XML2004-schwarzman
XML2004-schwarzmanXML2004-schwarzman
XML2004-schwarzman
aschwarzman
 
JATS-Con-Schwarzman-slides_corr-2016-04-29
JATS-Con-Schwarzman-slides_corr-2016-04-29JATS-Con-Schwarzman-slides_corr-2016-04-29
JATS-Con-Schwarzman-slides_corr-2016-04-29
aschwarzman
 
Balisage_2011-08-03_Schwarzman
Balisage_2011-08-03_SchwarzmanBalisage_2011-08-03_Schwarzman
Balisage_2011-08-03_Schwarzman
aschwarzman
 
Balisage-2015-sup-mat-poster
Balisage-2015-sup-mat-posterBalisage-2015-sup-mat-poster
Balisage-2015-sup-mat-poster
aschwarzman
 

More from aschwarzman (18)

XML-talk
XML-talkXML-talk
XML-talk
 
2012-08-14-OSA-Pubs-IT_Presentation
2012-08-14-OSA-Pubs-IT_Presentation2012-08-14-OSA-Pubs-IT_Presentation
2012-08-14-OSA-Pubs-IT_Presentation
 
2012-05-20-CSE-2012_Schwarzman
2012-05-20-CSE-2012_Schwarzman2012-05-20-CSE-2012_Schwarzman
2012-05-20-CSE-2012_Schwarzman
 
2012-03-20-AGU-Librarians_Presentation
2012-03-20-AGU-Librarians_Presentation2012-03-20-AGU-Librarians_Presentation
2012-03-20-AGU-Librarians_Presentation
 
2011-11-14-CrossRef-Workshops_Schwarzman
2011-11-14-CrossRef-Workshops_Schwarzman2011-11-14-CrossRef-Workshops_Schwarzman
2011-11-14-CrossRef-Workshops_Schwarzman
 
2011-09-27-JATS-Con-Presentation_Schwarzman
2011-09-27-JATS-Con-Presentation_Schwarzman2011-09-27-JATS-Con-Presentation_Schwarzman
2011-09-27-JATS-Con-Presentation_Schwarzman
 
2011-Balisage-Poster-Schwarzman
2011-Balisage-Poster-Schwarzman2011-Balisage-Poster-Schwarzman
2011-Balisage-Poster-Schwarzman
 
Schwarzman-CSE2011
Schwarzman-CSE2011Schwarzman-CSE2011
Schwarzman-CSE2011
 
Schwarzman-JATS-Con-slides
Schwarzman-JATS-Con-slidesSchwarzman-JATS-Con-slides
Schwarzman-JATS-Con-slides
 
Extreme-ML-2006-Poster-A-Schwarzman
Extreme-ML-2006-Poster-A-SchwarzmanExtreme-ML-2006-Poster-A-Schwarzman
Extreme-ML-2006-Poster-A-Schwarzman
 
XML2004
XML2004XML2004
XML2004
 
XML2004-schwarzman
XML2004-schwarzmanXML2004-schwarzman
XML2004-schwarzman
 
JATS-Con-Schwarzman-slides_corr-2016-04-29
JATS-Con-Schwarzman-slides_corr-2016-04-29JATS-Con-Schwarzman-slides_corr-2016-04-29
JATS-Con-Schwarzman-slides_corr-2016-04-29
 
Balisage_2011-08-03_Schwarzman
Balisage_2011-08-03_SchwarzmanBalisage_2011-08-03_Schwarzman
Balisage_2011-08-03_Schwarzman
 
Balisage-2015-sup-mat-poster
Balisage-2015-sup-mat-posterBalisage-2015-sup-mat-poster
Balisage-2015-sup-mat-poster
 
Using Schematron for appropriate layer validation: A case study
Using Schematron for appropriate layer validation: A case studyUsing Schematron for appropriate layer validation: A case study
Using Schematron for appropriate layer validation: A case study
 
NISO-NFAIS Supplemental Journal Article Materials Working Group: An Update o...
NISO-NFAIS Supplemental Journal Article Materials Working Group: An Update o...NISO-NFAIS Supplemental Journal Article Materials Working Group: An Update o...
NISO-NFAIS Supplemental Journal Article Materials Working Group: An Update o...
 
NISO-NFAIS Supplemental Journal Article Materials Working Group
NISO-NFAIS Supplemental Journal Article Materials Working GroupNISO-NFAIS Supplemental Journal Article Materials Working Group
NISO-NFAIS Supplemental Journal Article Materials Working Group
 

Balisage-2015-funding-poster

  • 1. Alexander (‘Sasha’) Schwarzman, OSA – The Optical Society, aschwarzman@osa.org Balisage: The Markup Conference 2015 Validating JATS Funding Information REQUIREMENTS r1: check 'label → DOIs' consistency within <funding-source> Check that for a funder's label (preferred or not) found in a <funding-source> its DOI is present and correct. Authority: "funder-label-to-dois-authority" r2: check 'DOI → labels' consistency within <funding-source> Check that for a DOI found in a <funding-source> the funder is represented as its preferred label followed by the acronym, if it exists. Authority: "funder-doi-to-labels-authority" <funding-source>U.S. Department of Energy (DOE)<named-content content- type="doi">10.13039/100000000</named-content> <funding-source>Department of Entropy (DOE)<named-content content- type="doi">10.13039/100000015</named-content></funding-source> r3: check Funding Info ↔ metadata DOIs consistency Check that the set of funder DOIs in the article's metadata is the same as the set of funder DOIs in its backmatter. r4: check label → DOI consistency between Acknowledgments and metadata Check that for any string in Acknowledgments that matches a funder’s label (preferred or not) its DOI in the article's metadata is present and correct. Authority: "funder-label-to-dois-authority" <article-meta> <funding-group><award-group id="sp1"> <funding-source>National Science Foundation (NSF) <named-content content-type="doi">10.13039/100000001 </named-content></funding-source></award-group> <award-group id="sp2"><funding-source>U.S. Department of Energy (DOE) 10.13039/100000015 </funding-source></award-group></funding-group></article-meta> … <back> <sec sec-type="funding"><title>FUNDING INFORMATION</title><p> <funding-source>National Science Foundation (NSF) <named-content content-type="doi">10.13039/100000001 </named-content></funding-source> <funding-source>U.S. Department of Energy (DOE) <named-content content-type="doi">10.13039/100000015 </named-content></funding-source></p></sec></back> <article-meta> <funding-group> <award-group id="sp1"> <funding-source>National Science Foundation (NSF) <named-content content-type="doi">10.13039/100000001 </named-content></funding-source></award-group> DOE missing DOE missing </funding-group> </article-meta> … <ack> <title>ACKNOWLEDGMENTS</title> <p>Support provided by NSF and Department of Energy.</p> </ack> LOOKUPS, DERIVED FROM THE FUNDREF REGISTRY LOOKUP-funder-label-to-dois.xml LOOKUP-funder-doi-to-labels.xml <labels xmlns:xi="http://www.w3.org/2001/XInclude"> <xi:include href="LOOKUP-funder-label-to-dois-not-in-FundRef.xml"/> … <funder label="U.S. Department of Energy" pref="yes"> <doi>10.13039/100000015</doi> </funder> <funder label="Department of Energy" alt="yes"> <doi>10.13039/100000015</doi> </funder> <funder label="DOE" acronym="yes"> <doi>10.13039/100000015</doi> </funder> … </labels> <funders xmlns:xi="http://www.w3.org/2001/XInclude"> <xi:include href="LOOKUP-funder-doi-to-labels-not-in-FundRef.xml"/> … <funder doi="10.13039/100000015"> <label type="pref">U.S. Department of Energy</label> <label type="alt">Department of Energy</label> <label type="acronym">DOE</label> </funder> … </funders> SCHEMATRON <rule id="FUND110" context="funding-group/award-group | back/sec[@sec-type='funding']/p "> <d:func>r1: check 'label -> DOIs' consistency within 'funding-source'.</d:func> <d:req>Warn if funder's DOI does not correspond to the funder's label as defined in the Funder Label Authority.</d:req> <let name="r1" value="m:funding-label-to-dois-report(.)"/> <assert role="warning" test="m:funding-label-to-dois-check($r1)"> <value-of select="m:funding-label-to-dois-print-errors($r1)"/> : authority '<value-of select="$funder-label-to-dois-authority"/>'</assert></rule> <rule id="FUND130" context="article[exists(back)]"> <d:func>r3: check Funding Info <-> metadata DOIs consistency.</d:func> <d:req>Warn if the set of funder DOIs in the article's backmatter is different from that in its metadata.</d:req> <let name="r3" value="m:funding-front-back-dois-report(.)"/> <assert role="warning" test="m:funding-front-back-dois-check($r3) or empty(//back//named-content[@content-type = 'doi'])"> <value-of select="m:funding-front-back-dois-print-errors($r3)"/></assert> <rule id="FUND120" context="funding-source"> <d:func>r2: check 'DOI -> labels' consistency within 'funding-source'.</d:func> <d:req>Warn if funder's preferred label (followed by acronym, if exists) does not correspond to any DOI as defined in the Funder DOI Authority.</d:req> <let name="r2" value="m:funding-doi-to-labels-report(.)"/> <assert role="warning" test="m:funding-doi-to-labels-check($r2)"> <value-of select="m:funding-doi-to-labels-print-errors($r2)"/> : authority '<value-of select="$funder-doi-to-labels-authority"/>'</assert></rule> <d:func>r4: check label -> DOI consistency between Acknowledgments and metadata.</d:func> <d:req>Warn if Acknowledgments contain a funder's label defined in the Funder Label Authority, but the metadata has no corresponding DOI.</d:req> <let name="r4" value="m:funding-match-regex-for-funder-label-report (m:funding-back-ack-text(.),m:funding-front-text(.))"/> <assert role="warning" test="m:funding-match-regex-for-funder-label-check($r4)"> <value-of select="m:funding-match-regex-for-funder-label-print-errors($r4)"/>: authority '<value-of select="$funder-label-to-dois-authority"/>'</assert></rule>