-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
RP - split bioRender flag into v1 and revised
- Loading branch information
1 parent
24d09f7
commit 0ff035b
Showing
12 changed files
with
249 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
160 changes: 160 additions & 0 deletions
160
test/tests/rp/article-tests/biorender-check-revised/biorender-check-revised.sch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
<schema xmlns="http://purl.oclc.org/dsdl/schematron" xmlns:meca="http://manuscriptexchange.org" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:file="java.io.File" xmlns:java="http://www.java.com/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" queryBinding="xslt2"> | ||
<title>eLife reviewed preprint schematron</title> | ||
<ns uri="http://www.niso.org/schemas/ali/1.0/" prefix="ali"/> | ||
<ns uri="http://www.w3.org/XML/1998/namespace" prefix="xml"/> | ||
<ns uri="http://www.w3.org/1999/xlink" prefix="xlink"/> | ||
<ns uri="http://www.w3.org/2001/XInclude" prefix="xi"/> | ||
<ns uri="http://www.w3.org/1998/Math/MathML" prefix="mml"/> | ||
<ns uri="http://saxon.sf.net/" prefix="saxon"/> | ||
<ns uri="http://purl.org/dc/terms/" prefix="dc"/> | ||
<ns uri="http://www.w3.org/2001/XMLSchema" prefix="xs"/> | ||
<ns uri="https://elifesciences.org/namespace" prefix="e"/> | ||
<ns uri="java.io.File" prefix="file"/> | ||
<ns uri="http://www.java.com/" prefix="java"/> | ||
<ns uri="http://manuscriptexchange.org" prefix="meca"/> | ||
<xsl:function name="e:isbn-sum" as="xs:integer"> | ||
<xsl:param name="s" as="xs:string"/> | ||
<xsl:choose> | ||
<xsl:when test="string-length($s) = 10"> | ||
<xsl:variable name="d1" select="number(substring($s,1,1)) * 10"/> | ||
<xsl:variable name="d2" select="number(substring($s,2,1)) * 9"/> | ||
<xsl:variable name="d3" select="number(substring($s,3,1)) * 8"/> | ||
<xsl:variable name="d4" select="number(substring($s,4,1)) * 7"/> | ||
<xsl:variable name="d5" select="number(substring($s,5,1)) * 6"/> | ||
<xsl:variable name="d6" select="number(substring($s,6,1)) * 5"/> | ||
<xsl:variable name="d7" select="number(substring($s,7,1)) * 4"/> | ||
<xsl:variable name="d8" select="number(substring($s,8,1)) * 3"/> | ||
<xsl:variable name="d9" select="number(substring($s,9,1)) * 2"/> | ||
<xsl:variable name="d10" select="number(substring($s,10,1)) * 1"/> | ||
<xsl:value-of select="number($d1 + $d2 + $d3 + $d4 + $d5 + $d6 + $d7 + $d8 + $d9 + $d10) mod 11"/> | ||
</xsl:when> | ||
<xsl:when test="string-length($s) = 13"> | ||
<xsl:variable name="d1" select="number(substring($s,1,1))"/> | ||
<xsl:variable name="d2" select="number(substring($s,2,1)) * 3"/> | ||
<xsl:variable name="d3" select="number(substring($s,3,1))"/> | ||
<xsl:variable name="d4" select="number(substring($s,4,1)) * 3"/> | ||
<xsl:variable name="d5" select="number(substring($s,5,1))"/> | ||
<xsl:variable name="d6" select="number(substring($s,6,1)) * 3"/> | ||
<xsl:variable name="d7" select="number(substring($s,7,1))"/> | ||
<xsl:variable name="d8" select="number(substring($s,8,1)) * 3"/> | ||
<xsl:variable name="d9" select="number(substring($s,9,1))"/> | ||
<xsl:variable name="d10" select="number(substring($s,10,1)) * 3"/> | ||
<xsl:variable name="d11" select="number(substring($s,11,1))"/> | ||
<xsl:variable name="d12" select="number(substring($s,12,1)) * 3"/> | ||
<xsl:variable name="d13" select="number(substring($s,13,1))"/> | ||
<xsl:value-of select="number($d1 + $d2 + $d3 + $d4 + $d5 + $d6 + $d7 + $d8 + $d9 + $d10 + $d11 + $d12 + $d13) mod 10"/> | ||
</xsl:when> | ||
<xsl:otherwise> | ||
<xsl:value-of select="number('1')"/> | ||
</xsl:otherwise> | ||
</xsl:choose> | ||
</xsl:function> | ||
<xsl:function name="e:is-valid-issn" as="xs:boolean"> | ||
<xsl:param name="s" as="xs:string"/> | ||
<xsl:choose> | ||
<xsl:when test="not(matches($s,'^\d{4}\-\d{3}[\dX]$'))"> | ||
<xsl:value-of select="false()"/> | ||
</xsl:when> | ||
<xsl:otherwise> | ||
<xsl:variable name="d1" select="number(substring($s,1,1)) * 8"/> | ||
<xsl:variable name="d2" select="number(substring($s,2,1)) * 7"/> | ||
<xsl:variable name="d3" select="number(substring($s,3,1)) * 6"/> | ||
<xsl:variable name="d4" select="number(substring($s,4,1)) * 5"/> | ||
<xsl:variable name="d5" select="number(substring($s,6,1)) * 4"/> | ||
<xsl:variable name="d6" select="number(substring($s,7,1)) * 3"/> | ||
<xsl:variable name="d7" select="number(substring($s,8,1)) * 2"/> | ||
<xsl:variable name="remainder" select="number($d1 + $d2 + $d3 + $d4 + $d5 + $d6 + $d7) mod 11"/> | ||
<xsl:variable name="calc" select="if ($remainder=0) then 0 else (11 - $remainder)"/> | ||
<xsl:variable name="check" select="if (substring($s,9,1)='X') then 10 else number(substring($s,9,1))"/> | ||
<xsl:value-of select="$calc = $check"/> | ||
</xsl:otherwise> | ||
</xsl:choose> | ||
</xsl:function> | ||
<xsl:function name="e:get-name" as="xs:string"> | ||
<xsl:param name="name"/> | ||
<xsl:choose> | ||
<xsl:when test="$name/given-names[1] and $name/surname[1] and $name/suffix[1]"> | ||
<xsl:value-of select="concat($name/given-names[1],' ',$name/surname[1],' ',$name/suffix[1])"/> | ||
</xsl:when> | ||
<xsl:when test="not($name/given-names[1]) and $name/surname[1] and $name/suffix[1]"> | ||
<xsl:value-of select="concat($name/surname[1],' ',$name/suffix[1])"/> | ||
</xsl:when> | ||
<xsl:when test="$name/given-names[1] and $name/surname[1] and not($name/suffix[1])"> | ||
<xsl:value-of select="concat($name/given-names[1],' ',$name/surname[1])"/> | ||
</xsl:when> | ||
<xsl:when test="not($name/given-names[1]) and $name/surname[1] and not($name/suffix[1])"> | ||
<xsl:value-of select="$name/surname[1]"/> | ||
</xsl:when> | ||
<xsl:otherwise> | ||
<xsl:value-of select="'No elements present'"/> | ||
</xsl:otherwise> | ||
</xsl:choose> | ||
</xsl:function> | ||
<xsl:function name="e:get-copyright-holder"> | ||
<xsl:param name="contrib-group"/> | ||
<xsl:variable name="author-count" select="count($contrib-group/contrib[@contrib-type='author'])"/> | ||
<xsl:choose> | ||
<xsl:when test="$author-count lt 1"/> | ||
<xsl:when test="$author-count = 1"> | ||
<xsl:choose> | ||
<xsl:when test="$contrib-group/contrib[@contrib-type='author']/collab"> | ||
<xsl:value-of select="$contrib-group/contrib[@contrib-type='author']/collab[1]/text()[1]"/> | ||
</xsl:when> | ||
<xsl:otherwise> | ||
<xsl:value-of select="$contrib-group/contrib[@contrib-type='author']/name[1]/surname[1]"/> | ||
</xsl:otherwise> | ||
</xsl:choose> | ||
</xsl:when> | ||
<xsl:when test="$author-count = 2"> | ||
<xsl:choose> | ||
<xsl:when test="$contrib-group/contrib[@contrib-type='author']/collab"> | ||
<xsl:choose> | ||
<xsl:when test="$contrib-group/contrib[@contrib-type='author'][1]/collab and $contrib-group/contrib[@contrib-type='author'][2]/collab"> | ||
<xsl:value-of select="concat($contrib-group/contrib[@contrib-type='author']/collab[1]/text()[1],' & ',$contrib-group/contrib[@contrib-type='author']/collab[2]/text()[1])"/> | ||
</xsl:when> | ||
<xsl:when test="$contrib-group/contrib[@contrib-type='author'][1]/collab"> | ||
<xsl:value-of select="concat($contrib-group/contrib[@contrib-type='author'][1]/collab[1]/text()[1],' & ',$contrib-group/contrib[@contrib-type='author'][2]/name[1]/surname[1])"/> | ||
</xsl:when> | ||
<xsl:otherwise> | ||
<xsl:value-of select="concat($contrib-group/contrib[@contrib-type='author'][1]/name[1]/surname[1],' & ',$contrib-group/contrib[@contrib-type='author'][2]/collab[1]/text()[1])"/> | ||
</xsl:otherwise> | ||
</xsl:choose> | ||
</xsl:when> | ||
<xsl:otherwise> | ||
<xsl:value-of select="concat($contrib-group/contrib[@contrib-type='author'][1]/name[1]/surname[1],' & ',$contrib-group/contrib[@contrib-type='author'][2]/name[1]/surname[1])"/> | ||
</xsl:otherwise> | ||
</xsl:choose> | ||
</xsl:when> | ||
|
||
<xsl:otherwise> | ||
<xsl:variable name="is-equal-contrib" select="if ($contrib-group/contrib[@contrib-type='author'][1]/@equal-contrib='yes') then true() else false()"/> | ||
|
||
<xsl:value-of select="concat(e:get-surname($contrib-group/contrib[@contrib-type='author'][1]),' et al')"/> | ||
</xsl:otherwise> | ||
</xsl:choose> | ||
</xsl:function> | ||
<xsl:function name="e:get-surname" as="text()"> | ||
<xsl:param name="contrib"/> | ||
<xsl:choose> | ||
<xsl:when test="$contrib/collab"> | ||
<xsl:value-of select="$contrib/collab[1]/text()[1]"/> | ||
</xsl:when> | ||
<xsl:otherwise> | ||
<xsl:value-of select="$contrib//name[1]/surname[1]"/> | ||
</xsl:otherwise> | ||
</xsl:choose> | ||
</xsl:function> | ||
<pattern id="article-tests-pattern"> | ||
<rule context="article" id="article-tests"> | ||
<let name="article-text" value="string-join(for $x in self::*/*[local-name() = 'body' or local-name() = 'back']//* return if ($x/ancestor::ref-list) then () else if ($x/ancestor::caption[parent::fig] or $x/ancestor::permissions[parent::fig]) then () else $x/text(),'')"/> | ||
<let name="is-revised-rp" value="if (descendant::article-meta/pub-history/event/self-uri[@content-type='reviewed-preprint']) then true() else false()"/> | ||
<let name="rp-version" value="replace(descendant::article-meta[1]/article-id[@specific-use='version'][1],'^.*\.','')"/> | ||
<report test="$is-revised-rp and matches(lower-case($article-text),'biorend[eo]r')" role="warning" id="biorender-check-revised">[biorender-check-revised] Article text contains a reference to bioRender. Any figures created with bioRender should include a sentence in the caption in the format: "Created with BioRender.com/{figure-code}". Since this is a revised RP, check to see if the first (or a previous) version had bioRender links.</report> | ||
</rule> | ||
</pattern> | ||
<pattern id="root-pattern"> | ||
<rule context="root" id="root-rule"> | ||
<assert test="descendant::article" role="error" id="article-tests-xspec-assert">article must be present.</assert> | ||
</rule> | ||
</pattern> | ||
</schema> |
11 changes: 11 additions & 0 deletions
11
test/tests/rp/article-tests/biorender-check-revised/fail.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
<?oxygen SCHSchema="biorender-check-revised.sch"?> | ||
<!--Context: article | ||
Test: report $is-revised-rp and matches(lower-case($article-text),'biorend[eo]r') | ||
Message: Article text contains a reference to bioRender. Any figures created with bioRender should include a sentence in the caption in the format: "Created with BioRender.com/{figure-code}". Since this is a revised RP, check to see if the first (or a previous) version had bioRender links. --> | ||
<root xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
<article> | ||
<body> | ||
<p>Figure 1 made with BioRender.com</p> | ||
</body> | ||
</article> | ||
</root> |
16 changes: 16 additions & 0 deletions
16
test/tests/rp/article-tests/biorender-check-revised/pass.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<?oxygen SCHSchema="biorender-check-revised.sch"?> | ||
<!--Context: article | ||
Test: report $is-revised-rp and matches(lower-case($article-text),'biorend[eo]r') | ||
Message: Article text contains a reference to bioRender. Any figures created with bioRender should include a sentence in the caption in the format: "Created with BioRender.com/{figure-code}". Since this is a revised RP, check to see if the first (or a previous) version had bioRender links. --> | ||
<article> | ||
<body> | ||
<fig> | ||
<caption> | ||
<p>Figure 1 made with BioRender.com</p> | ||
</caption> | ||
<permissions> | ||
<license><license-p>© 2024, BioRender Inc. Any parts of this image created with BioRender are not made available under the same license as the Reviewed Preprint, and are © 2024, BioRender Inc.</license-p></license> | ||
</permissions> | ||
</fig> | ||
</body> | ||
</article> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
...rp/article-tests/biorender-check/fail.xml → ...article-tests/biorender-check-v1/fail.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.