如何将第二个数据源添加到SharePoint中的xslt / dataview?

时间:2009-11-12 12:22:34

标签: sharepoint xslt charts dataview

我正在尝试使用使用xsl格式化的dataview创建条形图。图表列表包含有关特定项目花费的小时数的数据。项目列的类型为lookup,它指向另一个子站点上的列表(更简单:跨站点查找列)。我连接到dataview的第一个数据源指向第一个列表。

如何添加第二个数据源? (我知道这可能不是最好的解释,所以这里有一些代码)

<xsl:template name="dvt_1.footer">
    <xsl:param name="ParentPath" />
    <xsl:param name="Rows" />

    <xsl:variable name="Time" select="count(/dsQueryResponse/Rows/Row)" /> 
    <xsl:variable name="Projects" select="/NEED/DATA/SOURCE" />

    <table width="100%" cellspacing="0" cellpadding="2" style="border-right: 1 solid #C0C0C0; border-bottom: 1 solid #C0C0C0; border-left-style: solid; border-left-width: 1; border-top-style: solid; border-top-width: 1;">
        <xsl:for-each select="$Projects">
            <xsl:call-template name="showBar">
                <xsl:with-param name="TimeCount" select="$Time" />
                <xsl:with-param name="ColumnTitle" select="ProjectName" />
                <xsl:with-param name="ItemCount" select="count(/dsQueryResponse/Rows/Row[normalize-space(@Project) = 'ProjectName'])" />
            </xsl:call-template>
        </xsl:for-each>        
    </table>

</xsl:template>

所以我需要:

  • 以某种方式填充Projects变量
  • 弄清楚如何在xl:with-param中使用来自新数据源的前置变量:P

我对xsl完全不熟悉,所以代码中可能存在明显的错误。任何建设性的意见都受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

使用document() function加载和利用XSLT中的外部XML文件。

 <xsl:variable name="Projects" select="document('http://some.url.to/file.xml')/DATA" />