генерировать идентификатор для tr динамически в XSL - PullRequest
1 голос
/ 24 июля 2011

В XSL я хочу динамически генерировать идентификатор для tr. Идентификатор должен быть значением, которое я когда-либо получу для цикла for. Я буду генерировать tr внутри цикла for. Может ли кто-нибудь помочь мне в этом? Заранее спасибо.

например,

<xsl:for-each select="books/book">
<tr id="">//I want to generate the tr with id as the value  which i got for book
<td></td>
<td></td>
<tr>
</xsl:for-each>

Ответы [ 3 ]

1 голос
/ 24 июля 2011

Использование <tr id="{generate-id()}">

0 голосов
/ 24 июля 2011

Вам нужен номер, который находится внутри книги, или сгенерированный номер, такой как 1,2, ...., 4 для каждого узла book?

Для последнего используйте это:

 <xsl:for-each select="books/book">
   <tr>
     <xsl:attribute name="id">
       <xsl:number count="book" level="any"/>
     </xsl:attribute>
     <td></td>
     <td></td>
   </tr>
 </xsl:for-each>

Дополнительную информацию об элементах нумерации смотрите здесь: Часто задаваемые вопросы по Dave Pawson XSLT или w3schools

0 голосов
/ 24 июля 2011

Если ваши атрибуты id должны быть установлены для внутреннего текста элементов <book>, вы можете сделать:

<tr>
    <xsl:attribute name="id">
        <xsl:value-of select="." />
    </xsl:attribute>
    <td></td>
    <td></td>
</tr>

Выше также можно сократить:

<tr id="{.}">
    <td></td>
    <td></td>
</tr>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...