version="2.0"
exclude-result-prefixes="oai_dc dc">
<xsl:output method="xml" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<add>
<xsl:for-each select="OAI-PMH/ListRecords/record">
<doc>
<field name="id">
<xsl:value-of select="header/identifier"/>
</field>
<field name="tcngrams_title">
<xsl:value-of select="metadata/oai_dc:dc/dc:title"/>
</field>
<field name="tcngrams_content">
<xsl:value-of
select="string-join((metadata/oai_dc:dc/dc:description, metadata/oai_dc:dc/dc:subject, metadata/oai_dc:dc/dc:coverage), ' ')"/>
</field>
<field name="sm_url">
<xsl:variable name="delimeter">
<xsl:text>,</xsl:text>
</xsl:variable>
[
<xsl:for-each select="metadata/oai_dc:dc/dc:identifier">
<xsl:choose>
<xsl:when test="starts-with(., 'http://')">
<xsl:value-of select="replace(., 'http://', 'https://')"/>
<xsl:value-of select="$delimeter"/>
</xsl:when>
<xsl:otherwise>
<xsl:if test="starts-with(., 'https://')">
<xsl:value-of select="."/>
<xsl:value-of select="$delimeter"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
]
</field>
<field name="ds_date_created">
<xsl:value-of select="concat(header/datestamp,'T00:00:00Z')"/>
</field>
<field name="ds_date_updated">
<xsl:value-of select="concat(header/datestamp,'T00:00:00Z')"/>
</field>
<xsl:if test="metadata/oai_dc:dc/dc:type">
<field name="ss_category">
<xsl:value-of select="metadata/oai_dc:dc/dc:type"/>
</field>
</xsl:if>
<field name="ss_topic">
<xsl:for-each select="metadata/oai_dc:dc/dc:subject">
<xsl:variable name="subject" select="normalize-space(substring-before(.,'--'))"/>
<xsl:choose>
<xsl:when test="$subject">
<xsl:value-of select="$subject"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="normalize-space(.)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</field>
<xsl:if test="metadata/oai_dc:dc/dc:creator">
<field name="tcngrams_author_name">
<xsl:value-of select="metadata/oai_dc:dc/dc:creator"/>
</field>
</xsl:if>
<field name="sm_source">
<xsl:value-of
select="string-join((metadata/oai_dc:dc/dc:source, metadata/oai_dc:dc/dc:relation), ' ')"/>
</field>
</doc>
</xsl:for-each>
</add>
</xsl:template>
</xsl:transform>