Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
XML
data.xmlanalysis
mappoint.webservice
msf
msxml-webrelease
netmyservices.sdk
passport.sdk
soap
soapsdk
uddi.general
uddi.programming
uddi.specification
xml
xmlsqlwebrelease
xsl
  
 
date: Fri, 20 Jun 2008 17:10:11 +1000,    group: microsoft.public.xsl        back       


Hope an xslt guru can help me with this   
I have a xml below and its from a sharepoint list and i would like to format 
it using xslt.
What i want to achieve is Display the Title,Body,Modified and the Author


I have actually done that(but not done well) and this is my xslt below (but 
what i want to to also achieve is check for the node rows and if  0 show 
nothing and
display a meessage "There are no messages to show in this view".)

Thanks in Advance

<?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:lv="FlexListViewer.ListViewerObjectModel" 
exclude-result-prefixes="lv">

    <!-- URL to the current page (page containing the 
FlexListViewer-webpart) -->
 <xsl:param name="currentPage"></xsl:param>
 <!-- URL to the current site (site where the current page is hosted) -->
 <xsl:param name="currentSiteUrl">CURRENTSITEURL_X</xsl:param>
 <!-- Locale-id of the current site -->
 <xsl:param name="lcid">LCID</xsl:param>
 <!-- Whether AddNewItem-option must be displayed -->
 <xsl:param name="allowAddNewItem">False</xsl:param>
 <!-- Message to display for the AddNewItem-button/label -->
 <xsl:param name="msgAddNewItem">ADDNEWITEM</xsl:param>
 <!-- Text for "Yes" in the locale of current site -->
 <xsl:param name="msgYes">Ja</xsl:param>
 <!-- Text for "No" in the locale of current site -->
 <xsl:param name="msgNo">Nee</xsl:param>

    <xsl:output method="html" encoding="UTF-8" omit-xml-declaration="yes"/>


 <xsl:template name="dvt_1" match="/lv:Rows">

  <xsl:variable name="Rows" select="/lv:Row"/>
  <xsl:variable name="dvt_RowCount" select="count($Rows)"/>
  <xsl:variable name="dvt_IsEmpty" select="$dvt_RowCount=0"/>
  <xsl:choose>
   <xsl:when test="$dvt_IsEmpty">
    <xsl:call-template name="dvt_1.empty" />

   </xsl:when>
   <xsl:otherwise>

   <!--
   <table border="0" width="100%" cellpadding="2" cellspacing="0">
   <xsl:call-template name="dvt_1.body">
    <xsl:with-param name="Rows" select="$Rows"/>
   </xsl:call-template>
     </table>
     -->

     <!--
      <table border="0" width="100%" cellpadding="2" cellspacing="0">
   <xsl:call-template name="main">

    <xsl:with-param name="rowValues" select="."/>
   </xsl:call-template>
     </table>
     -->

     <xsl:text>sdsds</xsl:text>




  </xsl:otherwise>
  </xsl:choose>

 </xsl:template>




 <xsl:template match="/lv:ListView">


    <xsl:call-template name="dvt_1"/>


    <table rules="rows" border="1" cellspacing="2" cellpadding="2" 
class="ms-summarytable" width="100%" bordercolor="#D7E6F4" 
bgcolor="#FFFFCC">

  <tr align="left">
   <th bgcolor="#ffd6e7" 
style="font-style:normal;color:#a8104a">Subject</th>
      <th bgcolor="#ffd6e7" 
style="font-style:normal;color:#a8104a">Description</th>
      <th bgcolor="#ffd6e7" style="font-style:normal;color:#a8104a">Date 
Modified</th>
      <th bgcolor="#ffd6e7" style="font-style:normal;color:#a8104a">Created 
by</th>


        </tr>

  <!-- Header-row -->
  <tr>
        <!--
   <xsl:apply-templates select="lv:Fields/lv:ListViewField[@Hidden = 
