[xsl] Replacing words in an element

Subject: [xsl] Replacing words in an element
From: "Joseph Tan" <Joseph.Tan@xxxxxxxxxxxxxxxxxx>
Date: Fri, 15 Aug 2003 16:04:12 -0500
How do I replace SOUTHLIB with "South Library"?

XML input:

<B1>Cardiology clinics.</B1> 
<B4>LIBWEBSITE --</B4> 
<B4>Online access; years vary.</B4> 
<B4>JOURNALS --</B4> 
<B4>Vol 7- 1989-</B4> 
<B4>ONLINELIB</B4> 
<B4>SOUTHLIB</B4> 
<DBC>LIBCAT</DBC> 
<DBN>Library catalog</DBN

XSL code:

	<xsl:choose>
		<!-- If record is from Library catalog -->
		<xsl:when test="DBN='Library catalog'">
			Holdings: 
			<xsl:for-each select="$items[text()!='ONLINELIB' and  text()!='LIBWEBSITE --'  and text()!='JOURNALS --']">
                                            
                                              <-- Tried the following but didn't work-->
                                              <!--<xsl:choose>
						<xsl:when test="starts-with($items, 'SOUTHLIB')">
							South Campus Library
						</xsl:when>
				</xsl:choose>-->	
				
				<xsl:value-of select="."/>
				
				<xsl:if test="position() != last()">
						<xsl:variable name="pos" select="position()"/>
						<xsl:variable name="next" select="$items[$pos+1]"/>
					<xsl:choose>
						<xsl:when test="name() = name($next)"><xsl:value-of select="$separator1"/></xsl:when>
						<xsl:otherwise><xsl:value-of select="$separator2"/></xsl:otherwise>
					</xsl:choose>
				</xsl:if>
			</xsl:for-each>
		</xsl:when>
		
		<!--If record is from electronic journals collection-->
		<xsl:otherwise>
			<xsl:for-each select="$items[name()='B2']">
				<xsl:call-template name="DisplayItem"/>
			</xsl:for-each>
		</xsl:otherwise>
	</xsl:choose>
</xsl:template>

<!-- ########################################################################## -->

<xsl:template name="DisplayItem">
	<xsl:variable name="pos" select="position()"/>
  	<xsl:variable name="url" select="following-sibling::B3[$pos]"/>
	
                       <!--Tried this but didn't work -->
		<!--<xsl:choose>
			<xsl:when test="contains(., 'SOUTHLIB')">South Library</xsl:when>
		<xsl:otherwise>
			<xsl:value-of select="."/>
		</xsl:otherwise>
		</xsl:choose>-->

  		<xsl:value-of select="."/>
  		<xsl:text> (</xsl:text><a href="{$url}">Full-Text</a><xsl:text>)</xsl:text>
  			<xsl:if test="position()!=last()">
   				 <xsl:text>, </xsl:text>
  			</xsl:if>
</xsl:template>

<!-- ########################################################################## -->

Joseph


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread