This xmlpackage wil check for & display missing icon, medium & large images.
It's the very first xmlpackage I wrote years ago.
Create a new file with the following as the contents, name it missingimages.xml.config & upload it to your xmlpackages directory, then simply call it with http://www.yourdomain.com/e-missingimages.com
Code:
<?xml version="1.0" standalone="yes" ?>
<package version="2.1" displayname="Missing Product Images" debug="false" includeentityhelper="false" allowengine="true">
<query name="Products" rowElementName="Product">
<sql>
<![CDATA[
select ProductID, Name, SEName, SKU,ImageFilenameOverride
from product
where issystem=0 and deleted=0 and published=1
order by SKU
]]>
</sql>
</query>
<PackageTransform>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:aspdnsf="urn:aspdnsf" exclude-result-prefixes="aspdnsf">
<xsl:output method="html" omit-xml-declaration="yes" />
<xsl:param name="LocaleSetting" select="/root/Runtime/LocaleSetting" />
<xsl:param name="WebConfigLocaleSetting" select="/root/Runtime/WebConfigLocaleSetting" />
<xsl:param name="HidePicsInTableCondensed"><xsl:value-of select="aspdnsf:AppConfig('HidePicsInTableCondense d')"/></xsl:param>
<xsl:template match="/">
<h1>Products without images</h1>
<xsl:choose>
<xsl:when test="count(/root/Products/Product) = 0 ">
<p>Failed to retrieve any products from the database.</p>
</xsl:when>
<xsl:otherwise>
<table border="0" cellpadding="0" cellspacing="4" width="100%">
<xsl:apply-templates select="/root/Products" />
</table>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="Products">
<tr class="DarkCell">
<td><font class="CondensedDarkCellText"><b><xsl:value-of select="aspdnsf:StringResource(concat('show', 'section', '.aspx.18'), $LocaleSetting)" disable-output-escaping="yes" /></b></font></td>
<td><font class="CondensedDarkCellText"><b><xsl:value-of select="aspdnsf:StringResource(concat('show', 'section', '.aspx.20'), $LocaleSetting)" disable-output-escaping="yes" /></b></font></td>
<td><font class="CondensedDarkCellText"><b>Image</b></font></td>
</tr>
<xsl:apply-templates select="/root/Products/Product" />
</xsl:template>
<xsl:template match="Product">
<xsl:param name="pName" select="aspdnsf:GetMLValue(Name)" />
<xsl:param name="sename" select="aspdnsf:GetMLValue(SEName)" />
<xsl:param name="URL">p-<xsl:value-of select="ProductID" disable-output-escaping="yes" />-<xsl:value-of select="$sename"/>-.aspx</xsl:param>
<xsl:param name="IconImageURL"><xsl:value-of select="aspdnsf:ProductImageUrl(ProductID, ImageFilenameOverride, SKU, 'icon', 0)"/></xsl:param>
<xsl:param name="MediumImageURL"><xsl:value-of select="aspdnsf:ProductImageUrl(ProductID, ImageFilenameOverride, SKU, 'medium', 0)"/></xsl:param>
<xsl:param name="LargeImageURL"><xsl:value-of select="aspdnsf:ProductImageUrl(ProductID, ImageFilenameOverride, SKU, 'large', 0)"/></xsl:param>
<xsl:if test="contains($IconImageURL, 'nopicture')" >
<tr>
<td><a href="{$URL}"><xsl:value-of select="$pName" disable-output-escaping="yes"/></a></td>
<td><xsl:value-of select="SKU" /></td>
<td align="center" valign="bottom">Icon</td>
</tr>
</xsl:if>
<xsl:if test="contains($MediumImageURL, 'nopicture')" >
<tr>
<td><a href="{$URL}"><xsl:value-of select="$pName" disable-output-escaping="yes"/></a></td>
<td><xsl:value-of select="SKU" /></td>
<td align="center" valign="bottom">Medium</td>
</tr>
</xsl:if>
<xsl:if test="$LargeImageURL = ''" >
<tr>
<td><a href="{$URL}"><xsl:value-of select="$pName" disable-output-escaping="yes"/></a></td>
<td><xsl:value-of select="SKU" /></td>
<td align="center" valign="bottom">Large</td>
</tr>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
</PackageTransform>
</package>
TTFN
BFG