Partager via


Exemples d’arborescences de nœuds d’entrée et de résultat dans les transformations XSLT

Dernière modification : lundi 20 décembre 2010

S’applique à : SharePoint Foundation 2010

Dans cet article
Arborescence des nœuds sources
Arborescence du paramètre thisNode
Arborescence résultat

Cette rubrique fournit des exemples de trois types d’arborescences de nœuds utilisées pour le rendu des affichages de liste dans Microsoft SharePoint Foundation.

  • L’arborescence de nœuds sources est un marquage du schéma Affichage qui définit l’affichage actuel d’une liste. Il s’agit de l’arborescence que le processeur XSLT analyse et passe en revue lorsqu’il crée l’arborescence résultat. Par conséquent, à tout moment pendant la transformation XSLT, le nœud de contexte du processeur XSLT est un nœud dans ce marquage.

  • L’arborescence du paramètre thisNode est transmise à chaque modèle de rendu de champ XSLT par le modèle appelant. Ce marquage contient les données réelles de la liste. Lorsqu’un champ est restitué, la valeur de champ réelle est obtenue à partir de ce paramètre. Pour la référence complète du marquage dans le paramètre thisNode, voir XML dsQueryResponse.

  • L’arborescence du paramètre de résultat est l’issue de la transformation XSLT en tant que marquage HTML.

Arborescence des nœuds sources

La syntaxe suivante illustre une arborescence de nœuds sources à laquelle ont été ajoutées des espaces à des fins de lisibilité. Elle définit l’affichage All Items d’une liste appelée Books. Six des champs (colonnes) de la liste sont visibles dans cet affichage. Chacun d’eux est représenté par un FieldRef, élément (List) dont l’attribut Name est le nom interne du champ.

<View Name="{BE704296-1D55-4F88-AD11-190FAEC79BD7}" DefaultView="TRUE" MobileView="TRUE"
      MobileDefaultView="TRUE" Type="HTML" DisplayName="All Items" 
      Url="/sites/Contoso/Lists/Books/AllItems.aspx" Level="1" BaseViewID="1" 
      ContentTypeID="0x" ImageUrl="/_layouts/images/generic.png">
  <Query>
    <OrderBy>
      <FieldRef Name="ID" />
    </OrderBy>
  </Query>
  <ViewFields>
    <FieldRef Name="Attachments" Type="Attachments" FieldType="Attachments" 
              DisplayName="Attachments" ID="67df98f4-9dec-48ff-a553-29bece9c5bf4" />
    <FieldRef Name="LinkTitle" Type="Computed" FieldType="Computed"
              DisplayName="Title" ID="82642ec8-ef9b-478f-acf9-31f7d45fbc31"
              ClassInfo="Menu" ListItemMenu="TRUE" ListItemMenuAllowed="Required" 
              LinkToItemAllowed="Prohibited" />     
    <FieldRef Name="ISBN" Type="Text" FieldType="ISBN"
              DisplayName="ISBN" ID="47934bd9-553c-4409-9243-d6f8140ff0c2" />
    <FieldRef Name="ContentType" Type="Computed" FieldType="Computed" 
              DisplayName="Content Type" ID="c042a256-787d-4a6f-8a8a-cf6ab767f12d"
              Sortable="FALSE" />
    <FieldRef Name="Author" ImnHeader="TRUE" Type="User" FieldType="User"
              DisplayName="Created By" ID="1df5e554-ec7e-46a6-901d-d85a3881cb18"
              LinkToItemAllowed="Prohibited" />
    <FieldRef Name="Retail_x0020_Price" Type="Currency" FieldType="Currency"
              DisplayName="Retail Price" ID="ad5b9777-ee46-4a9f-85d0-d64dd5592b00" />
  </ViewFields>
  <RowLimit Paged="TRUE">30</RowLimit>
  <Aggregations Value="Off" />
  <Toolbar Type="Standard" />
  <List Direction="" TemplateType="100" Title="Books" Description="" BaseType="0"
        RootFolder="" Version="4" Name="{53BD7850-49CC-4747-ADED-E053659ACE79}"
        Moderatedlist="0" SendToLocationName="" SendToLocationUrl="" WriteSecurity="1"
        EnableMinorVersions="0" VersioningEnabled="0" ForceCheckout="0"
        WorkflowsAssociated="0" DefaultItemOpen="1" RecycleBinEnabled="1"
        ExternalDataList="0" OfficialFileNames="" EnableSyndication="1" 
        EnableContentTypes="0"/>
</View>

Arborescence du paramètre thisNode

La syntaxe suivante est un extrait tiré du contenu d’un paramètre thisNode transmis à un modèle de rendu de champ XSLT dans une feuille de style XSLT, auquel ont été ajoutés des espaces à des fins de lisibilité. Il représente le résultat d’une requête sur la base de données de contenu pour toutes les lignes de la liste Books, dans la limite du nombre d’éléments par page indiqué, en l’occurrence 30. Chaque élément est représenté par un élément Row. Chaque champ dans l’élément est représenté par un attribut dont le nom est le nom interne du champ. Par exemple, Author est le nom interne du champ Created By et Retail_x0020_Price est le nom interne du champ Retail Price. Les valeurs de ces attributs sont les valeurs des champs correspondants dans la base de données de contenu ; par exemple, la valeur du champ ISBN dans la première ligne est « 0-262-61107-4 ». Toutefois, notez que le marquage requis pour restituer la valeur du champ Author en tant que lien a déjà été encapsulé autour de la valeur du champ.

