私はStackOverflowサイトの多くの記事を見てきましたが、ゼブラストライピングの方法についていくつかの洞察を得ていますが、実装方法の完全な例はありません。XMLとXSLTを使用したZebraストライプテーブル
私はXSLTを使用することを学んでいるので、私はそれが私が行方不明の大きな画像があるので確信しています。
私のXMLテーブルとXSLのセクションが以下に含まれています。
私はすべてのデータに上記の他のタグを追加しましたが、親タグを含んでいます。
XML
<chapter>
<section>
<table-c>
<tr> <td>Adept </td> <td>spell-caster </td> </tr>
<tr> <td>Archers </td> <td>warrior </td> </tr>
<tr> <td>Bard </td> <td>specialist </td> </tr>
<tr> <td>Barbarian </td> <td>warrior </td> </tr>
<tr> <td>Cavalier </td> <td>warrior </td> </tr>
<tr> <td>Cleric </td> <td>spellcaster </td> </tr>
<tr> <td>Druid </td> <td>spellcaster </td> </tr>
<tr> <td>Healer </td> <td>spellcaster </td> </tr>
<tr> <td>Jumper </td> <td>specialist </td> </tr>
<tr> <td>Martialist </td> <td>warrior </td> </tr>
<tr> <td>Necromancer </td> <td>spell-caster </td> </tr>
<tr> <td>Paladin </td> <td>warrior </td> </tr>
<tr> <td>Ranger </td> <td>warrior </td> </tr>
<tr> <td>Rogue </td> <td>specialist </td> </tr>
<tr> <td>Sniper </td> <td>specialist </td> </tr>
<tr> <td>Sorcerer </td> <td>spellcaster </td> </tr>
<tr> <td>Swashbuckler </td> <td>warrior </td> </tr>
<tr> <td>Witch </td> <td>spellcaster </td> </tr>
<tr> <td>Wizard </td> <td>spellcaster </td> </tr>
</table-c>
</section>
</chapter>
XSL
<xsl:template match="table-c">
<!-- Table is center justified -->
<table style="margin-left:auto;
margin-right:auto;
margin-top:1em;
margin-bottom:1em;
">
<xsl:for-each select="tr">
<xsl:if test="position() mod 2 = 1">
<xsl:attribute name="style">background-color:blue;</xsl:attribute>
<tr>
<xsl:apply-templates/>
</tr>
</xsl:if>
</xsl:for-each>
私はちょうどその作成した後に属性を実装する方法を知りません。(私もわからないんだけど私はそれを正しく作成しています)。
この特定のコードにより、xslパーサーがエラーで停止します。
私のXMLファイルは、for-eachタグの間にこれらの行を挿入するまでうまくいきました。
CSS n番目の子オプションを使用することはできません。なぜなら、これはxslファイル内の他のすべてのテーブル設定に影響するためです。私は様々なテーブルに異なるスタイルを適用できる必要があるので、ストライピングのメソッドを取得するときに、そのメソッドを別のテンプレートに適用します。
誰かがcssスタイルシートメソッドを個々のxslテンプレートに限定する方法を知っていない限り、それは素晴らしいだろうが、私はこれまでインターネット上でこれを行うことができることを示していない。
エラーの原因を教えてください。私たちがその情報なしでそれを解決することを期待するのはばかげている。その理由でダウン投票。 –
それはエラーでした。文字通り。エラーは "xsl parser error"でした。そうでなければ空白のブラウザがかなり画面に表示されます。何の助けもありません。 –
ブラウザでXSLTコードを実行することは、特に経験の浅い場合は、デバッグするための最良の方法ではありません。しかし、ブラウザによっては、開発者用コンソールの診断が他のブラウザより優れているものがあります。この時点でユーザーの画面に何があるのか気にする必要はありません。開発者コンソールには興味深いものがあります。 –