транспонировать / менять оси X, Y в HTML-таблице - PullRequest
3 голосов
/ 10 декабря 2010

У меня есть HTML-таблица, которая нуждается в повороте / смене оси.Это можно сделать в автономном режиме.Кто-нибудь знает инструмент, который я могу использовать для этого?

1 Ответ

8 голосов
/ 10 декабря 2010

Это преобразование :

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes"/>

 <xsl:template match="table">
     <xsl:for-each select="tr[1]/td">
      <xsl:variable name="vRowPos" select="position()"/>
      <tr>
       <xsl:for-each select="/table/tr">
        <xsl:variable name="vColPos" select="position()"/>
        <xsl:copy-of select="/table/tr[$vColPos]/td[$vRowPos]"/>
       </xsl:for-each>
      </tr>
     </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>

при применении к этому документу XML :

<table>
 <tr>
  <td>A11</td>
  <td>A12</td>
  <td>A13</td>
  <td>A14</td>
  <td>A15</td>
 </tr>
 <tr>
  <td>A21</td>
  <td>A22</td>
  <td>A23</td>
  <td>A24</td>
  <td>A25</td>
 </tr>
 <tr>
  <td>A31</td>
  <td>A32</td>
  <td>A33</td>
  <td>A34</td>
  <td>A35</td>
 </tr>
</table>

создает искомое значение,правильные результаты :

<table>
    <tr>
        <td>A11</td>
        <td>A21</td>
        <td>A31</td>
    </tr>
    <tr>
        <td>A12</td>
        <td>A22</td>
        <td>A32</td>
    </tr>
    <tr>
        <td>A13</td>
        <td>A23</td>
        <td>A33</td>
    </tr>
    <tr>
        <td>A14</td>
        <td>A24</td>
        <td>A34</td>
    </tr>
    <tr>
        <td>A15</td>
        <td>A25</td>
        <td>A35</td>
    </tr>
</table>

Обратите внимание : Предполагается, что таблица имеет регулярную структуру.

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