/
  <dsQueryResponse ViewStyleID="" BaseViewID="1" TemplateType="100" RowLimit="30">
    <Rows>
      <Row ID="1"
           PermMask="0x7fffffffffffffff"
           Attachments="0" 
           Title="Theories of Truth"
           FileLeafRef="1_.000"
           FileLeafRef.Name="1_"
           FileLeafRef.Suffix="000"
           FSObjType="0"
           Created_x0020_Date="0;#2010-03-01 13:16:03"
           Created_x0020_Date.ifnew attribute value: 
           FileRef="/sites/Contoso/Lists/Books/1_.000"
           FileRef.urlencode="%2Fsites%2FContoso%2FLists%2FBooks%2F1%5F%2E000"
           FileRef.urlencodeasurl="/sites/Contoso/Lists/Books/1_.000"
           File_x0020_Type=""
           HTML_x0020_File_x0020_Type.File_x0020_Type.mapall="icgen.gif||"
           HTML_x0020_File_x0020_Type.File_x0020_Type.mapico="icgen.gif"
           ContentTypeId="0x0100CFB65A47C9E37B4A818F75CB08CF4062"
           ISBN="0-262-61107-4" 
           ContentType="Item" 
           Author='<span class="ms-imnSpan">
                    <a href='javascript:;' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink'>
                    <img name='imnmark' class='ms-imnImg' title='' border='0' height='12' width='12' 
                         src='/_layouts/images/blank.gif' alt='No presence information' 
                         sip='MichiyoS@Contoso.com' id='imn_1,type=smtp'/></a>
                    <a onclick="GoToLink(this);return false;" href="/sites/Contoso/_layouts/userdisp.aspx?ID=1">
                    Michiyo Sato</a></span>'            
           Author.id="1"
           Author.title="Michiyo Sato"
           Author.span='<nobr><span>
                        <a onclick="GoToLink(this);return false;" 
                           href="/sites/Contoso/_layouts/userdisp.aspx?ID=1">Michiyo Sato</a>
                        <img border="0" height="1" width="3" src="/_layouts/images/blank.gif"/>
                        <a href='javascript:;' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink'>
                          <img name='imnmark' class='ms-imnImg' title='' border='0' height='12' width='12' 
                               src='/_layouts/images/blank.gif' alt='No presence information' 
                               sip='MichiyoS@Contoso.com' id='imn_2,type=smtp'/>
                        </a>
                       </span></nobr>'
           Retail_x0020_Price="$37.99"
           Retail_x0020_Price.="37.9900000000000" />
      <Row ... attributes omitted ... />
      <Row ... attributes omitted ... />

      <!-- Up to 30 Row elements total per page. -->

      <Row ... attributes omitted ... />
    </Rows>  
  </dsQueryResponse>  

Pour obtenir la référence complète du marquage dans le paramètre thisNode, voir XML dsQueryResponse.

Arborescence résultat

La syntaxe suivante est un extrait du code HTML issu du rendu de la liste Books par les feuilles de style XSLT intégrées. L’élément <tr> pour la première ligne de données de la table est illustré.

<tr class="ms-itmhover" iid="0,1,0">
  <td class="ms-vb-itmcbx ms-vb-firstCell"><input type="checkbox" class="s4-itm-cbx" /></td>
  <td class="ms-vb2"></td>
  <td height="100%" onmouseover="OnChildItem(this)" class="ms-vb-title">
    <div class="ms-vb itx" onmouseover="OnItem(this)" CTXName="ctx0" id="1" 
         Field="LinkTitle" Perm="0x7fffffffffffffff" EventType="">
      <a onfocus="OnLink(this)" href="https://contoso.com/sites/Contoso/_layouts/listform.aspx
                                      ?PageType=4&amp;ListId={53BD7850-49CC-4747-ADED-E053659ACE79}
                                       &amp;ID=1&amp;ContentTypeID=0x0100CFB65A47C9E37B4A818F75CB08CF4062" 
                  onclick="EditLink2(this,0);return false;" target="_self">
      Theories of Truth
      </a>
    </div>
    <div class="s4-ctx" onmouseover="OnChildItem(this.parentNode); return false;">
      <span> </span>
      <a onfocus="OnChildItem(this.parentNode.parentNode); return false;" 
         onclick="PopMenuFromChevron(event); return false;" href="javascript:;" title="Open Menu"></a>
      <span> </span>
    </div>
  </td>
  <td class="ms-vb2">0-262-61107-4</td>
  <td class="ms-vb2">Item</td>
  <td class="ms-vb2"><div align="right">$37.99</div></td>
  <td class="ms-vb-user">
    <span class="ms-imnSpan">
        <a href='javascript:;' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink'>
          <img name='imnmark' class='ms-imnImg' title='' border='0' height='12' width='12' 
               src='/_layouts/images/blank.gif' alt='No presence information' 
               sip='MichiyoS@Contoso.com' id='imn_1,type=smtp'/>
        </a>
        <a onclick="GoToLink(this);return false;" href="/sites/Contoso/_layouts/userdisp.aspx?ID=1">
          Michiyo Sato
        </a>
    </span>
  </td>
</tr>

La figure 1 illustre le rendu de la ligne sur la page.

Figure 1. Une ligne de la liste Books

Ligne de la liste Livres.

Voir aussi

Concepts

Vue d’ensemble du système de rendu d’affichage Liste XSLT

Schéma d'affichage