1

xsl を使用してフォーマットされたデータビューを使用して棒グラフを作成しようとしています。グラフ化するリストには、特定のプロジェクトに費やした時間数に関するデータが含まれています。プロジェクト列はルックアップ タイプであり、他のサブサイトのリストを指します (単純に、クロス サイト ルックアップ列)。dataview に接続した最初のデータ ソースは、最初のリストを指しています。

2 番目のデータソースを追加するには? (私はそれがおそらく最良の説明ではないことを知っているので、ここにいくつかのコードがあります)

<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 で新しいデータソースから for-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 に答える