Compartilhar via


Empresa de pesquisa principal resultados XSLT transformação

Você pode modificar o Search Core Results Web Part XSLT Transformation (XSLT) para alteração como os resultados da pesquisa exibidos em pesquisa resulta páginas. Este tópico descreve o Search Core Results Web Part XSLT, e como você pode personalizá-lo.

O seguinte cenários oferecem exemplos de quando ele pode ser útil para que você modifique esse codificar:

  • Você desejar fazer menor muda para a exibir de resultados da pesquisa modificando os modelos existentes de usar como padrão XSLT.

  • Você desejar fazer alterações mais complexas de exibir de resultados da pesquisa adicionando novos modelos de XSLT.

  • Você desejar para condicionalmente alteração a exibir certos resultados, depending on uma da propriedade valores que é retornado.

  • Você precisará modificar o XSLT para exibir uma propriedade adicionados ao conjunto de propriedades usar como padrão retornada em resultados de pesquisa.

  • Você desejar para modificar os modelos exibir para usar um personalizado classe folha de estilo em cascata no local das classes de folha de estilo em cascata usar como padrão.

Modificando a resultados de pesquisa principal da Web Part XSLT

O Search Core Results Web Part XSLT é especificado na propriedade XSL do o Web Part. Você pode exibição e modificar esta propriedade do painel a ferramenta Search Core Results Web Part, no Toolpart para o Data Form Web Part. Para obter mais informações sobre exibindo e modificando essa propriedade, consulte Como a: Exibir e editar a transformação XSLT de resultados de pesquisa.

Analisando dados XML de resultados de pesquisa

Antes de começar a modificar o XSLT para a Web Part de pesquisa principal de resultados, é útil saber quais os resultados contém dados XML.

O seguinte amostra de código é um trecho dos resultados da pesquisa dados XML.

Dica

A exibição este dados, siga as etapas descritas em Como a: modo de exibição de pesquisa de resultados XML dados.

<All_Results>
  <Result>
    <id>1</id> 
    <rank>713</rank> 
    <title>Microsoft.SharePoint Namespace</title> 
    <author /> 
    <size>39058</size> 
    <url>https://msdn.microsoft.com/library/default.asp?url=/library/en-     us/spptsdk/html/tsnsMicrosoftSharePoint_SV01017995.asp</url> 
    <description>Microsoft.SharePoint Namespace</description> 
    <sitename> https://msdn.microsoft.com/library</sitename> 
    <collapsingstatus>0</collapsingstatus>
    <hithighlightedsummary>
      <…>
    </hithighlightedsummary>
    <hithighlightedproperties>
      <…>
    </hithighlightedproperties>
    <…>
   </Result>
   <Result>
    <…>
    <…>
   </Result>
</All_Results>  

Os elementos incluídos nos resultados da pesquisa que dados XML são determinadas pelo seguinte:

  • As propriedades exibir do Search Core Results de Web Parts.

  • - O gerenciado propriedades especificadas no Results Query OptionsSelected Columns colunas selecionadas.

Dica

Para obter mais informações sobre a alteração gerenciado propriedades que são incluídas nos resultados da pesquisa, consulte Como: alterar as propriedades retornadas nos resultados da pesquisa de núcleo.

Familiarize-se com os resultados dados XML antes de fazer as modificações de XSLT. Compreendendo a estrutura do que está sendo transformado, você pode fazer mais facilmente sua alteração.

Trabalhando com modelos XSL

Esta seção fornece informações sobre os modelos que são definidos e usados na Search Core Results XSLT.

Modelo de raiz

Para iniciar uma revisão do Search Core Results XSLT, examine a seção da codificar onde a transformação é iniciada. Esta seção está localizada no final da codificar; Você pode localizar-pesquisando a seguinte marca:

<xsl:template match="/">

A seguinte sintaxe Define um modelo e o associa com o nó raiz do XML:

<All_Results>
…
</All_Results>

