Transpose / swap x, y axis in html table

I have an html table that requires rotation / axial exchange. This can be done off line. Does anyone know a tool that I can use for this?

+3
source share
1 answer

This conversion is :

<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>

when applied to this XML document :

<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>

creates the desired, correct results :

<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>

Pay attention . It is assumed that the table has a regular structure.

+8
source

Source: https://habr.com/ru/post/1779607/


All Articles