我正在尝试使用使用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>
所以我需要:
我对xsl完全不熟悉,所以代码中可能存在明显的错误。任何建设性的意见都受到高度赞赏。
答案 0 :(得分:1)
使用document() function加载和利用XSLT中的外部XML文件。
<xsl:variable name="Projects" select="document('http://some.url.to/file.xml')/DATA" />