O XSLT completo para este modelo segue:

  <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:if test="$AlertMeLink">
      <input type="hidden" name="P_Query" />
      <input type="hidden" name="P_LastNotificationTime" />
    </xsl:if>
    <xsl:choose>
      <xsl:when test="$IsNoKeyword = 'True'" >
        <xsl:call-template name="dvt_1.noKeyword" />
      </xsl:when>
      <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>

O modelo raiz não transformar qualquer um dos resultados dados XML. Seu primário função é determinar qual modelo deve ser aplicado próximo, com base em testes condicionais nos resultados de pesquisa dados XML.

Os testes condicionais na XSLT tente determinar quais do seguinte aplica resultados da pesquisa cenários de Web Parts:

  • Pesquisa principais resultados da Web Part contém resultados da pesquisa.

  • Pesquisa principais resultados da Web Part não contém nenhum resultado pesquisa, porque uma do seguinte for verdadeira:

    • Nenhuma consulta pesquisa foi emitida.

    • Nenhum resultado relevante foram retornado para a consulta pesquisa.

Há modelos resultados da pesquisa

Primeiro testa o XSLT para a seguinte condições:

  • Uma consulta pesquisa existe?

  • É os resultados da pesquisa definida vazio?

Se você navegar diretamente para a página de resultados sem especificar quaisquer palavras pesquisa, ou se a Web Part foi configurada para usar uma consulta palavra-chave fixo, mas não palavra-chave foi especificado, a primeira condição retornará true. Se a condição retorna true, em seguida, o modelo XSL aplicado para o corpo principal do Search Core Results Web Part é o modelo dvt_1.noKeyword. O seguinte definir mostra como esse modelo aparece na página de resultados:

ms584121.24e7ef01-6fa3-4846-b5d4-32fc2afc2d1a(pt-br,office.12).gif

Para modificar a aparência, no Search Core Results Web Part XSLT, pesquisa de marca de abertura deste modelo:

<xsl:template name="dvt_1.noKeyword">

e modificar o conteúdo.

A segunda condição retorna true se o consulta de pesquisa inseridas pelo usuário não retornou resultados. Para este maiúsculas e minúsculas, o modelo aplicado ao corpo principal do Search Core Results Web Part é o modelo dvt_1.Empty. O seguinte definir mostra como esse modelo aparece na página de resultados:

ms584121.e080d032-4b0d-41ae-9b57-7394b1ce798f(pt-br,office.12).gif

Para modificar o texto ou ação links que são exibidos, pesquisa de marca de abertura desse modelo na XSLT:

<xsl:template name="dvt_1.empty">

e, em seguida, modificar o conteúdo.

Modelos de resultados de pesquisa

If search results are returned—because neither of the conditions described in the previous section return true—then the template specified in the <xsl:otherwise> tag of this template's XSLT is applied to the main body of the Search Core Results Web Part.

A exibição de XSLT para este modelo, pesquisa de codificar para o seguinte:

<xls:template name="dvt_1.body">

A codificar transformar nesse modelo é usado principalmente para o cabeçalho mostrado com os resultados da pesquisa; Você poderia modificar este modelo para quaisquer alterações desejar para fazer o cabeçalho. O seguinte definir Mostra o cabeçalho usar como padrão:

ms584121.cf09a809-411e-455a-80f7-b675143a36b4(pt-br,office.12).gif

No final de codificar desse modelo, após a codificar transformar cabeçalho resultados da pesquisa, você irá localizar a seguinte linha de XSLT:

<xsl:apply-templates />

Esta linha de codificar indica que a transformar XSL deve continuar em e aplicar modelos para nós filho onde uma correspondência for encontrada. Se você examinar o marca de fechamento para o modelo dvt_1.Body, você verá que o próximo Linha de XSLT é o seguinte:

<xsl:template match="Result">

Este codificar define o modelo para associar com o nó de resultados e contém o XSLT para compilar a exibir dos resultados da pesquisa, que inclui o seguinte elementos para cada resultado:

  • Ícone/imagem

  • Título

  • Descrição

  • Os metadados