'false']" mode="renderField" />
  -->
  </tr>

  <!-- Data rows -->

  <xsl:apply-templates select="lv:Rows/lv:ListViewRow/lv:RowValues">
   <xsl:with-param name="fields" select="lv:Fields"/>
  </xsl:apply-templates>

<!-- New row

  <xsl:apply-templates select="lv:Rows/lv:ListViewRow/@Id">

   <xsl:with-param name="id" select="."/>

  </xsl:apply-templates>
  -->

  </table>


  <!-- Add new Item -->
  <xsl:if test="$allowAddNewItem = 'True'">
   <table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tr height="1px"><td class="ms-partline" style="height:1px;"></td></tr>
    <tr><br/><td style="padding-bottom: 3px">
       <img src="/_layouts/images/rect.gif" alt="" /> 
     <a href="{@SiteUrl}{@NewFormUrl}?Source={$currentPage}" target="_self">
      <xsl:value-of select="$msgAddNewItem"/>
     </a>
    </td></tr>
   </table>
  </xsl:if>

 </xsl:template>


 <!-- MyRow -->
 <xsl:template match="lv:ListViewRow/lv:RowValues">


  <xsl:param name="id"/>

  <!-- -->
  <tr>
<!--
  <xsl:value-of select="$id"/>
-->
  </tr>
 </xsl:template>




 <!-- Row -->
 <xsl:template match="lv:ListViewRow/lv:RowValues">
  <xsl:param name="id"/>
  <xsl:param name="fields"/>
  <!-- -->
  <tr>
   <xsl:variable name="thisRowValues" select="." />


   <xsl:apply-templates select="$fields/lv:ListViewField[@Hidden = 'false']" 
mode="renderRow">
    <xsl:with-param name="rowValues" select="."/>
   </xsl:apply-templates>

   <xsl:value-of select="$id"/>

  </tr>

 </xsl:template>



 <!-- Row-item -->
 <xsl:template match="lv:ListViewField" mode="renderRow">


  <xsl:param name="rowValues"/>

  <!-- -->

  <xsl:variable name="currentFieldName" select="@Name"/>

   <xsl:variable name="fieldValueParts" 
select="$rowValues/lv:ListViewRowValue[@FieldName = 
$currentFieldName]/lv:Parts"/>

       <xsl:variable name="rowCount" select="count($rowValues)" />





  <xsl:choose>

    <xsl:when test="@FieldType = 'URL'">
     <td bgcolor="#C0C0C0">
      <xsl:choose>
       <xsl:when test="count($fieldValueParts/lv:ListViewRowValuePart) >= 
2">
        <a href="{$fieldValueParts/lv:ListViewRowValuePart[position() = 
1]/text()}">
         <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[position() = 2]/text()"/>
        </a>
       </xsl:when>
       <xsl:otherwise>
        <a href="{$fieldValueParts/lv:ListViewRowValuePart[position() = 
1]/text()}">
         <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[position() = 1]/text()"/>
        </a>
       </xsl:otherwise>
      </xsl:choose>
       
     </td>
    </xsl:when>


    <xsl:when test="@FieldType = 'User'">
     <td>
      <xsl:choose>
       <xsl:when test="count($fieldValueParts/lv:ListViewRowValuePart) >= 
2">
        <xsl:variable name="listSiteUrl" select="/lv:ListView/@SiteUrl" />
        <!--
        <a 
href="{$listSiteUrl}_layouts/{$lcid}/UserDisp.aspx?ID={$fieldValueParts/lv:ListViewRowValuePart[position() 
= 2]/text()}">
         <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[position() = 1]/text()"/>
        </a>
        -->

         <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[position() = 1]/text()"/>


       </xsl:when>
       <xsl:otherwise>

        <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[position() = 1]/text()"/>

       </xsl:otherwise>
      </xsl:choose>
       
     </td>
    </xsl:when>

    <xsl:when test="@FieldType = 'Boolean'">
     <td class="ms-vb2">
      <xsl:choose>
       <xsl:when test="$fieldValueParts/lv:ListViewRowValuePart[position() = 
