2010-02-27 3 views
0

일부 SharePoint XSLT 결과에서 일부 강조 표시를 시도하고 있습니다. BElow는 내가 얻고있는 XML이다. 내가 얻는 문제는 템플리트 매치 블록이 UM의 하위 노드와 일치하지 않는다는 것입니다. 누군가 내가 잘못 가고있는 곳을 볼 수 있다면 좋을 것입니다. SharePoint XSLT 문제 -

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> 

감사하고 여기에 지금까지 가지고있는 XSLT이다.

  <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> 

답변

1

"UM의 하위 노드"란 무엇을 의미합니까?

어쩌면 내가 누락되었지만 "UM"이라는 텍스트가없는 노드가있을 수 있습니다. 그렇다면 텍스트 "UM"을 포함하는 노드를 일치시키려는 것입니까? 즉 <c0>UM</c0>?

내 경우에는 스타일 시트를 실행할 때 <c0> 노드와 일치하고 <b> 노드를 작성합니다.

당신을 위해 작동하지 않습니다 무엇

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

?