views:

495

answers:

1

I'm trying to create a bar chart using dataview formated using xsl. The list to chart contains data about number of hours spend on certain project. The project column is of type lookup, which points to a list on the other subsite (simpler: cross site lookup column). The fist data source that I connected to dataview points to the first list.

How to add second datasource? (I know it's maybe not the best explanaition so here's some code)

<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>

So I need to:

  • somehow populate Projects variable
  • figure out how to use fore-each variable from new datasource in xl:with-param :P

I'm completely new to xsl so it's possible there are obvious mistakes in code. Any constructive input is highly appreciated.

+1  A: 

Use the document() function to load and leverage an external XML file within your XSLT.

 <xsl:variable name="Projects" select="document('http://some.url.to/file.xml')/DATA" />
Mads Hansen
oh man, you don't know the time I spent last week trying to do something like that... I feel so stupid now ...
David Lay