在XSLT样式表中将标头匹配到表?

时间:2014-01-23 18:18:21

标签: xml xslt

我正在尝试使用XSLT-XML样式创建表。我遇到的问题是尝试将标题放在我表格中包含的信息上。

<xsl:template match="team/player">
        <table border="1">
            <tr>
                <td><xsl:value-of select="@checkname"/></td>
                <td><xsl:value-of select="stats/@min"/></td>
                <td><xsl:value-of select="stats/@fgm"/> - <xsl:value-of select="stats/@fga"/></td>
                <td><xsl:value-of select="stats/@fgm3"/> - <xsl:value-of select="stats/@fga3"/></td>
                <td><xsl:value-of select="stats/@ftm"/> - <xsl:value-of select="stats/@fta"/></td>      
                <td><xsl:value-of select="stats/@oreb"/></td>
                <td><xsl:value-of select="stats/@dreb"/></td>
                <td><xsl:value-of select="stats/@treb"/></td>   
                <td><xsl:value-of select="stats/@ast"/></td>
                <td><xsl:value-of select="stats/@stl"/></td>    
                <td><xsl:value-of select="stats/@blk"/></td>
                <td><xsl:value-of select="stats/@to"/></td>
                <td><xsl:value-of select="stats/@pf"/></td>             
            </tr>
        </table>
</xsl:template>

这是我用来应用模板的模板。每当我尝试在此模板中添加标题时,每次输入都会重复这些标题。有10个玩家我从中提取这些统计数据/值。我试图这样做......

<table>
<tr>
    <th>PLAYERS</th>
    <th>MIN</th>
    <th>FGM-A</th>
    <th>3PM-A</th>
    <th>FTM-A</th>
    <th>OREB</th>
    <th>DREB</th>
    <th>REB</th>
    <th>AST</th>
    <th>STL</th>
    <th>BLK</th>
    <th>TO</th>
    <th>PF</th>
</tr>
<tr>
<xsl:apply-templates select="team[@vh='H']/player"/>
</tr>
</table>

但是我的专栏没有与模板中的数据对齐。无论如何要做到这一点,我可以匹配玩家,分钟,Ast等标题与模板中的相应值。

1 个答案:

答案 0 :(得分:1)

我假设“排队”问题是由您在表格中添加表格引起的。

要解决此问题,您可以从<tr>来电中删除apply-templates,然后更新template以删除<table>。这应该创建一个单独的表并正确排列元素。