1

私の問題があります: xslt を使用して、サイト内の製品のテーブルを作成する必要があります。これがどのように見えるかです:

どのように見えるべきか

次のようになります。

今見える

<tr>それで、私の質問は、タグ間のこれらの分割線をどのように行うかです?

ここに画像の説明を入力

これが私のコードです:

    <table id="producers_table"  >

      <xsl:for-each select="document('udata://catalog/getCategoryList/void/producers//1/')/udata/items/item[not(@country=preceding-sibling::item/@country)]" >

       <xsl:variable name="country_name" select="@country" />
       <xsl:variable name="country_count" select="count($country_name)"/>

       <tr id="test">

       <td id="country_td">
      <xsl:value-of select="document(concat('uobject://', $country_name))/udata/object/@name"/>

       </td>     

        <xsl:for-each select="../item[@country = $country_name]">

  <xsl:variable name="prod_count" select="document(concat('udata://catalog/getCountObjects/', @id))/udata"/>

                            <td umi:element-id="{@id}">

                                            <a href="{@link}" umi:field-name="name" umi:delete="delete" umi:empty="&empty-section-name;">
                <table class="object_table">
                <tr>
                <td align="center">     
<img src="{document(concat('upage://', @id, '.header_pic'))//value}"/>
</td>
</tr>
<tr>
    <td align="center" id="search_by_appointment_name">
        <p>
    <span><xsl:variable name="curr_producer_name" select="."/>
    <xsl:value-of select="$curr_producer_name" />
</span>


&#160;<sup class="object_count"><xsl:value-of select="$prod_count"/></sup>
</p>
</td>
</tr>
</table>
    </a>
     </td>  
         </xsl:for-each>   
</tr>

</xsl:for-each>

</table>

どこに追加すればよい<hr/>ですか?

PSここに私の試みのいくつかの結果があります:

1.

試行 1

コード:

<table id="producers_table"  >

  <xsl:for-each select="document('udata://catalog/getCategoryList/void/producers//1/')/udata/items/item[not(@country=preceding-sibling::item/@country)]" >

   <xsl:variable name="country_name" select="@country" />
   <xsl:variable name="country_count" select="count($country_name)"/>

   <tr id="test">
      **<hr/>**

2.

試行 2

&#160;<sup class="object_count"><xsl:value-of select="$prod_count"/></sup>
</p>
</td>
</tr>
</table>
    </a>
     </td>  
         </xsl:for-each>   
         **<hr/>**
</tr>

</xsl:for-each>

</table>
4

2 に答える 2

2

tdを持つスタイルタグにcssクラスを作成するだけborder-bottom: 1px solid grayです。それはあなたが望んでいる効果を得るはずです。

于 2013-02-07T15:18:14.213 に答える
2

<hr />HTML では、 を の中に直接置くことは合法ではありません<tr>。これを2番目の直前に置くことができます<xsl:for-each>

<tr>
  <td colspan="10">
    <hr />
  </td>
</tr>

しかし、この時代では、テーブルをレイアウトに使用するべきではありません。<div>ここでの正しい解決策は、テーブルの代わりに s を使用するように HTML を作り直すことだと思います。<hr/>次に、必要な場所に sを簡単に配置できるはずです。

于 2013-02-07T15:04:44.523 に答える