1]/text() = 'True'"><xsl:value-of select="$msgYes"/></xsl:when>
       <xsl:otherwise><xsl:value-of select="$msgNo"/></xsl:otherwise>
      </xsl:choose>
       
     </td>
    </xsl:when>

    <xsl:when test="@FieldType = 'Attachments'">
     <td class="ms-vb2">
      <xsl:choose>
       <xsl:when test="$fieldValueParts/lv:ListViewRowValuePart[position() = 
1]/text() = '0'"> </xsl:when>
       <xsl:otherwise><img border="0" 
src="/test/_layouts/images/attach.gif"/></xsl:otherwise>
      </xsl:choose>
       
     </td>
    </xsl:when>



   <xsl:when test="@FieldType = 'Computed'">
    <td class="ms-vb2">
     <xsl:choose>
     <xsl:when test="$fieldValueParts/lv:ListViewRowValuePart[position() = 
1]/text() = 'True'">
                      <!--
      <xsl:when test="$fieldValueParts/lv:ListViewRowValuePart[position() = 
1]/text() = 'True'">
      -->

       
      <!--
      <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[position() = 1]/text()"/>
                       -->

      </xsl:when>

      <xsl:otherwise>

      <xsl:value-of select="$fieldValueParts/lv:ListViewRowValuePart"/>
      <!--
      <xsl:if test="position() < 0">
       <xsl:value-of select="$fieldValueParts/lv:ListViewRowValuePart"/>
          </xsl:if>
          -->

                    </xsl:otherwise>
     </xsl:choose>
      
    </td>
   </xsl:when>


   <xsl:when test="@FieldType = 'Note'">
    <td class="ms-vb2">
    <xsl:choose>
     <xsl:when test="$fieldValueParts/lv:ListViewRowValuePart[position() = 
1]/text() = ' ' ">

     </xsl:when>
     <xsl:otherwise>
      <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[position() = 1]/text()"/>

     </xsl:otherwise>

     </xsl:choose>
     <!--
     <xsl:choose>
      <xsl:when test="$fieldValueParts/lv:ListViewRowValuePart[position() = 
1]/text() = 'True'"> </xsl:when>
      <xsl:otherwise>
       <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[position() = 1]/text()"/>

       <img border="0" src="/test/_layouts/images/attach.gif"/>

      </xsl:otherwise>
     </xsl:choose>
      
     -->
    </td>
   </xsl:when>


   <xsl:when test="@FieldType = 'DateTime'">
    <td class="ms-vb2">
     <xsl:choose>
      <xsl:when test="$fieldValueParts/lv:ListViewRowValuePart[position() = 
1]/text() = 'True'"> </xsl:when>
      <xsl:otherwise>
       <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[position() = 1]/text()"/>
       <!--
       <img border="0" src="/test/_layouts/images/attach.gif"/>
       -->
      </xsl:otherwise>
     </xsl:choose>
      
    </td>
   </xsl:when>


   <!--
    <xsl:when test="@FieldType = 'EDIT'">
     <xsl:variable name="editUrl">
      <xsl:value-of select="/lv:ListView/@SiteUrl"/>
      <xsl:value-of select="/lv:ListView/@EditFormUrl"/>
     </xsl:variable>

     <td class="ms-vb2">
      <a 
href="{$editUrl}?ID={$fieldValueParts/lv:ListViewRowValuePart[1]}&Source={$currentPage}">
       <img src="{$currentSiteUrl}_layouts/images/edititem.gif" border="0" 
/>
      </a>
       
     </td>

    </xsl:when>
    -->


    <xsl:when test="@FieldType = 'DOCICON'">
     <td class="ms-vb-icon">
      <img 
src="{$currentSiteUrl}_layouts/images/{$fieldValueParts/lv:ListViewRowValuePart[1]}" 
border="0" />
     </td>
    </xsl:when>

    <xsl:when test="@FieldType = 'FILE'">
     <xsl:variable name="listRootUrl" select="/lv:ListView/@RootUrl" />
     <td class="ms-vb2">
      <a href="{$listRootUrl}{$fieldValueParts/lv:ListViewRowValuePart[1]}" 
