2010-02-27 16 views
0

J'essaie de mettre en évidence certains résultats SharePoint XSLT. BElow est le XML que je reçois. Le problème que je reçois est que les blocs de correspondance de modèle ne correspondent pas aux nœuds enfants de la messagerie unifiée. Si quelqu'un peut voir où je me trompe, ce serait génial.Problème SharePoint XSLT -

Merci vous

Chhris

 <rows> 
      <row> 
      <LastModifiedTime>02/25/2010 18:32:25</LastModifiedTime> 
      <RANK>325</RANK> 
      <TITLE>UMUK Win At The Mobile Entertainment</TITLE> 
      <AUTHOR>SVR08-002\Administrator</AUTHOR> 
      <CREATED>02/25/2010 18:32:22</CREATED> 
      <PATH>http://svr08-002:7005/Lists/FrontPageNews/DispForm.aspx?ID=3</PATH> 
      <HitHighlightedSummary>a 
       <c0>UM</c0> UK won the category of Best Music Label 2009 at the 4th annual ME (Mobile Entertainment) Awards C <ddd/> 
      </HitHighlightedSummary> 
      </row> 
     </rows> 

et est le XSLT ici que j'ai jusqu'à présent.

  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > 

     <xsl:template match="/"> 

      <table class="ICS_SearchTable" cellpadding="0" cellspacing="0" width="100%"> 
      <xsl:for-each select="rows/row"> 

       <xsl:variable name="Ext"> 
       <xsl:call-template name="get-file-extension"> 
        <xsl:with-param name="path" select="substring-before(PATH, '?')" /> 
       </xsl:call-template> 
       </xsl:variable>  
       <tr> 
       <td width="10%"> 

       </td> 
       <td> 
        <div class="ICS_SearchResultItem"> 
         <div class="ICS_SearchResultItemImage"> 
         <img src="/Style Library/UMIGlobe/Styles/Images/Common/umgi-{$Ext}.png" alt="{$Ext}"/> 
         </div> 
         <div class="ICS_SearchResultItemTitle"> 
            <a href="{PATH}"><xsl:value-of select="TITLE"/></a> 
         </div> 
         <div class="ICS_SearchResultItemDesc"> 
         <xsl:choose> 
         <xsl:when test="HitHighlightedSummary[. != '']"> 
         <xsl:call-template name="HitHighlighting"> 
          <xsl:with-param name="hh" select="HitHighlightedSummary" /> 
         </xsl:call-template> 
         </xsl:when> 
         <xsl:when test="DESCRIPTION[. != '']"> 
          <xsl:value-of select="DESCRIPTION"/>  
         </xsl:when>  
         </xsl:choose> 
         </div> 
         <div class="ICS_SearchResultItemLink"> 
            <a href="{PATH}"><xsl:value-of select="PATH"/></a> - <xsl:value-of select="AUTHOR" /> - <xsl:value-of select="LastModifiedTime"/> 
         <xsl:call-template name="DisplaySize"> 
         <xsl:with-param name="size" select="SIZE" /> 
         </xsl:call-template>           
         </div>                    
          </div>         
       </td> 
       </tr> 
      </xsl:for-each> 
      </table> 
     </xsl:template> 

     <xsl:template name="HitHighlighting"> 
      <xsl:param name="hh" /> 
      <xsl:apply-templates select="$hh"/> 
     </xsl:template> 

     <xsl:template match="ddd"> 
      &#8230; 
     </xsl:template> 
     <xsl:template match="c0"> 
      <b> 
      <xsl:value-of select="."/> 
      </b> 
     </xsl:template> 
     <xsl:template match="c1"> 
      <b> 
      <xsl:value-of select="."/> 
      </b> 
     </xsl:template> 
     <xsl:template match="c2"> 
      <b> 
      <xsl:value-of select="."/> 
      </b> 
     </xsl:template> 
     <xsl:template match="c3"> 
      <b> 
      <xsl:value-of select="."/> 
      </b> 
     </xsl:template> 
     <xsl:template match="c4"> 
      <b> 
      <xsl:value-of select="."/> 
      </b> 
     </xsl:template> 
     <xsl:template match="c5"> 
      <b> 
      <xsl:value-of select="."/> 
      </b> 
     </xsl:template> 
     <xsl:template match="c6"> 
      <b> 
      <xsl:value-of select="."/> 
      </b> 
     </xsl:template> 
     <xsl:template match="c7"> 
      <b> 
      <xsl:value-of select="."/> 
      </b> 
     </xsl:template> 
     <xsl:template match="c8"> 
      <b> 
      <xsl:value-of select="."/> 
      </b> 
     </xsl:template> 
     <xsl:template match="c9"> 
      <b> 
      <xsl:value-of select="."/> 
      </b> 
     </xsl:template> 

     <!-- The size attribute for each result is prepared here --> 
     <xsl:template name="DisplaySize"> 
     <xsl:param name="size" /> 
     <xsl:if test='string-length($size) &gt; 0'>  
     <xsl:if test="number($size) &gt; 0"> 
     - 
      <xsl:choose> 
      <xsl:when test="round($size div 1024) &lt; 1"><xsl:value-of select="$size" /> Bytes</xsl:when> 
      <xsl:when test="round($size div (1024 *1024)) &lt; 1"><xsl:value-of select="round($size div 1024)" />KB</xsl:when> 
      <xsl:otherwise><xsl:value-of select="round($size div (1024 * 1024))"/>MB</xsl:otherwise> 
      </xsl:choose>  
     </xsl:if> 
     </xsl:if> 
     </xsl:template> 

     <xsl:template name="get-file-extension"> 
      <xsl:param name="path" /> 
      <xsl:choose> 
      <xsl:when test="contains($path, '/')"> 
       <xsl:call-template name="get-file-extension"> 
       <xsl:with-param name="path" select="substring-after($path, '/')" /> 
       </xsl:call-template> 
      </xsl:when> 
      <xsl:when test="contains($path, '.')"> 
       <xsl:call-template name="get-file-extension"> 
       <xsl:with-param name="path" select="substring-after($path, '.')" /> 
       </xsl:call-template> 
      </xsl:when> 
      <xsl:otherwise> 
       <!-- SET THE PATH IMAGE SRC --> 
       <xsl:choose> 
       <xsl:when test="$path = 'uk' or $path = 'org' or $path = 'com' or $path = 'net' or $path = 'biz' or $path = 'gov'"> 
        <xsl:text>url</xsl:text> 
       </xsl:when> 
       <xsl:otherwise> 
        <xsl:value-of select="$path" /> 
       </xsl:otherwise> 
       </xsl:choose> 
      </xsl:otherwise> 
      </xsl:choose> 
     </xsl:template> 
     </xsl:stylesheet> 

Répondre

1

Qu'entendez-vous par «nœuds enfants de UM»?

Peut-être qu'il me manque quelque chose, mais il n'y a pas de nœuds nommés "UM", juste du texte. Alors voulez-vous dire que vous voulez faire correspondre le nœud qui contient le texte "UM" ... en d'autres termes <c0>UM</c0>? Dans mon cas, lorsque je lance votre feuille de style, elle correspond au noeud <c0> et écrit un noeud <b>.

<b>UM</b> UK won the category of Best Music Label 2009 at the 4th annual ME (Mobile Entertainment) Awards C

Qu'est-ce qui ne fonctionne pas pour vous?