как сделать отступ в списке html списков с помощью xslt? - PullRequest
0 голосов
/ 17 июня 2020

Как сделать одинаковый отступ для каждого результирующего узла «записи» в результирующем html?

xml:

<csv>
  <record>
    <entry>Reported_Date</entry>
    <entry>HA</entry>
    <entry>Sex</entry>
    <entry>Age_Group</entry>
    <entry>Classification_Reported</entry>
  </record>
  <record>
    <entry>2020-01-26</entry>
    <entry>Vancouver Coastal</entry>
    <entry>M</entry>
    <entry>40-49</entry>
    <entry>Lab-diagnosed</entry>
  </record>
  <record>
    <entry>2020-02-02</entry>
    <entry>Vancouver Coastal</entry>
    <entry>F</entry>
    <entry>50-59</entry>
    <entry>Lab-diagnosed</entry>
  </record>
  <record>
    <entry>2020-02-05</entry>
    <entry>Vancouver Coastal</entry>
    <entry>F</entry>
    <entry>20-29</entry>
    <entry>Lab-diagnosed</entry>
  </record>
  <record>
    <entry>2020-02-05</entry>
    <entry>Vancouver Coastal</entry>
    <entry>M</entry>
    <entry>30-39</entry>
    <entry>Lab-diagnosed</entry>
  </record>
  <record>
    <entry>2020-02-11</entry>
    <entry>Interior</entry>
    <entry>F</entry>
    <entry>30-39</entry>
    <entry>Lab-diagnosed</entry>
  </record>
  <record>
    <entry>2020-02-20</entry>
    <entry>Fraser</entry>
    <entry>F</entry>
    <entry>30-39</entry>
    <entry>Lab-diagnosed</entry>
  </record>
  <record>
    <entry>2020-02-21</entry>
    <entry>Fraser</entry>
    <entry>M</entry>
    <entry>40-49</entry>
    <entry>Lab-diagnosed</entry>
  </record>
  <record>
    <entry>2020-02-27</entry>
    <entry>Vancouver Coastal</entry>
    <entry>F</entry>
    <entry>60-69</entry>
    <entry>Lab-diagnosed</entry>
  </record>
</csv>

xslt:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="2.0">

    <xsl:output indent="yes"/>

    <xsl:template match="csv">
        <table style="width:100%">
            <tr>
                <th>Reported Date</th>
                <th>HA</th>
                <th>Sex</th>
                <th>Age_Group</th>
                <th>Classification_Reported</th>
            </tr>
            <xsl:apply-templates/>
        </table>
    </xsl:template>

    <xsl:template match="record">
        <tr>
            <xsl:apply-templates/>
        </tr>
    </xsl:template>

    <xsl:template match="entry">
        <td>
            <xsl:apply-templates/>
        </td>
    </xsl:template>
</xsl:stylesheet>

output:

