<!-- Author -->
<xsl:choose>
- <xsl:when test="marc:datafield[@tag='700']">
+ <xsl:when test="marc:datafield[@tag='100' and @ind1='1']">
+ <xsl:for-each select="marc:datafield[@tag='100']">
+ <xsl:call-template name="printfield">
+ <xsl:with-param name="name">A</xsl:with-param>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='a']"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:when test="marc:datafield[@tag='700' and @ind1='1']">
<xsl:for-each select="marc:datafield[@tag='700']">
<xsl:call-template name="printfield">
<xsl:with-param name="name">A</xsl:with-param>
- <xsl:with-param name="value"><xsl:value-of select="marc:subfield[@code='a']"/>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='a']"/>
</xsl:with-param>
</xsl:call-template>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
- <!-- Title -->
<xsl:for-each select="marc:datafield[@tag='245']">
+ <!-- Title -->
<xsl:call-template name="printfield">
<xsl:with-param name="name">T</xsl:with-param>
- <xsl:with-param name="value"><xsl:value-of select="marc:subfield[@code='a']"/>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='a']"/>
+ </xsl:with-param>
+ </xsl:call-template>
+
+ <!-- Secondary title -->
+ <xsl:call-template name="printfield">
+ <xsl:with-param name="name">B</xsl:with-param>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='b']"/>
</xsl:with-param>
</xsl:call-template>
</xsl:for-each>
<!-- Place Published -->
<xsl:call-template name="printfield">
<xsl:with-param name="name">C</xsl:with-param>
- <xsl:with-param name="value"><xsl:value-of select="marc:subfield[@code='a']"/>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='a']"/>
</xsl:with-param>
</xsl:call-template>
<!-- Publisher -->
<xsl:call-template name="printfield">
<xsl:with-param name="name">I</xsl:with-param>
- <xsl:with-param name="value"><xsl:value-of select="marc:subfield[@code='b']"/>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='b']"/>
</xsl:with-param>
</xsl:call-template>
<!-- Year -->
<xsl:call-template name="printfield">
<xsl:with-param name="name">D</xsl:with-param>
- <xsl:with-param name="value"><xsl:value-of select="marc:subfield[@code='c']"/>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='c']"/>
</xsl:with-param>
</xsl:call-template>
</xsl:for-each>
<!-- Keywords -->
<xsl:for-each select="marc:datafield[@tag='650']">
- <xsl:if test="marc:subfield[@code='a']">
- <xsl:text>%K </xsl:text>
- <xsl:value-of select="marc:subfield[@code='a']"/>
- <xsl:text>
-</xsl:text>
- </xsl:if>
- </xsl:for-each>
+ <xsl:call-template name="printfield">
+ <xsl:with-param name="name">K</xsl:with-param>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='a']"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:for-each>
+
+ <!-- Callnumber -->
+ <xsl:for-each select="marc:datafield[@tag='852']">
+ <xsl:call-template name="printfield">
+ <xsl:with-param name="name">L</xsl:with-param>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='h']"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:for-each>
+
+ <!-- Pages -->
+ <xsl:for-each select="marc:datafield[@tag='300']">
+ <xsl:call-template name="printfield">
+ <xsl:with-param name="name">P</xsl:with-param>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='a']"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:for-each>
<!-- URL -->
<xsl:for-each select="marc:datafield[@tag='856']">
- <xsl:if test="marc:subfield[@code='u']">
- <xsl:text>%U </xsl:text>
- <xsl:value-of select="marc:subfield[@code='u']"/>
- <xsl:text>
-</xsl:text>
- </xsl:if>
- </xsl:for-each>
+ <xsl:call-template name="printfield">
+ <xsl:with-param name="name">U</xsl:with-param>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='u']"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:for-each>
+
+ <!-- Volume -->
+ <xsl:for-each select="marc:datafield[@tag='245']">
+ <xsl:call-template name="printfield">
+ <xsl:with-param name="name">V</xsl:with-param>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='n']"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:for-each>
+
+ <!-- Abstract -->
+ <xsl:for-each select="marc:datafield[@tag='520']">
+ <xsl:call-template name="printfield">
+ <xsl:with-param name="name">X</xsl:with-param>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='a']"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:for-each>
<!-- ISBN -->
<xsl:for-each select="marc:datafield[@tag='020']">
- <xsl:if test="marc:subfield[@code='a']">
- <xsl:text>%@ </xsl:text>
- <xsl:value-of select="marc:subfield[@code='a']"/>
- <xsl:text>
-</xsl:text>
- </xsl:if>
- </xsl:for-each>
+ <xsl:call-template name="printfield">
+ <xsl:with-param name="name">@</xsl:with-param>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='a']"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:for-each>
<!-- ISSN -->
<xsl:for-each select="marc:datafield[@tag='022']">
- <xsl:if test="marc:subfield[@code='a']">
- <xsl:text>%@ </xsl:text>
- <xsl:value-of select="marc:subfield[@code='a']"/>
- <xsl:text>
-</xsl:text>
- </xsl:if>
- </xsl:for-each>
-
-
-
-
-
+ <xsl:call-template name="printfield">
+ <xsl:with-param name="name">@</xsl:with-param>
+ <xsl:with-param name="value">
+ <xsl:value-of select="marc:subfield[@code='a']"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:for-each>
</xsl:template>
+ <xsl:template match="text()"/>
</xsl:stylesheet>