Как динамически получить значение атрибута value строки, используя XSLT - PullRequest
1 голос
/ 18 сентября 2009

Я должен создать одну таблицу, используя XSLT и CSS. Таблица должна выглядеть как

                ID    FNAME
                 1    AA
                 2    BB

XML:

<students>
    <studentDetails  id="1" fname="AA"/>
    <studentDetails  id="2" fname="BB"/>
</students>

XSLT пока: У меня есть путь до студенческих деталей, а затем

<td >
      <xsl:call-template name="zz">
      <xsl:with-param name="child-name" select="'id'"/>
      </xsl:call-template>
    </td>
     <xsl:template name="zz">
<xsl:param name="child-name"/>

<xsl:value-of select="*[name(@id) = $child-name]"/>//should print 1 and then 2 in next row

Может кто-нибудь подсказать, куда я иду не так?

Ответы [ 2 ]

5 голосов
/ 18 сентября 2009

Сначала не передавайте "id", просто используйте "id" Во втором = pattern * выбирает узел, но вам нужно attr (@ *), поэтому вам нужно написать:

<xsl:value-of select="@*[name()=$child-name]"/>
2 голосов
/ 18 сентября 2009

1001 * попробовать *

<xsl:value-of select="attribute::*[name() = $child-name]"/>

вместо.

Редактировать: Я только что прочитал ответ Дьюфи. Это эквивалентно тому, что он предложил. За исключением его "первой" части, это альтернатива этому, а не то, что вам нужно в дополнение к изменению xsl:value-of.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...