<html>
   <body>
      <ul>
         <li>

            <li>

               <ul>
                  <li>Reported_Date</li>
               </ul>

               <ul>
                  <li>HA</li>
               </ul>

               <ul>
                  <li>Sex</li>
               </ul>

               <ul>
                  <li>Age_Group</li>
               </ul>

               <ul>
                  <li>Classification_Reported</li>
               </ul>

            </li>

            <ul>
               <li>Reported_Date</li>
            </ul>

            <ul>
               <li>HA</li>
            </ul>

            <ul>
               <li>Sex</li>
            </ul>

            <ul>
               <li>Age_Group</li>
            </ul>

            <ul>
               <li>Classification_Reported</li>
            </ul>


            <li>

               <ul>
                  <li>2020-01-26</li>
               </ul>

               <ul>
                  <li>Vancouver Coastal</li>
               </ul>

               <ul>
                  <li>M</li>
               </ul>

               <ul>
                  <li>40-49</li>
               </ul>

               <ul>
                  <li>Lab-diagnosed</li>
               </ul>

            </li>

            <ul>
               <li>2020-01-26</li>
            </ul>

            <ul>
               <li>Vancouver Coastal</li>
            </ul>

            <ul>
               <li>M</li>
            </ul>

            <ul>
               <li>40-49</li>
            </ul>

            <ul>
               <li>Lab-diagnosed</li>
            </ul>


            <li>

               <ul>
                  <li>2020-02-02</li>
               </ul>

               <ul>
                  <li>Vancouver Coastal</li>
               </ul>

               <ul>
                  <li>F</li>
               </ul>

               <ul>
                  <li>50-59</li>
               </ul>

               <ul>
                  <li>Lab-diagnosed</li>
               </ul>

            </li>

            <ul>
               <li>2020-02-02</li>
            </ul>

            <ul>
               <li>Vancouver Coastal</li>
            </ul>

            <ul>
               <li>F</li>
            </ul>

            <ul>
               <li>50-59</li>
            </ul>

            <ul>
               <li>Lab-diagnosed</li>
            </ul>


            <li>

               <ul>
                  <li>2020-02-05</li>
               </ul>

               <ul>
                  <li>Vancouver Coastal</li>
               </ul>

               <ul>
                  <li>F</li>
               </ul>

               <ul>
                  <li>20-29</li>
               </ul>

               <ul>
                  <li>Lab-diagnosed</li>
               </ul>

            </li>

            <ul>
               <li>2020-02-05</li>
            </ul>

            <ul>
               <li>Vancouver Coastal</li>
            </ul>

            <ul>
               <li>F</li>
            </ul>

            <ul>
               <li>20-29</li>
            </ul>

            <ul>
               <li>Lab-diagnosed</li>
            </ul>


            <li>

               <ul>
                  <li>2020-02-05</li>
               </ul>

               <ul>
                  <li>Vancouver Coastal</li>
               </ul>

               <ul>
                  <li>M</li>
               </ul>

               <ul>
                  <li>30-39</li>
               </ul>

               <ul>
                  <li>Lab-diagnosed</li>
               </ul>

            </li>

            <ul>
               <li>2020-02-05</li>
            </ul>

            <ul>
               <li>Vancouver Coastal</li>
            </ul>

            <ul>
               <li>M</li>
            </ul>

            <ul>
               <li>30-39</li>
            </ul>

            <ul>
               <li>Lab-diagnosed</li>
            </ul>


            <li>

               <ul>
                  <li>2020-02-11</li>
               </ul>

               <ul>
                  <li>Interior</li>
               </ul>

               <ul>
                  <li>F</li>
               </ul>

               <ul>
                  <li>30-39</li>
               </ul>

               <ul>
                  <li>Lab-diagnosed</li>
               </ul>

            </li>

            <ul>
               <li>2020-02-11</li>
            </ul>

            <ul>
               <li>Interior</li>
            </ul>

            <ul>
               <li>F</li>
            </ul>

            <ul>
               <li>30-39</li>
            </ul>

            <ul>
               <li>Lab-diagnosed</li>
            </ul>


            <li>

               <ul>
                  <li>2020-02-20</li>
               </ul>

               <ul>
                  <li>Fraser</li>
               </ul>

               <ul>
                  <li>F</li>
               </ul>

               <ul>
                  <li>30-39</li>
               </ul>

               <ul>
                  <li>Lab-diagnosed</li>
               </ul>

            </li>

            <ul>
               <li>2020-02-20</li>
            </ul>

            <ul>
               <li>Fraser</li>
            </ul>

            <ul>
               <li>F</li>
            </ul>

            <ul>
               <li>30-39</li>
            </ul>

            <ul>
               <li>Lab-diagnosed</li>
            </ul>


            <li>

               <ul>
                  <li>2020-02-21</li>
               </ul>

               <ul>
                  <li>Fraser</li>
               </ul>

               <ul>
                  <li>M</li>
               </ul>

               <ul>
                  <li>40-49</li>
               </ul>

               <ul>
                  <li>Lab-diagnosed</li>
               </ul>

            </li>

            <ul>
               <li>2020-02-21</li>
            </ul>

            <ul>
               <li>Fraser</li>
            </ul>

            <ul>
               <li>M</li>
            </ul>

            <ul>
               <li>40-49</li>
            </ul>

            <ul>
               <li>Lab-diagnosed</li>
            </ul>


            <li>

               <ul>
                  <li>2020-02-27</li>
               </ul>

               <ul>
                  <li>Vancouver Coastal</li>
               </ul>

               <ul>
                  <li>F</li>
               </ul>

               <ul>
                  <li>60-69</li>
               </ul>

               <ul>
                  <li>Lab-diagnosed</li>
               </ul>

            </li>

            <ul>
               <li>2020-02-27</li>
            </ul>

            <ul>
               <li>Vancouver Coastal</li>
            </ul>

            <ul>
               <li>F</li>
            </ul>

            <ul>
               <li>60-69</li>
            </ul>

            <ul>
               <li>Lab-diagnosed</li>
            </ul>


         </li>
      </ul>
   </body>
</html>

html должно быть больше по строкам списка узлов «записи», внутри каждой записи список узлов «записей» с текстом. Таким образом, детали, такие как дата и c, имеют отступ для каждой записи с одинаковым отступом.

1 Ответ

1 голос
/ 17 июня 2020

Отступы варьируются от одного процессора XSLT к другому, и вы не сказали нам, какой из них вы используете, однако с таким типом ввода XML вы, вероятно, получите лучшие результаты, если добавите <xsl:strip-space elements="*"/> в таблицу стилей. : это избавляет от игнорируемых пробелов в исходном документе, которые, вероятно, попадают в итоговый документ.

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