在 SharePoint Designer 2010 中编辑 Sharepoint 2010 资源库视图
我正在尝试对缩略图视图进行一些更改,该视图是 SharePoint 2010 中数字资产库的一部分。我从库功能区中选择“在 SharePoint Designer 中修改视图”。进行所需的更改并保存后,当我从站点刷新“库”视图时,我在页面上收到一条错误,将我引回到 Sharepoint Designer。
返回到 SharePoint Designer 时,当它尝试重新加载它显示的现在自定义的 XsltListViewWebPart 时,不断出现以下错误...
Web 部件没有有效的 XSLT 样式表:错误:结束标记“xsl:when”不匹配开始标记 'xsl:value-of'
任何帮助/指针将不胜感激。提前致谢,XML如下:
<WebPartPages:XsltListViewWebPart runat="server" Description="" PartOrder="2" Default="TRUE" HelpLink="" AllowRemove="True" IsVisible="True" AllowHide="True" UseSQLDataSourcePaging="True" ExportControlledProperties="False" IsIncludedFilter="" DataSourceID="" Title="Test Assets" ViewFlag="25165829" AllowConnect="True" DisplayName="Thumbnails" PageType="PAGE_DEFAULTVIEW" FrameState="Normal" PageSize="-1" PartImageLarge="" AsyncRefresh="False" ExportMode="NonSensitiveData" Dir="Default" DetailLink="/Test Assets" ShowWithSampleData="False" ListId="83218135-042c-4c26-9ec8-b66337739345" ListName="{83218135-042C-4C26-9EC8-B66337739345}" FrameType="Default" PartImageSmall="" IsIncluded="True" SuppressWebPartChrome="False" AllowEdit="True" ViewGuid="{8A47238D-DA6C-42C0-B0F8-74BC97140455}" AutoRefresh="False" AutoRefreshInterval="60" AllowMinimize="True" WebId="00000000-0000-0000-0000-000000000000" ViewContentTypeId="0x" InitialAsyncDataFetch="False" GhostedXslLink="AssetPicker.xsl" MissingAssembly="Cannot import this Web Part." HelpMode="Modeless" ID="g_8a47238d_da6c_42c0_b0f8_74bc97140455" ConnectionID="00000000-0000-0000-0000-000000000000" AllowZoneChange="True" TitleUrl="/Test Assets" ManualRefresh="False" __MarkupType="vsattributemarkup" __WebPartId="{8A47238D-DA6C-42C0-B0F8-74BC97140455}" __AllowXSLTEditing="true" __designer:CustomXsl="fldtypes_Ratings.xsl" WebPart="true" Height="" Width="">
<ParameterBindings>
<ParameterBinding Name="dvt_sortdir" Location="Postback;Connection"/>
<ParameterBinding Name="dvt_sortfield" Location="Postback;Connection"/>
<ParameterBinding Name="dvt_startposition" Location="Postback" DefaultValue=""/>
<ParameterBinding Name="dvt_firstrow" Location="Postback;Connection"/>
<ParameterBinding Name="OpenMenuKeyAccessible" Location="Resource(wss,OpenMenuKeyAccessible)" />
<ParameterBinding Name="open_menu" Location="Resource(wss,open_menu)" />
<ParameterBinding Name="select_deselect_all" Location="Resource(wss,select_deselect_all)" />
<ParameterBinding Name="idPresEnabled" Location="Resource(wss,idPresEnabled)" />
<ParameterBinding Name="Viewing" Location="Form(APDView)" DefaultValue="Thumbs" />
<ParameterBinding Name="ThumbStyle" Location="Form(APDThumbNailStyle)" DefaultValue="medium" />
<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
</ParameterBindings>
<XmlDefinition>
<View Name="{8A47238D-DA6C-42C0-B0F8-74BC97140455}" DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" Type="HTML" DisplayName="Thumbnails" Url="/Test Assets/Forms/Thumbnails.aspx" Level="1" BaseViewID="40" ContentTypeID="0x" ImageUrl="/_layouts/images/dlicon.png">
<Query>
<OrderBy>
<FieldRef Name="LinkFilename"/>
</OrderBy>
</Query>
<ViewFields>
<FieldRef Name="LinkFilename"/>
<FieldRef Name="Title"/>
<FieldRef Name="ContentType"/>
<FieldRef Name="_ModerationStatus"/>
<FieldRef Name="PreviewOnForm"/>
<FieldRef Name="ThumbnailOnForm"/>
<FieldRef Name="PublishingStartDate"/>
<FieldRef Name="PublishingExpirationDate"/>
<FieldRef Name="Modified"/>
<FieldRef Name="Editor"/>
</ViewFields>
<RowLimit Paged="TRUE">20</RowLimit>
<ViewStyle ID="0" DisplayName="Thumbnails"/>
<Toolbar Type="Standard"/>
</View>
</XmlDefinition>
<DataFields>
</DataFields>
<Xsl>
<xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" version="1.0" exclude-result-prefixes="xsl msxsl ddwrt" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal" xmlns:o="urn:schemas-microsoft-com:office:office">
<xsl:include href="/_layouts/xsl/AssetPicker.xsl"/>
<xsl:include href="/_layouts/xsl/internal.xsl"/>
<xsl:param name="AllRows" select="/dsQueryResponse/Rows/Row[$EntityName = '' or (position() >= $FirstRow and position() <= $LastRow)]"/>
<xsl:param name="dvt_apos">'</xsl:param>
<xsl:template name="clientPageArray" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:choose>
<xsl:when test ="$Picking='yes'">
<input type="hidden" name="assetpicking">
<xsl:attribute name="value">
<xsl:value-of select="$Picking"/>
</xsl:attribute>
<input type="hidden" name="webpartclientid" xsl:exclude-result-prefixes="SharePoint">
<xsl:attribute name="value">
<xsl:value-of select="$WebPartClientID"/>
</xsl:attribute>
<input type="hidden" name="listid">
<xsl:attribute name="value">
<xsl:value-of select="$List"/>
</xsl:attribute>
<input type="hidden" name="thumbnailsize">
<xsl:attribute name="value">
<xsl:value-of select="$ThumbnailSize"/>
</xsl:attribute>
<input type="hidden" name="webimagewidth">
<xsl:attribute name="value">
<xsl:value-of select="$WebImageWidth"/>
</xsl:attribute>
<input type="hidden" name="webimageheight">
<xsl:attribute name="value">
<xsl:value-of select="$WebImageHeight"/>
</xsl:attribute>
<input type="hidden" name="canedit">
<xsl:attribute name="value">
<xsl:value-of select="$CanEdit"/>
</xsl:attribute>
<script>
if("function" == typeof(AssetPickerPageCache)) g_AssetPickerPageCache = new AssetPickerPageCache();
if("function" == typeof(AssetPickerXslContext)) g_AssetPickerXslContext = new AssetPickerXslContext();
</script>
</xsl:when>
<xsl:otherwise>
<script type="text/javascript">
var g_Rev = <xsl:value-of select="concat($squote,ddwrt:GetCurrentBuildVersion(),$squote)"/>;
var g_AllowSilverlightPrompt = <xsl:value-of select="ddwrt:AllowSilverlightPrompt()"/>;
<![CDATA[
var g_APD_ScriptsLoaded = 0;
var g_APD_CsssLoaded = 0;
function APD_CallbackWssView(who)
{
if("function" == typeof(window.status)) window.status('Boot Strap Callback from ' + who);
}
function SmtAddWindowLoadEvent(handlerFunc)
{
if (window.attachEvent)
{
window.attachEvent("onload", handlerFunc);
}
else if (window.addEventListener)
{
window.addEventListener("load", handlerFunc, false);
}
}
function APD_EnsureLoadHandlers()
{
EnsureScript("CMSSiteManager.js", typeof(AssetPickerPageCache), APD_LoadHandlers);
}
function APD_LoadHandlers()
{
g_AssetPickerPageCache = new AssetPickerPageCache();
g_AssetPickerXslContext = new AssetPickerXslContext();
EnsureScript("AssetPickers.js", typeof(AP_IsEmpty), APD_InitializeAssetPickerElements);
}
function APD_SimpleCacheControl()
{
return g_Rev;
}
function APD_AddStyleSheet(hrefValue)
{
if (!document.getElementsByTagName
|| !(document.createElement || document.createElementNS)) return;
var head = document.getElementsByTagName("head")[0];
var link = document.createElement("link");
link.setAttribute('type', 'text/css');
link.setAttribute('rel', 'stylesheet');
link.setAttribute('media', 'screen');
var rev = APD_SimpleCacheControl();
var url = hrefValue + "?rev="+rev;
link.setAttribute('href', url);
head.appendChild(link);
return false;
}
function APD_AddScript(hrefValue)
{
if (!document.getElementsByTagName
|| !(document.createElement || document.createElementNS)) return;
var loc = document.getElementsByTagName("head")[0];
var rev = APD_SimpleCacheControl();
var link = document.createElement("script");
link.setAttribute('type', 'text/javascript');
var url = hrefValue + "?rev="+rev;
link.setAttribute('src', url);
loc.appendChild(link);
link.onload = function ()
{
g_APD_ScriptsLoaded++;
if("function" == typeof(window.status)) window.status("Script #" + g_APD_ScriptsLoaded + " loaded");
}
return false;
}
]]>
if(document.g_APD_isFFScriptLoaded == undefined)
{
APD_AddStyleSheet(<xsl:value-of select="concat($squote,$StylePath,'/portal.css',$squote)"/>);
APD_AddScript(<xsl:value-of select="concat($squote,$LocScriptPath,'/CMSSiteManager.js',$squote)"/>);
APD_AddScript(<xsl:value-of select="concat($squote,$LocScriptPath,'/AssetPickers.js',$squote)"/>);
APD_AddScript(<xsl:value-of select="concat($squote,$NonLocScriptPath,'/MediaPlayer.js',$squote)"/>);
SmtAddWindowLoadEvent(APD_EnsureLoadHandlers);
document.g_APD_isFFScriptLoaded = true;
}
</script>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template mode="Item" match="Row[../../@BaseViewID='40']" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:param name="Fields" select="."/>
<xsl:param name="Collapse" select="."/>
<xsl:param name="Position" select="1"/>
<xsl:param name="Last" select="1"/>
<xsl:variable name="thisNode" select="."/>
<xsl:variable name="imageId" select="concat('tiledimage_',$thisNode/@ID)"/>
<li>
<xsl:attribute name="id">
<xsl:value-of select="$imageId"/>
</xsl:attribute>
<xsl:attribute name="style">
<xsl:if test="$Collapse">
<xsl:value-of select="$CBXStyle"/>
</xsl:if>
</xsl:attribute>
<div>
<xsl:attribute name="class">
<xsl:value-of select="$StyleToApply"/>
</xsl:attribute>
<xsl:call-template name="RenderThumbnail">
<xsl:with-param name="thisNode" select="$thisNode"/>
<xsl:with-param name="subDir" select="'_t'"/>
<xsl:with-param name="resizeSquareSideLength" select="100"/>
</xsl:call-template>
</div>
<div>
<xsl:attribute name="class">ms-assetpicker-tiled-mediumprops</xsl:attribute>
<xsl:call-template name="ItemData"/>
<xsl:choose>
<xsl:when test="$Fields[@Name='Title']/following-sibling::FieldRef[@Name='LinkFilename']">
<xsl:apply-templates select="$Fields[@Name='Title']" mode="PrintFieldWithECB">
<xsl:with-param name="thisNode" select="$thisNode"/>
</xsl:apply-templates>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="LinkFilenameNoMenuAP">
<xsl:with-param name="thisNode" select="$thisNode"/>
<xsl:with-param name="ShowNonContainerLinkOnly" select="1"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</div>
<dl id="itemimages{generate-id()}">
<xsl:attribute name="class">
<xsl:value-of select="$StyleForHiding"/>
</xsl:attribute>
<xsl:for-each select="$Fields[not(@Name='ThumbnailOnForm') and not(@Name='PreviewOnForm') and not(@Name='DocIcon') and not(@Name='Title')]">
<dd>
<xsl:attribute name="id">
<xsl:value-of select="concat(@Name,'_',$thisNode/@ID)"/>
</xsl:attribute>
<xsl:attribute name="class">
<xsl:value-of select="$StyleForHiding"/>
</xsl:attribute>
<span>
<xsl:value-of select="@DisplayName"/>
<xsl:apply-templates select="." mode="PrintFieldWithECB">
<xsl:with-param name="thisNode" select="$thisNode" />
</xsl:apply-templates>
</span>
</dd>
</xsl:for-each>
</dl>
</li>
</xsl:template>
<xsl:template name="ItemData" mode="ClientData" match="Row" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:param name ="thisNode" select="."/>
<xsl:variable name="imageId" select="concat('tiledimage_',$thisNode/@ID)"/>
<input type="checkbox">
<xsl:attribute name="id">
<xsl:value-of select="$thisNode/@ID" /></xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="'ImageItem'"/>
</xsl:attribute>
<xsl:attribute name="iid">
<xsl:value-of select="$ViewCounter"/>,<xsl:value-of select="$thisNode/@ID" />,<xsl:value-of select="$thisNode/@FSObjType" /></xsl:attribute>
<xsl:attribute name="style">
<xsl:choose>
<xsl:when test="$Picking='yes'">
<xsl:value-of select="$CBXStyle" />
</xsl:when>
<xsl:otherwise>display:inline;</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="value">
<xsl:call-template name="clientData">
<xsl:with-param name="id" select="$imageId"/>
<xsl:with-param name="canEdit">
<xsl:variable name="hasRight">
<xsl:call-template name="IfHasRight">
<xsl:with-param name="thisNode" select ="$thisNode"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="number($hasRight)"/>
</xsl:with-param>
<xsl:with-param name="previewExists" select="$thisNode/@PreviewExists.value"/>
<xsl:with-param name="thumbnailExists" select="$thisNode/@ThumbnailExists.value"/>
<xsl:with-param name="alternateThumbnailUrl" select="$thisNode/@AlternateThumbnailUrl"/>
<xsl:with-param name="parentId" select="$ParentId"/>
<xsl:with-param name="propsUrl" select="concat($FORM_DISPLAY, '&ID=',$thisNode/@ID)"/>
<xsl:with-param name ="dwnlUrl" select ="concat($HttpVDir,'/_layouts/Download.aspx?SourceUrl=',$thisNode/@FileRef)"/>
<xsl:with-param name ="editUrl" select ="concat($FORM_EDIT, '&ID=',$thisNode/@ID)"/>
<xsl:with-param name ="navUrl">
<xsl:value-of select="$thisNode/@FileRef"/>
</xsl:with-param>
<xsl:with-param name ="imageHeight" select="$thisNode/@ImageHeight"/>
<xsl:with-param name ="imageWidth" select="$thisNode/@ImageWidth"/>
<xsl:with-param name="container">
<xsl:choose>
<xsl:when test="$thisNode/@FSObjType='1'">
<xsl:value-of select="'true'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'false'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="rootFolder">
<xsl:choose>
<xsl:when test="$thisNode/@FSObjType='1'">
<xsl:value-of select="$thisNode/@FileRef"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="''"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="folderCTID">
<xsl:choose>
<xsl:when test="$thisNode/@FSObjType='1'">
<xsl:value-of select="$thisNode/@ContentTypeId"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="''"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name ="itemTitle">
<xsl:choose>
<xsl:when test="$thisNode/@Title != ''">
<xsl:value-of select="$thisNode/@Title"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="getFileName">
<xsl:with-param name="FileNameAndExt" select="$thisNode/@FileLeafRef"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name ="coutId_Loc" select="concat($thisNode/@CheckedOutUserId, '_', $thisNode/@IsCheckedoutToLocal)"/>
<xsl:with-param name ="absUrl" select="concat($HttpHost,$thisNode/@FileRef)"/>
</xsl:call-template>
</xsl:attribute>
</input>
</xsl:template>
<xsl:template match="FieldRef" name="LinkFilenameNoMenuAP" mode="Computed_LinkFilename_body" ddwrt:tag="a" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:param name="thisNode" select="."/>
<xsl:param name="ShowAccessibleIcon" select="0"/>
<xsl:param name="ShowNonContainerLinkOnly" select="0"/>
<xsl:choose>
<xsl:when test="$Picking = 'yes' and $thisNode/@FSObjType != '1'">
<a href="javascript:;">
<xsl:value-of select="$thisNode/@FileLeafRef.Name" />
</a>
</xsl:when>
<xsl:when test="$thisNode/@FSObjType = '1' and ($Picking = 'yes' or $ShowNonContainerLinkOnly = '1')">
<xsl:call-template name="LinkFilenameNoMenu">
<xsl:with-param name="thisNode" select="$thisNode"/>
<xsl:with-param name="ShowAccessibleIcon" select="$ShowAccessibleIcon"/>
<xsl:with-param name="IncludeOnClick">
<xsl:choose>
<xsl:when test="$Picking = 'yes'">0</xsl:when>
<xsl:otherwise>1</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$ShowNonContainerLinkOnly = '1'">
<a href="{$thisNode/@FileRef}">
<xsl:value-of select="$thisNode/@Title" />
</a>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="LinkFilenameNoMenu">
<xsl:with-param name="thisNode" select="$thisNode"/>
<xsl:with-param name="ShowAccessibleIcon" select="$ShowAccessibleIcon"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
</Xsl>
</WebPartPages:XsltListViewWebPart>
I'm trying to make some changes to the Thumbnails view which is part of the Digital Assets Library in SharePoint 2010. From the Library Ribbon I select "Modify View in SharePoint Designer". After making the desired changes and saving when I then refresh the Library view from the site and I get an error on the page pointing me back to Sharepoint Designer.
When going back to SharePoint Designer the following error keeps appearing when it tries to reload the now customised XsltListViewWebPart it displays ...
Web Part does not have a valid XSLT stylesheet: Error: End tag 'xsl:when' does not match the start tag 'xsl:value-of'
Any help/pointers would be greatly appreciated. Thanks in advance, XML follows:
<WebPartPages:XsltListViewWebPart runat="server" Description="" PartOrder="2" Default="TRUE" HelpLink="" AllowRemove="True" IsVisible="True" AllowHide="True" UseSQLDataSourcePaging="True" ExportControlledProperties="False" IsIncludedFilter="" DataSourceID="" Title="Test Assets" ViewFlag="25165829" AllowConnect="True" DisplayName="Thumbnails" PageType="PAGE_DEFAULTVIEW" FrameState="Normal" PageSize="-1" PartImageLarge="" AsyncRefresh="False" ExportMode="NonSensitiveData" Dir="Default" DetailLink="/Test Assets" ShowWithSampleData="False" ListId="83218135-042c-4c26-9ec8-b66337739345" ListName="{83218135-042C-4C26-9EC8-B66337739345}" FrameType="Default" PartImageSmall="" IsIncluded="True" SuppressWebPartChrome="False" AllowEdit="True" ViewGuid="{8A47238D-DA6C-42C0-B0F8-74BC97140455}" AutoRefresh="False" AutoRefreshInterval="60" AllowMinimize="True" WebId="00000000-0000-0000-0000-000000000000" ViewContentTypeId="0x" InitialAsyncDataFetch="False" GhostedXslLink="AssetPicker.xsl" MissingAssembly="Cannot import this Web Part." HelpMode="Modeless" ID="g_8a47238d_da6c_42c0_b0f8_74bc97140455" ConnectionID="00000000-0000-0000-0000-000000000000" AllowZoneChange="True" TitleUrl="/Test Assets" ManualRefresh="False" __MarkupType="vsattributemarkup" __WebPartId="{8A47238D-DA6C-42C0-B0F8-74BC97140455}" __AllowXSLTEditing="true" __designer:CustomXsl="fldtypes_Ratings.xsl" WebPart="true" Height="" Width="">
<ParameterBindings>
<ParameterBinding Name="dvt_sortdir" Location="Postback;Connection"/>
<ParameterBinding Name="dvt_sortfield" Location="Postback;Connection"/>
<ParameterBinding Name="dvt_startposition" Location="Postback" DefaultValue=""/>
<ParameterBinding Name="dvt_firstrow" Location="Postback;Connection"/>
<ParameterBinding Name="OpenMenuKeyAccessible" Location="Resource(wss,OpenMenuKeyAccessible)" />
<ParameterBinding Name="open_menu" Location="Resource(wss,open_menu)" />
<ParameterBinding Name="select_deselect_all" Location="Resource(wss,select_deselect_all)" />
<ParameterBinding Name="idPresEnabled" Location="Resource(wss,idPresEnabled)" />
<ParameterBinding Name="Viewing" Location="Form(APDView)" DefaultValue="Thumbs" />
<ParameterBinding Name="ThumbStyle" Location="Form(APDThumbNailStyle)" DefaultValue="medium" />
<ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
</ParameterBindings>
<XmlDefinition>
<View Name="{8A47238D-DA6C-42C0-B0F8-74BC97140455}" DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" Type="HTML" DisplayName="Thumbnails" Url="/Test Assets/Forms/Thumbnails.aspx" Level="1" BaseViewID="40" ContentTypeID="0x" ImageUrl="/_layouts/images/dlicon.png">
<Query>
<OrderBy>
<FieldRef Name="LinkFilename"/>
</OrderBy>
</Query>
<ViewFields>
<FieldRef Name="LinkFilename"/>
<FieldRef Name="Title"/>
<FieldRef Name="ContentType"/>
<FieldRef Name="_ModerationStatus"/>
<FieldRef Name="PreviewOnForm"/>
<FieldRef Name="ThumbnailOnForm"/>
<FieldRef Name="PublishingStartDate"/>
<FieldRef Name="PublishingExpirationDate"/>
<FieldRef Name="Modified"/>
<FieldRef Name="Editor"/>
</ViewFields>
<RowLimit Paged="TRUE">20</RowLimit>
<ViewStyle ID="0" DisplayName="Thumbnails"/>
<Toolbar Type="Standard"/>
</View>
</XmlDefinition>
<DataFields>
</DataFields>
<Xsl>
<xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" version="1.0" exclude-result-prefixes="xsl msxsl ddwrt" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal" xmlns:o="urn:schemas-microsoft-com:office:office">
<xsl:include href="/_layouts/xsl/AssetPicker.xsl"/>
<xsl:include href="/_layouts/xsl/internal.xsl"/>
<xsl:param name="AllRows" select="/dsQueryResponse/Rows/Row[$EntityName = '' or (position() >= $FirstRow and position() <= $LastRow)]"/>
<xsl:param name="dvt_apos">'</xsl:param>
<xsl:template name="clientPageArray" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:choose>
<xsl:when test ="$Picking='yes'">
<input type="hidden" name="assetpicking">
<xsl:attribute name="value">
<xsl:value-of select="$Picking"/>
</xsl:attribute>
<input type="hidden" name="webpartclientid" xsl:exclude-result-prefixes="SharePoint">
<xsl:attribute name="value">
<xsl:value-of select="$WebPartClientID"/>
</xsl:attribute>
<input type="hidden" name="listid">
<xsl:attribute name="value">
<xsl:value-of select="$List"/>
</xsl:attribute>
<input type="hidden" name="thumbnailsize">
<xsl:attribute name="value">
<xsl:value-of select="$ThumbnailSize"/>
</xsl:attribute>
<input type="hidden" name="webimagewidth">
<xsl:attribute name="value">
<xsl:value-of select="$WebImageWidth"/>
</xsl:attribute>
<input type="hidden" name="webimageheight">
<xsl:attribute name="value">
<xsl:value-of select="$WebImageHeight"/>
</xsl:attribute>
<input type="hidden" name="canedit">
<xsl:attribute name="value">
<xsl:value-of select="$CanEdit"/>
</xsl:attribute>
<script>
if("function" == typeof(AssetPickerPageCache)) g_AssetPickerPageCache = new AssetPickerPageCache();
if("function" == typeof(AssetPickerXslContext)) g_AssetPickerXslContext = new AssetPickerXslContext();
</script>
</xsl:when>
<xsl:otherwise>
<script type="text/javascript">
var g_Rev = <xsl:value-of select="concat($squote,ddwrt:GetCurrentBuildVersion(),$squote)"/>;
var g_AllowSilverlightPrompt = <xsl:value-of select="ddwrt:AllowSilverlightPrompt()"/>;
<![CDATA[
var g_APD_ScriptsLoaded = 0;
var g_APD_CsssLoaded = 0;
function APD_CallbackWssView(who)
{
if("function" == typeof(window.status)) window.status('Boot Strap Callback from ' + who);
}
function SmtAddWindowLoadEvent(handlerFunc)
{
if (window.attachEvent)
{
window.attachEvent("onload", handlerFunc);
}
else if (window.addEventListener)
{
window.addEventListener("load", handlerFunc, false);
}
}
function APD_EnsureLoadHandlers()
{
EnsureScript("CMSSiteManager.js", typeof(AssetPickerPageCache), APD_LoadHandlers);
}
function APD_LoadHandlers()
{
g_AssetPickerPageCache = new AssetPickerPageCache();
g_AssetPickerXslContext = new AssetPickerXslContext();
EnsureScript("AssetPickers.js", typeof(AP_IsEmpty), APD_InitializeAssetPickerElements);
}
function APD_SimpleCacheControl()
{
return g_Rev;
}
function APD_AddStyleSheet(hrefValue)
{
if (!document.getElementsByTagName
|| !(document.createElement || document.createElementNS)) return;
var head = document.getElementsByTagName("head")[0];
var link = document.createElement("link");
link.setAttribute('type', 'text/css');
link.setAttribute('rel', 'stylesheet');
link.setAttribute('media', 'screen');
var rev = APD_SimpleCacheControl();
var url = hrefValue + "?rev="+rev;
link.setAttribute('href', url);
head.appendChild(link);
return false;
}
function APD_AddScript(hrefValue)
{
if (!document.getElementsByTagName
|| !(document.createElement || document.createElementNS)) return;
var loc = document.getElementsByTagName("head")[0];
var rev = APD_SimpleCacheControl();
var link = document.createElement("script");
link.setAttribute('type', 'text/javascript');
var url = hrefValue + "?rev="+rev;
link.setAttribute('src', url);
loc.appendChild(link);
link.onload = function ()
{
g_APD_ScriptsLoaded++;
if("function" == typeof(window.status)) window.status("Script #" + g_APD_ScriptsLoaded + " loaded");
}
return false;
}
]]>
if(document.g_APD_isFFScriptLoaded == undefined)
{
APD_AddStyleSheet(<xsl:value-of select="concat($squote,$StylePath,'/portal.css',$squote)"/>);
APD_AddScript(<xsl:value-of select="concat($squote,$LocScriptPath,'/CMSSiteManager.js',$squote)"/>);
APD_AddScript(<xsl:value-of select="concat($squote,$LocScriptPath,'/AssetPickers.js',$squote)"/>);
APD_AddScript(<xsl:value-of select="concat($squote,$NonLocScriptPath,'/MediaPlayer.js',$squote)"/>);
SmtAddWindowLoadEvent(APD_EnsureLoadHandlers);
document.g_APD_isFFScriptLoaded = true;
}
</script>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template mode="Item" match="Row[../../@BaseViewID='40']" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:param name="Fields" select="."/>
<xsl:param name="Collapse" select="."/>
<xsl:param name="Position" select="1"/>
<xsl:param name="Last" select="1"/>
<xsl:variable name="thisNode" select="."/>
<xsl:variable name="imageId" select="concat('tiledimage_',$thisNode/@ID)"/>
<li>
<xsl:attribute name="id">
<xsl:value-of select="$imageId"/>
</xsl:attribute>
<xsl:attribute name="style">
<xsl:if test="$Collapse">
<xsl:value-of select="$CBXStyle"/>
</xsl:if>
</xsl:attribute>
<div>
<xsl:attribute name="class">
<xsl:value-of select="$StyleToApply"/>
</xsl:attribute>
<xsl:call-template name="RenderThumbnail">
<xsl:with-param name="thisNode" select="$thisNode"/>
<xsl:with-param name="subDir" select="'_t'"/>
<xsl:with-param name="resizeSquareSideLength" select="100"/>
</xsl:call-template>
</div>
<div>
<xsl:attribute name="class">ms-assetpicker-tiled-mediumprops</xsl:attribute>
<xsl:call-template name="ItemData"/>
<xsl:choose>
<xsl:when test="$Fields[@Name='Title']/following-sibling::FieldRef[@Name='LinkFilename']">
<xsl:apply-templates select="$Fields[@Name='Title']" mode="PrintFieldWithECB">
<xsl:with-param name="thisNode" select="$thisNode"/>
</xsl:apply-templates>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="LinkFilenameNoMenuAP">
<xsl:with-param name="thisNode" select="$thisNode"/>
<xsl:with-param name="ShowNonContainerLinkOnly" select="1"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</div>
<dl id="itemimages{generate-id()}">
<xsl:attribute name="class">
<xsl:value-of select="$StyleForHiding"/>
</xsl:attribute>
<xsl:for-each select="$Fields[not(@Name='ThumbnailOnForm') and not(@Name='PreviewOnForm') and not(@Name='DocIcon') and not(@Name='Title')]">
<dd>
<xsl:attribute name="id">
<xsl:value-of select="concat(@Name,'_',$thisNode/@ID)"/>
</xsl:attribute>
<xsl:attribute name="class">
<xsl:value-of select="$StyleForHiding"/>
</xsl:attribute>
<span>
<xsl:value-of select="@DisplayName"/>
<xsl:apply-templates select="." mode="PrintFieldWithECB">
<xsl:with-param name="thisNode" select="$thisNode" />
</xsl:apply-templates>
</span>
</dd>
</xsl:for-each>
</dl>
</li>
</xsl:template>
<xsl:template name="ItemData" mode="ClientData" match="Row" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:param name ="thisNode" select="."/>
<xsl:variable name="imageId" select="concat('tiledimage_',$thisNode/@ID)"/>
<input type="checkbox">
<xsl:attribute name="id">
<xsl:value-of select="$thisNode/@ID" /></xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="'ImageItem'"/>
</xsl:attribute>
<xsl:attribute name="iid">
<xsl:value-of select="$ViewCounter"/>,<xsl:value-of select="$thisNode/@ID" />,<xsl:value-of select="$thisNode/@FSObjType" /></xsl:attribute>
<xsl:attribute name="style">
<xsl:choose>
<xsl:when test="$Picking='yes'">
<xsl:value-of select="$CBXStyle" />
</xsl:when>
<xsl:otherwise>display:inline;</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="value">
<xsl:call-template name="clientData">
<xsl:with-param name="id" select="$imageId"/>
<xsl:with-param name="canEdit">
<xsl:variable name="hasRight">
<xsl:call-template name="IfHasRight">
<xsl:with-param name="thisNode" select ="$thisNode"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="number($hasRight)"/>
</xsl:with-param>
<xsl:with-param name="previewExists" select="$thisNode/@PreviewExists.value"/>
<xsl:with-param name="thumbnailExists" select="$thisNode/@ThumbnailExists.value"/>
<xsl:with-param name="alternateThumbnailUrl" select="$thisNode/@AlternateThumbnailUrl"/>
<xsl:with-param name="parentId" select="$ParentId"/>
<xsl:with-param name="propsUrl" select="concat($FORM_DISPLAY, '&ID=',$thisNode/@ID)"/>
<xsl:with-param name ="dwnlUrl" select ="concat($HttpVDir,'/_layouts/Download.aspx?SourceUrl=',$thisNode/@FileRef)"/>
<xsl:with-param name ="editUrl" select ="concat($FORM_EDIT, '&ID=',$thisNode/@ID)"/>
<xsl:with-param name ="navUrl">
<xsl:value-of select="$thisNode/@FileRef"/>
</xsl:with-param>
<xsl:with-param name ="imageHeight" select="$thisNode/@ImageHeight"/>
<xsl:with-param name ="imageWidth" select="$thisNode/@ImageWidth"/>
<xsl:with-param name="container">
<xsl:choose>
<xsl:when test="$thisNode/@FSObjType='1'">
<xsl:value-of select="'true'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'false'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="rootFolder">
<xsl:choose>
<xsl:when test="$thisNode/@FSObjType='1'">
<xsl:value-of select="$thisNode/@FileRef"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="''"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="folderCTID">
<xsl:choose>
<xsl:when test="$thisNode/@FSObjType='1'">
<xsl:value-of select="$thisNode/@ContentTypeId"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="''"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name ="itemTitle">
<xsl:choose>
<xsl:when test="$thisNode/@Title != ''">
<xsl:value-of select="$thisNode/@Title"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="getFileName">
<xsl:with-param name="FileNameAndExt" select="$thisNode/@FileLeafRef"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name ="coutId_Loc" select="concat($thisNode/@CheckedOutUserId, '_', $thisNode/@IsCheckedoutToLocal)"/>
<xsl:with-param name ="absUrl" select="concat($HttpHost,$thisNode/@FileRef)"/>
</xsl:call-template>
</xsl:attribute>
</input>
</xsl:template>
<xsl:template match="FieldRef" name="LinkFilenameNoMenuAP" mode="Computed_LinkFilename_body" ddwrt:tag="a" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:param name="thisNode" select="."/>
<xsl:param name="ShowAccessibleIcon" select="0"/>
<xsl:param name="ShowNonContainerLinkOnly" select="0"/>
<xsl:choose>
<xsl:when test="$Picking = 'yes' and $thisNode/@FSObjType != '1'">
<a href="javascript:;">
<xsl:value-of select="$thisNode/@FileLeafRef.Name" />
</a>
</xsl:when>
<xsl:when test="$thisNode/@FSObjType = '1' and ($Picking = 'yes' or $ShowNonContainerLinkOnly = '1')">
<xsl:call-template name="LinkFilenameNoMenu">
<xsl:with-param name="thisNode" select="$thisNode"/>
<xsl:with-param name="ShowAccessibleIcon" select="$ShowAccessibleIcon"/>
<xsl:with-param name="IncludeOnClick">
<xsl:choose>
<xsl:when test="$Picking = 'yes'">0</xsl:when>
<xsl:otherwise>1</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$ShowNonContainerLinkOnly = '1'">
<a href="{$thisNode/@FileRef}">
<xsl:value-of select="$thisNode/@Title" />
</a>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="LinkFilenameNoMenu">
<xsl:with-param name="thisNode" select="$thisNode"/>
<xsl:with-param name="ShowAccessibleIcon" select="$ShowAccessibleIcon"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
</Xsl>
</WebPartPages:XsltListViewWebPart>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该像这样关闭
input
文字元素:事实上,当属性名称不在运行时计算时,最好使用 AVT。像这样:
You should close your
input
literal elements like this:In fact it's better to use AVT, when attribute name isn't calculated in run-time. Like this: