Muchas veces haremos Vistas de Datos de Bibliotecas de SharePoint, por diferentes razones. Una de las cosas que más rápidamente echarán en falta los usuarios, será el icono que indica la extensión.
Como mostrarlo de una manera automática en nuestra Vista de Datos es muy sencillo. Bastará con poner:
<img alt="Type" src="/_layouts/images/{ddwrt:MapToIcon('', ddwrt:GetFileExtension(string(@FileLeafRef)))}"/>
Lo que esto hará, será llamar a la función ddwrt:GetFileExtension que se queda con la extensión de lo que hay en el campo FileLeafRef, un campo interno de SharePoint donde se almacena el nombre del archivo, seguido por punto y la extensión del archivo.
La segunda función que nos interesa será ddwrt:MapToIcon, que lo que hace básicamente, es buscar en SharePoint que imagen corresponde a esta extensión.
Esto esta recogido en uno archivo de configuración que se encuentra en:
C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/XML
Nota: La carpeta 12, puede tener otro número, dependiendo de la versión de SharePoint con la que estemos trabajando.
En dicha ruta nos encontraremos un archivo llamado Docicon.xml, que contendrá la relación entre el tipo de documento y la imagen asociada:
<Mapping Key="doc" Value="icdoc.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" />
Así como entre el ID de tipo de documento y la imagen asociada:
<Mapping Key="Word.Document" Value="ichtmdoc.gif" EditText="Microsoft Office Word" OpenControl="SharePoint.OpenDocuments" />
Para los tipos de documentos que no están definidos por defecto, se les aplicará la imagen genérica icgen.gif.
Si por el contrario, queremos modificar los iconos existentes bastaría con subir el nuevo, con el mismo nombre y extensión a:
C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/IMAGES
Si lo que nos interesa es asociar un nuevo icono a una extensión no contemplada, bastaría con subir la imagen a esta última ruta y crear una entrada para la extensión en el Docicon.xml.
Espero que esto solucione algunas dudas, como fue mi caso.
La fuente que utilice fue:
http://sympmarc.com/2008/09/10/displaying-the-document-type-icon-in-a-dvwp-in-sharepoint/