Sample: AdventureWorks Search Sample XSLT Transformation
Following is the XSLT transformation sample code described in Step 3: Create the XSLT Transformation Code for Walkthrough: Creating an ASP.NET Web Part for the AdventureWorks Business Data Application Sample.
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/">
<xsl:variable name="Rows" select="/All_Results/Result" />
<xsl:variable name="RowCount" select="count($Rows)" />
<xsl:variable name="IsEmpty" select="$RowCount = 0" />
<xsl:choose>
<xsl:when test="$IsEmpty">
<xsl:call-template name="dvt_1.empty" />
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="dvt_1.body"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="dvt_1.empty">
<span class="srch-description" id="CSR_NO_RESULTS">
No results matching your search were found. <ol>
<li>Check your spelling. Are the words in your query spelled correctly?</li>
<li>Try using synonyms. Maybe what you're looking for uses slightly different words.</li>
<li>Make your search more general. Try more general terms in place of specific ones.</li>
<li>Try your search in a different scope. Different scopes can return different results.</li>
</ol>
</span>
</xsl:template>
<xsl:template name="dvt_1.body">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="Result">
<xsl:variable name="id" select="PRODUCTID"/>
<xsl:variable name="url" select="PATH"/>
<span class="srch-Title">
<a href="{$url}" id="{concat('CSR_',$id)}" title="{$url}">
<xsl:value-of select="PRODUCTNAME"/></a>
<br/>
</span>
<span class="srch-Metadata">
<xsl:call-template name="DisplayString">
<xsl:with-param name="str" select="PRODUCTID" />
<xsl:with-param name="prop">Product ID:</xsl:with-param>
</xsl:call-template>
<br/>
</span>
<span class="srch-URL">
<a href="{$url}" id="{concat('CSR_U_',$id)}" title="{$url}">
<xsl:value-of select="PATH"/>
</a><br/><br/>
</span>
</xsl:template>
<xsl:template name="DisplayString">
<xsl:param name="str" />
<xsl:param name="prop" />
<xsl:if test='string-length($str) > 0'>
<xsl:value-of select="$prop" /> <xsl:value-of select="$str" />
</xsl:if>
</xsl:template>
</xsl:stylesheet>
See Also
Tasks
Step 3: Create the XSLT Transformation Code
Walkthrough: Creating an ASP.NET Web Part for the AdventureWorks Business Data Application Sample