diff --git a/xslt/articles/xslt-article-Datacite.xslt b/xslt/articles/xslt-article-Datacite.xslt index a6a49016..ed826437 100644 --- a/xslt/articles/xslt-article-Datacite.xslt +++ b/xslt/articles/xslt-article-Datacite.xslt @@ -9,37 +9,38 @@ Made by Shiraz Malla Mohamad member of zbmath Team--> exclude-result-prefixes="#default"> - + - - + + - + - + - - - - + + + + - - - + + + - - + + - + + Content generated by zbMATH Open, such as reviews, classifications, software, or author disambiguation data, are distributed under CC-BY-SA 4.0. This defines the license for the whole dataset, which also contains non-copyrighted bibliographic metadata and reference data derived from I4OC (CC0). Note that the API only provides a subset of the data in the zbMATH Open Web interface. In several cases, third-party information, such as abstracts, cannot be made available under a suitable license through the API. In those cases, we replaced the data with the string "zbMATH Open Web Interface contents unavailable due to conflicting licenses." - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - :unav - - - - - + + + + + :unav + + + + + - - - :unav - - - - - + + + :unav + + + + + - - - :unav - - - - - + + + :unav + + + + + - - - :unav - - - - - - - + + + :unav + + + + + + + - - + <titles> + <title xml:lang="en"> + <xsl:choose> + <xsl:when test="normalize-space(.) = '' or . = 'None' or . = 'none'">:unkn</xsl:when> + <xsl:otherwise> + <xsl:value-of select="normalize-space(.)"/> + </xsl:otherwise> + </xsl:choose> + + + + + + + - :unkn + :unav - + - - - - - - - - - :unav - - - - - - + + - - - - :unav - - - - - - + + + + :unav + + + + + + - - + + - + - - + + - - - - JournalArticle - - - Book - - - Other - - - - - - + + + + JournalArticle + + + Book + + + Other + + + + + + - - - - - + + + + + - <xsl:value-of select="series/title"/> + <xsl:choose> + <xsl:when + test="normalize-space(series/title) = '' or series/title = 'None' or series/title = 'none'"> + <xsl:text>:unav</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="series/title"/> + </xsl:otherwise> + </xsl:choose> - - + + + + :unav + + + + + - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + :unav + + + + + - - - - + + + + - + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + + + - - + + + + + + + + + - - + + - - - - - DOI - - - - URL - - - - + + + + + DOI + + + + URL + + + + - - - - + + + :unav + + + + + - - - - - - + + + + + - - + :unav + + + + + - - - + + - + :unav + + + + + - - - - - - <xsl:variable name="text" select="text"/> - <xsl:variable name="title-text" select="substring-before(substring-after($text, "''"), "''")"/> - <!-- Remove digits and trailing punctuation --> - <xsl:variable name="title-no-digits" select="translate($title-text, '0123456789', '')"/> - <xsl:value-of select="normalize-space( + <titles> + <xsl:choose> + <xsl:when test="normalize-space(text) = '' or text = 'None' or text = 'none'"> + <title>:unav + + + + + <xsl:variable name="text" select="text"/> + <xsl:variable name="title-text" + select="substring-before(substring-after($text, "''"), "''")"/> + <!-- Remove digits and trailing punctuation --> + <xsl:variable name="title-no-digits" select="translate($title-text, '0123456789', '')"/> + <xsl:value-of select="normalize-space( translate( $title-no-digits, ',.', '' ) )"/> - - - - - - <xsl:variable name="text" select="text"/> - <xsl:variable name="text-no-digits" select="translate($text, '0123456789', '')"/> - <xsl:variable name="first-comma" select="substring-after($text-no-digits, ',')"/> - <xsl:variable name="last-part" select="substring-before($text-no-digits, substring-after($text-no-digits, ', '))"/> - <xsl:variable name="last-comma" select="substring-before($last-part, ',')"/> - <xsl:variable name="result-text" select="normalize-space(concat(substring-before($first-comma, substring-after($first-comma, ', ')), substring-after($first-comma, ', ')))"/> - <xsl:value-of select="normalize-space( + + + + + + <xsl:variable name="text" select="text"/> + <xsl:variable name="text-no-digits" select="translate($text, '0123456789', '')"/> + <xsl:variable name="first-comma" select="substring-after($text-no-digits, ',')"/> + <xsl:variable name="last-part" + select="substring-before($text-no-digits, substring-after($text-no-digits, ', '))"/> + <xsl:variable name="last-comma" select="substring-before($last-part, ',')"/> + <xsl:variable name="result-text" + select="normalize-space(concat(substring-before($first-comma, substring-after($first-comma, ', ')), substring-after($first-comma, ', ')))"/> + <xsl:value-of select="normalize-space( translate( $result-text, ',.', '' ) )"/> - - - - + + + + - + + + :unav + + + + +