The default XSLT for the search results metadata includes the values for the Path, Size, Author, and LastModified properties.

Dentro dessas seções, você vai aviso que o XSLT chama modelos adicionais. Eles são descritos em detalhes no seguinte seções.

Modelo HitHighlighting

O modelo HitHighlighting é responsável por destacando as palavras pesquisa exibidas no seguinte resultado seções:

  • Título

  • URL

  • Descrição

To understand how this XSLT works, you must look at the hithighlighting-related child elements of the <Result></Result> tag in the search results XML data. O seguinte exemplo mostra uma maiúsculas e minúsculas onde as palavras pesquisa inseridas pelo usuário foram "SharePoint", "namespace" e "classe":

<hithighlightedsummary>
  <c0>SharePoint</c0> <c1>namespace</c1> provides types and members that can be used for working with a <c0>SharePoint</c0> site  <ddd /> a top-level <c2>class</c2> that represents a <c0>SharePoint</c0> site and provides access to its collection of subsites <ddd /> <c0>SharePoint</c0> <c1>namespace</c1> and a brief description of each.
</hithighlightedsummary>
<hithighlightedproperties>
  <HHTitle>Microsoft.<c0>SharePoint</c0> <c1>Namespace</c1></HHTitle>
  <HHUrl>https://msdn.microsoft.com/library/default.asp?url=/library/en-     us/spptsdk/html/tsnsMicrosoft<c0>SharePoint</c0>_SV01017995.asp</HHUrl>
</hithighlightedproperties>

The <hithighlightedsummary></hithighlightedsummary>, <HHtitle></HHtitle>, and <HHUrl></HHUrl> elements have child elements embedded in their XML data that act as wrappers for each of the search words found in the XML data.

Quando há múltiplo pesquisa palavras, cada palavra está contido em um elemento diferente; no entanto o mesmo elemento é usado para diferentes instâncias da mesma palavra pesquisa.

As shown in the preceding example, the <c0></c0> tag contains the first search word, the <c1></c1> element contains the second search word, and so on.

Você pode modificar o modelo HitHighlighting para personalizar como palavras de pesquisa são realçado nos resultados. De exemplo, você pôde alteração de cor do realçado texto e use cores diferentes para representar diferentes pesquisa palavras.

O seguinte amostra de código XSLT demonstra como fazer isso:

<xsl:template match="c0">
    <b style="color: #ff0033">
      <xsl:value-of select="."/>
    </b>
  </xsl:template>
  <xsl:template match="c1">
    <b style="color: #990066">
      <xsl:value-of select="."/>
    </b>
</xsl:template>

O realçado seções de exemplo identificam a codificar que foi adicionado ao codificar XSLT usar como padrão para alteração de cor usada para realce palavras de pesquisa. Você pode localizar esta seção de codificar no modelo de HitHighlighting. Para localizar esse modelo, pesquisa para:

<xsl:template name="Hithightlighting">

Na XSLT.

Modelo DisplaySize

O modelo DisplaySize é responsável por exibir a propriedade Size Tamanho retornada nos resultados do. XSLT calcula the most apropriado unidade a ser usada (Selecionar de bytes, KB ou MB) e ajusta o valor tamanho exibidas adequadamente. deste modelo

Modelo DisplayString

O modelo DisplayString é um genérico modelo para exibir valores seqüência de caracteres retornados em dados XML dos resultados. O usar como padrão XSLT usa esse modelo para exibir as propriedades LastModified Author e LastModified.

Consulte também

Outros recursos

Personalizando resultados da pesquisa da empresa
Como a: Exibir e editar a transformação XSLT de resultados de pesquisa
Como: alterar as propriedades retornadas nos resultados da pesquisa de núcleo
Como a: modo de exibição de pesquisa de resultados XML dados
Como: alterar as propriedades retornadas nos resultados da pesquisa de núcleo