1

我正在尝试使用使用 xsl 格式化的数据视图创建条形图。图表列表包含有关在特定项目上花费的小时数的数据。项目列是查找类型,它指向另一个子站点上的列表(更简单:跨站点查找列)。我连接到 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 中使用新数据源中的 fore-each 变量

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

4

1 回答 1

1

使用document() 函数在 XSLT 中加载和利用外部 XML 文件。

 <xsl:variable name="Projects" select="document('http://some.url.to/file.xml')/DATA" />
于 2009-11-12T17:16:25.597 回答