target="_blank">
       <xsl:value-of select="$fieldValueParts/lv:ListViewRowValuePart[1]"/>
      </a>
       
     </td>
    </xsl:when>

  <!-- variable for  fieldValueParts-
  <xsl:variable name="fieldValueParts" 
select="$rowValues/lv:ListViewRowValue[@FieldName = 
$currentFieldName]/lv:Parts"/>
  -->
    <xsl:otherwise>
     <td align="left">

     <!--
             <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[1]"/>
       -->
<!--
      <xsl:value-of 
select="$fieldValueParts/lv:ListViewRowValuePart[position() = 2]/text()"/>

      <xsl:value-of select="$fieldValueParts/lv:ListViewRowValuePart[3]"/>
-->
       
      <xsl:value-of select="$rowCount"/>

     </td>
    </xsl:otherwise>


   </xsl:choose>


 </xsl:template>

 <xsl:template name="dvt_1.empty">
  <xsl:variable name="dvt_ViewEmptyText">There are no store communications 
to show in this view.</xsl:variable>
  <table border="0" width="100%">
   <tr>
    <td class="ms-vb">
     <xsl:value-of select="$dvt_ViewEmptyText" />

    </td>
   </tr>
  </table>
 </xsl:template>


</xsl:stylesheet>







<?xml version="1.0" encoding="utf-16"?>

<ListView xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
ViewID="3f49dbaf-f7d6-48b1-bd50-0deb732eca0d" 
ListID="61bd347a-9e2e-49aa-bf82-4349ee5bb1f9" DisplayName="Notices" 
SiteUrl="" AbsoluteUrl="" RootUrl="" DisplayFormUrl="Lists/Important 
Info/DispForm.aspx" NewFormUrl="Lists/Important Info/NewForm.aspx" 
EditFormUrl="Lists/Important Info/EditForm.aspx" BaseType="GenericList" 
RowLimit="100" xmlns="FlexListViewer.ListViewerObjectModel">

<Fields>

<ListViewField Name="LinkTitleNoMenu" DisplayName="Title" 
FieldType="Computed" Hidden="false" LinkToItem="true" />

<ListViewField Name="Body" DisplayName="Body" FieldType="Note" 
Hidden="false" LinkToItem="false" />

<ListViewField Name="Modified" DisplayName="Modified" FieldType="DateTime" 
Hidden="false" LinkToItem="false" />

<ListViewField Name="Author" DisplayName="Created By" FieldType="User" 
Hidden="false" LinkToItem="false" />

<ListViewField Name="Edit" DisplayName="Edit" FieldType="EDIT" 
Hidden="false" LinkToItem="false" />

</Fields>

<Rows>

<ListViewRow Id="31">

<RowValues>

<ListViewRowValue FieldName="LinkTitleNoMenu">

<Parts>

<ListViewRowValuePart>fdsfs</ListViewRowValuePart>

</Parts>

</ListViewRowValue>

<ListViewRowValue FieldName="Body">

<Parts>

<ListViewRowValuePart>fsdfsdf</ListViewRowValuePart>

</Parts>

</ListViewRowValue>

<ListViewRowValue FieldName="Modified">

<Parts>

<ListViewRowValuePart>20/06/2008</ListViewRowValuePart>

</Parts>

</ListViewRowValue>

<ListViewRowValue FieldName="Author">

<Parts>

<ListViewRowValuePart>Patrick Ige</ListViewRowValuePart>

<ListViewRowValuePart>1073741823</ListViewRowValuePart>

</Parts>

</ListViewRowValue>

<ListViewRowValue FieldName="Edit">

<Parts />

</ListViewRowValue>

</RowValues>

</ListViewRow>

</Rows>

</ListView>
date: Fri, 20 Jun 2008 17:10:11 +1000   author:   rote

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us