2016-05-25 13 views
0

用のテーブルを作る助けが必要:のXpath - 私はこれでテーブルを作成しようとしているHTML

入力:

<root> 
<vendedor> 
    <nombre>nombre1</nombre> 
    <descrip>descrip1</descrip> 
</vendedor> 
<vendedor> 
    <nombre>nombre1</nombre> 
    <descrip>descrip2</descrip> 
</vendedor> 
<vendedor> 
    <nombre>nombre1</nombre> 
    <descrip>descrip3</descrip> 
</vendedor> 
.... 
<vendedor> 
    <nombre>nombre2</nombre> 
    <descrip>descrip1</descrip> 
</vendedor> 
<vendedor> 
    <nombre>nombre2</nombre> 
    <descrip>descrip3</descrip> 
</vendedor> 
.... 
</root> 

のxsl:

<xsl:for-each select="//vendedor[not(nombre=preceding-sibling::vendedor/nombre)]/nombre"> 
<xsl:value-of select="."/> 
    <xsl:for-each select="//vendedor[nombre=current()]/descrip"> 
    <xsl:value-of select="."/> 
    </xsl:for-each> 
</xsl:for-each> 

私が欲しいものこのようなテーブルは、xsltをtr、td、stuffのようなHTMLに変換します:

|_____________nombre____________| 
|descrip|descrip|descrip|descrip| 
|descrip|descrip|descrip|descrip| 

私はやっているが、私が欲しいものは得られない...誰かが私を助けてくれる?

予想される出力:

<table> 
<tr> 
    <th>nombre</th> 
</tr> 
<tr> 
    <td>descrip</td> 
    <td>descrip</td> 
    <td>descrip</td> 
    <td>descrip</td> 
</tr> 
<tr> 
    <td>descrip</td> 
    <td>descrip</td> 
    <td>descrip</td> 
    <td>descrip</td> 
</tr> 
<tr> 
..... 
</tr> 
.... 
<tr> 
    <th>nombre</th> 
</tr> 
<tr> 
    <td>descrip</td> 
    <td>descrip</td> 
    <td>descrip</td> 
    <td>descrip</td> 
</tr> 
..... 
</xsl:for-each> 
</table> 
+0

あなたの質問は明らかではありません。入力と期待される出力の例を示してください(できれば図面ではなくコードとして)。 –

+0

ok、そういう感じです。 – Raikko

+0

まだ入力が表示されません。とにかく、私はあなたが答えを見つけると信じています:http://stackoverflow.com/a/31706512/3016153 –

答えて

0

あなたは、このようにHTMLでテーブルを作ることができます。

<xsl:template match="/"> 
    <html> 
    <body> 
    <h2>My CD Collection</h2> 
    <table border="1"> 
    <tr bgcolor="#9acd32"> 
     <th>Title</th> 
     <th>Artist</th> 
    </tr> 
    <xsl:for-each select="catalog/cd"> 
    <tr> 
     <td><xsl:value-of select="title"/></td> 
     <td><xsl:value-of select="artist"/></td> 
    </tr> 
    </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 

どこ<tr>行の滞在と列のため<td>。あなたの例のためのhttp://www.w3schools.com/xsl/xsl_transformation.asp

表から

例は次のようになります。

"<table border="1"> 
    <tr bgcolor="#9acd32"> 
     <th>nombre</th> 
    </tr> 
    <xsl:for-each select="catalog/cd"> 
    <tr> 
     <td><xsl:value-of select="title"/></td> 
     <td><xsl:value-of select="title"/></td> 
     <td><xsl:value-of select="title"/></td> 
     <td><xsl:value-of select="title"/></td> 
     <td><xsl:value-of select="title"/></td> 
    </tr> 
    </xsl:for-each> 
    </table>" 
+0

ok、私は編集することです、私はxslt htmlと結果にはこのようなテーブルがあります。 – Raikko

+0

それは多かれ少なかれ私が望むものですが、私はもっと結果を得ています。もっと分かりやすいようにする方法がありますか?私は、5つのtdと5 trの別のtrのように、その可能性があるという意味ですか? – Raikko

関連する問題