Xpoint
   [напомнить пароль]

Как из множества выбрать конкретное значение

Метки: [без меток]
2009-03-17 23:01:05 [обр] Ex_Soft[досье]

Нужно (на пальцах):

<Smths>
   <Smth Id="1">1st</Smth>
   <Smth Id="2">2nd</Smth>
   <Smth Id="3">3rd</Smth>
   <Smth Id="4">4th</Smth>
   <Smth Id="5">5th</Smth>
</Smths>

запихнуть в колонку в таблице

Smth1,1st
Smth2,2nd
Smth3,3rd
Smth4,4th
Smth5,5th

в гольову ничего, кроме как а-ля (на пальцах):

<table>
   <tr>
      <td>Smth1</td>
      <td>
         <xsl:for-each select="Smths">
            <xsl:if test="@Id=1">.</xsl:if>
         </xsl:for-each>
      </td>
   </tr>
   <tr>
      <td>Smth2</td>
      <td>
         <xsl:for-each select="Smths">
            <xsl:if test="@Id=2">.</xsl:if>
         </xsl:for-each>
      </td>
   </tr>
   ...
   <tr>
      <td>Smth5</td>
      <td>
         <xsl:for-each select="Smths">
            <xsl:if test="@Id=5">.</xsl:if>
         </xsl:for-each>
      </td>
   </tr>
</table>

или

<table>
   <tr>
      <td>Smth1</td>
      <td>
         <xsl:for-each select="Smths/Smth@Id=1">.</xsl:for-each>
      </td>
   </tr>
   <tr>
      <td>Smth2</td>
      <td>
         <xsl:for-each select="Smths/Smth@Id=2">.</xsl:for-each>
      </td>
   </tr>
   ...
   <tr>
      <td>Smth5</td>
      <td>
         <xsl:for-each select="Smths/Smth@Id=5">.</xsl:for-each>
      </td>
   </tr>
</table>

но все это как-то ректально выглядит... Как это можно сделать по-людськи?

спустя 44 минуты [обр] Lynn «Кофеман»(52/571)[досье]

Что-то у вас странное написано. Может надо так:

<xsl:template match="Smths">
  <table>
    <xsl:apply-templates/>
  </table>
</xsl:template>

<xsl:template match="Smth">
  <tr>
    <td>Smth<xsl:value-of select="@Id"/></td>
    <td><xsl:value-of select="."/></td>
  </tr>
</xsl:template>

?

спустя 9 часов [обр] Ex_Soft[досье]

I'm so sorry... Плохо обЪяснил. Левая колонка таблицы УЖЕ заполнена изначально в шаблоне статической информацией. Причем там все, что угодно м.б. Smth - то я так. Для примера. В общем виде:
Таблица ДО:

+------+---+
|qwerty|   |
+------+---+
|asdfgh|   |
+------+---+
|zxcvbn|   |
+------+---+

Таблица ПОСЛЕ:

+------+---+
|qwerty| 2 |
+------+---+
|asdfgh| 3 |
+------+---+
|zxcvbn| 1 |
+------+---+
спустя 1 час 50 минут [обр] Lynn «Кофеман»(52/571)[досье]
Стало ещё более непонятно.
Откуда берётся таблица ДО?
спустя 2 часа 59 минут [обр] Ex_Soft[досье]
Таблица ДО это - шаблон в который необходимо "впечатать" данные, полученные из xml
Powered by POEM™ Engine Copyright © 2002-2005