Compartilhar via


Etapa 3: Criar o código de transformação XSLT

O personalizado pesquisa codificar Web Part converte os resultados da pesquisa para dados XML e, em seguida, aplica um transformação XSLT ao XML para formato-lo para exibir no navegador. Codificar a transformação usada neste exemplo é uma versão modificada do transformação XSLT usado pelo Core Search Results Web Part. Para obter mais informações, consulte Empresa de pesquisa principal resultados XSLT transformação.

Dica

O caminho virtual para productXSL.xsl especificado por este amostra de código é o Diretório virtual _layouts virtual _layouts, que converte para o seguinte físico caminho: \Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\. Se você salvar productXSL.xsl em uma localidade diferente, você deve alteração o caminho para o exemplo para trabalho corretamente.

Para criar a codificar transformação XSLT

  1. Criar o arquivo productXSL.xsl no seguinte caminho.

    \Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\

    Para editar o arquivo, você pode usar um ferramenta de desenvolvimento such as Visual Studio 2005, ou você pode usar um editor de texto such as Bloco de Notas.

  2. Adicione o seguinte codificar para productXSL.xsl.

    <?xml version="1.0" encoding="utf-8" ?>
    <!DOCTYPE xsl:stylesheet [
      <!ENTITY nbsp "&#160;">
    
    ]>
    <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) &gt; 0'>
            <xsl:value-of select="$prop" />&#160;   <xsl:value-of select="$str" />
        </xsl:if>
      </xsl:template>
    </xsl:stylesheet>
    

Você pode localizar o completo codificar para o arquivo transformação XSLT productXSL.xsl em Exemplo: Adventureworks pesquisa exemplo XSLT transformação.

Consulte também

Outros recursos

Walkthrough: Criando uma Parte da Web ASP.NET para o exemplo de aplicativos de dados AdventureWorks Business
Etapa 1: Configurar o projeto para a Web Part de Pesquisa personalizada
Etapa 2: Adicionar o código para a Web Part de Pesquisa personalizada
Etapa 4: implantar o Web Part de Pesquisa personalizada
Etapa 5: Teste o Web Part de pesquisa BDC