2012-03-20 4 views
1

XSL(とその点ではXML)の新機能ですが、XMLを使ってステップを踏んで、xmlで実行するたびに必要な選択項目を1行に出力する必要がありますデータ。私が抱えている問題は、1つの選択(時間)が他のノードと異なるノードにあるということです。希望の出力を得るために、私は何をする必要があるのか​​まだ分かりません。誰も私を助けて気にしないならばここに私のデータとスタイルシートは次のとおりです。複数のノードから単一の行にあるXSLのヘルプ印刷変数

XSLスタイルシート

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <html> 
    <body> 
    <h2>Storage IO</h2> 
    <table border="1"> 
    <tr bgcolor="#9acd32"> 
     <th>Time</th> 
     <th>Reads per Second</th> 
     <th>Writes per Second</th> 
     <th>KB Read per Second</th> 
     <th>KB Written per Second</th> 
     <th>Read Cache Hit %</th> 
     <th>Write Cache Hit %</th> 
     <th>Sequential Read %</th> 
     <th>Write Pending Tracks</th> 
    </tr> 
    <xsl:for-each select="/SymCLI_ML/Statistics/Request_Totals"> 
    <tr> 
     <td><xsl:value-of select="time"/></td> 
     <td><xsl:value-of select="r_per_second"/></td> 
     <td><xsl:value-of select="w_per_second"/></td> 
     <td><xsl:value-of select="kb_r_per_second"/></td> 
     <td><xsl:value-of select="kb_w_per_second"/></td> 
     <td><xsl:value-of select="r_cache_hit_pct"/></td> 
     <td><xsl:value-of select="w_cache_hit_pct"/></td> 
     <td><xsl:value-of select="sequential_r_pct"/></td> 
     <td><xsl:value-of select="wp_tracks"/></td> 
    </tr> 
    </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 
</xsl:stylesheet> 

XMLファイル

<?xml version="1.0" standalone="yes" ?> 
<?xml-stylesheet type="text/xsl" href="totals.xsl"?> 
<SymCLI_ML> 
    <Statistics> 
    <time>Mon Mar 19 2012 15:24:53</time> 
    </Statistics> 
    <Statistics> 
    <time>Mon Mar 19 2012 15:25:04</time> 
    <Request> 
     <dev_name>0052</dev_name> 
     <pd_name>Not Visible</pd_name> 
     <r_per_second>0</r_per_second> 
     <w_per_second>0</w_per_second> 
     <kb_r_per_second>0</kb_r_per_second> 
     <kb_w_per_second>0</kb_w_per_second> 
     <r_cache_hit_pct>N/A</r_cache_hit_pct> 
     <w_cache_hit_pct>N/A</w_cache_hit_pct> 
     <sequential_r_pct>N/A</sequential_r_pct> 
     <wp_tracks>0</wp_tracks> 
    </Request> 
    <Request> 
     <dev_name>1AAF</dev_name> 
     <pd_name>Not Visible</pd_name> 
     <r_per_second>0</r_per_second> 
     <w_per_second>0</w_per_second> 
     <kb_r_per_second>0</kb_r_per_second> 
     <kb_w_per_second>0</kb_w_per_second> 
     <r_cache_hit_pct>N/A</r_cache_hit_pct> 
     <w_cache_hit_pct>N/A</w_cache_hit_pct> 
     <sequential_r_pct>N/A</sequential_r_pct> 
     <wp_tracks>0</wp_tracks> 
    </Request> 
    <Request> 
     <dev_name>1B2F</dev_name> 
     <pd_name>Not Visible</pd_name> 
     <r_per_second>0</r_per_second> 
     <w_per_second>0</w_per_second> 
     <kb_r_per_second>0</kb_r_per_second> 
     <kb_w_per_second>0</kb_w_per_second> 
     <r_cache_hit_pct>N/A</r_cache_hit_pct> 
     <w_cache_hit_pct>N/A</w_cache_hit_pct> 
     <sequential_r_pct>N/A</sequential_r_pct> 
     <wp_tracks>0</wp_tracks> 
    </Request> 
    <Request_Totals> 
     <r_per_second>1032</r_per_second> 
     <w_per_second>1309</w_per_second> 
     <kb_r_per_second>28003</kb_r_per_second> 
     <kb_w_per_second>19347</kb_w_per_second> 
     <r_cache_hit_pct>74</r_cache_hit_pct> 
     <w_cache_hit_pct>99</w_cache_hit_pct> 
     <sequential_r_pct>6</sequential_r_pct> 
     <wp_tracks>9994</wp_tracks> 
    </Request_Totals> 
    </Statistics> 
</SymCLI_ML> 

答えて

0

使用してみてください、次のいずれか

<td><xsl:value-of select="../time"/></td> 

<td><xsl:value-of select="/*/Statistics[1]/time"/></td> 

あなたが取得しようとしている値は<time>です。

+0

ありがとう、本当にありがとう、私の問題を解決し、それがどのように動作するかをよく理解する助けになりました。まだたくさん学ぶべきですが、助けてくれてありがとう。 – desimus0019

+0

@ desimus0019 - あなたは大歓迎です。 –

関連する問題