Announcement

Collapse
No announcement yet.

following-sibling und count

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • following-sibling und count

    Guten Abend liebe Gemeínde,

    ich habe ein kleine Problem.

    Gegeben ist folgende Strukrur:

    Code:
    <nodes>
    	<entry start="">1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry> <!-- 4 -->
    	<entry start="">1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry> <!-- 5 -->
    	<entry start="">1</entry>
    	<entry>1</entry> <!-- 2 -->
    	<entry start="">1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry> <!-- 9 -->
    </nodes>
    Ich möchte mit folgendem Template:

    Code:
    <xsl:template match="entry[@start]">
      <xsl:value-of select="count(following-sibling::entry[not(@start)])"/>
    </xsl:template>
    die Anzahl der Entry's ausgeben, bis ein neues entry[@start] auftaucht.
    (Die Kommentare zeigen den geünschten Wert)

    Ich stehe gerade sowas von auf dem Schlauch, um diesen XPath so anzupassen, um das gewünschte Ergebnis zu erlangen, das ich auf eure Hilfe angewisen bin.

    Besten Dank

  • #2
    ich habe es über ein call-template gelöst
    habe in start attribut zahlen eingesetzt zum verstehen wo ich bin
    werden aber nicht gebraucht

    Code:
    <?xml version="1.0"?>
    <nodes>
    	<entry start="1">1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry> <!-- 4 -->
    	<entry start="2">1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry> <!-- 5 -->
    	<entry start="3">1</entry>
    	<entry>1</entry> <!-- 2 -->
    	<entry start="4">1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry>
    	<entry>1</entry> <!-- 9 -->
    </nodes>
    die Ausgabe mit Kommentar ist nur zum Spass
    Code:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output indent="yes" method="xml"/>
    	<xsl:template match="/">
    		<root>
    			<xsl:apply-templates select="nodes"/>
    		</root>
    	</xsl:template>
    	<xsl:template match="nodes">
    		<xsl:call-template name="count">
    			<xsl:with-param name="allnodes" select="child::entry"/>
    		</xsl:call-template>
    	</xsl:template>
    	<xsl:template name="count">
    		<xsl:param name="allnodes"/>
    		<xsl:param name="ak" select="1"/>
    		<xsl:param name="laststart" select="0"/>
    		<xsl:choose>
    			<xsl:when test="$ak &gt; count($allnodes)">
                            <!-- Abruchbedingung und Ausgabe letzter Wert der Zählung-->
    				<xsl:value-of disable-output-escaping="yes" select="concat('&lt;-- ' ,$laststart,' --&gt;')"/>
    			</xsl:when>
    			<xsl:when test="$allnodes[$ak]/@start">
                            <!-- laststart auf 0 zurücksetzen -->
    				
    					<test>
    						<xsl:value-of select="concat($allnodes[$ak],'   ',$ak)"/>
    					</test>
                                    <xsl:if test="$ak != 1">
    					<xsl:value-of disable-output-escaping="yes" select="concat('&lt;-- ' ,$laststart,' --&gt;')"/>
    				</xsl:if>
    				<xsl:call-template name="count">
    					<xsl:with-param name="allnodes" select="$allnodes"/>
    					<xsl:with-param name="ak" select="$ak +1"/>
    					<xsl:with-param name="laststart" select="position()"/>
    				</xsl:call-template>
    			</xsl:when>
    			<xsl:otherwise>
                            <!-- laststart erhöhen -->
    				<test>
    					<xsl:value-of select="concat($allnodes[$ak],'   ',$ak)"/>
    				</test>
    				<xsl:call-template name="count">
    					<xsl:with-param name="allnodes" select="$allnodes"/>
    					<xsl:with-param name="ak" select="$ak +1"/>
    					<xsl:with-param name="laststart" select="position()+$laststart"/>
    				</xsl:call-template>
    			</xsl:otherwise>
    		</xsl:choose>
    	</xsl:template>
    </xsl:stylesheet>
    ergebnis
    Code:
    <?xml version='1.0' ?>
    <root>
      <test>1   1</test>
      <test>1   2</test>
      <test>1   3</test>
      <test>1   4</test>
      <test>1   5</test><-- 4 -->
      <test>1   6</test>
      <test>1   7</test>
      <test>1   8</test>
      <test>1   9</test>
      <test>1   10</test><-- 5 -->
      <test>1   11</test>
      <test>1   12</test><-- 2 -->
      <test>1   13</test>
      <test>1   14</test>
      <test>1   15</test>
      <test>1   16</test>
      <test>1   17</test>
      <test>1   18</test>
      <test>1   19</test>
      <test>1   20</test><-- 9 -->
    </root>
    Zuletzt editiert von xml-looser; 12.02.2011, 11:17. Reason: keiner Ausgabe fehler

    Comment


    • #3
      Mit XPath 2.0 gibt es den Operator '<<' (den man dann innerhalb eines Stylesheet allerdings als '&lt;&lt;' schreiben muss), der hilft:
      Code:
      <xsl:stylesheet
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        version="2.0">
        
        <xsl:output method="text"/>
        
        <xsl:template match="entry[@start]">
          <xsl:value-of select="count(. | following-sibling::entry[not(@start)][. &lt;&lt; current()/following-sibling::entry[@start][1] or not(current()/following-sibling::entry[@start])])"/>
        </xsl:template>
        
        <xsl:template match="entry[not(@start)]"/>
        
      </xsl:stylesheet>
      Beachte, dass ich im count nicht nur die following-sibling Elemente, sondern auch das entry Elemente mit @start selbst gezählt habe, denn sonst verstehe ich nicht, wo die von dir als gewünschtes Ergebnis notierten Zahlen herkommen.

      Wenn es nicht ein einzelner XPath-Ausdruck sein soll, bietet sich zur Lösung der Aufgabe (mit XSLT 2.0) allerdings eher for-each-group starting-with an:
      Code:
      <xsl:stylesheet
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        version="2.0">
        
        <xsl:output method="text"/>
        
        <xsl:template match="nodes">
          <xsl:for-each-group select="entry" group-starting-with="entry[@start]">
            <xsl:value-of select="count(current-group())"/>
            <xsl:text>
      </xsl:text>
          </xsl:for-each-group>
        </xsl:template>
        
      </xsl:stylesheet>

      Comment


      • #4
        Alternativer 1.0-Ansatz:

        Code:
        <xsl:template match="nodes">
          <xsl:apply-templates select="entry[@start]"/>
        </xsl:template>
        
        <xsl:template match="entry">
          <xsl:variable name="anzahl" select="count(following-sibling::entry)
            - count(following-sibling::entry[@start]/following-sibling::entry)"/>
          <xsl:choose>
            <xsl:when test="position() != last()"><xsl:value-of select="$anzahl"/></xsl:when>
            <xsl:otherwise><xsl:value-of select="$anzahl + 1"/></xsl:otherwise>
          </xsl:choose>
          <xsl:text> | </xsl:text>
        </xsl:template>
        
        <!-- Ergebnis: 4 | 5 | 2 | 9 | -->

        Comment


        • #5
          Mit XSLT 1.0 kann man das auch folgendermaßen lösen:
          Code:
          <xsl:stylesheet
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            version="1.0">
            
            <xsl:output method="text"/>
            
            <xsl:key name="k1" match="entry[not(@start)]" use="generate-id(preceding-sibling::entry[@start][1])"/>
            
            <xsl:template match="entry[@start]">
              <xsl:value-of select="count(. | key('k1', generate-id()))"/>
            </xsl:template>
            
            <xsl:template match="entry[not(@start)]"/>
            
          </xsl:stylesheet>

          Comment


          • #6
            WordML-Tabellen &gt; Cals-Tabellen

            Guten Morgen,

            da schaut man einen Tag nicht nach ob man Antworten erhalten hat und dann sowas. Vielen Dank für diese.

            Ich habe leider voller entsetzen festgestellt, das ich einen Denkfehler hatte.
            Mein Ziel ist es nämlich, WordML-Tabellen in Cals-Tabellen zu transformieren.

            Die gegebenen Lösungen meines zuvor gezeigten XML-Codes haben mir sehr geholfen, aber:
            Code:
                  <tbody>
                     <row>
                        <entry>1</entry>
                        <entry gridspan="start">2</entry>
                        <entry gridspan=""/>
                        <entry gridspan=""/>
                        <entry gridspan=""/>
                        <entry gridspan=""/>
                        <entry>3</entry>
                        <entry morerows="start">4</entry>
                        <entry>5</entry>
                        <entry>6</entry>
                     </row>
                     <row>
                        <entry>7</entry>
                        <entry>8</entry>
                        <entry gridspan="start">9</entry>
                        <entry gridspan=""/>
                        <entry gridspan=""/>
                        <entry>10</entry>
                        <entry morerows="start">11</entry>
                        <entry morerows=""/>
                        <entry morerows="start">12</entry>
                        <entry morerows="start">13</entry>
                     </row>
                     <row>
                        <entry>14</entry>
                        <entry>15</entry>
                        <entry>16</entry>
                        <entry morerows="start">17</entry>
                        <entry morerows="start">18</entry>
                        <entry>19</entry>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry morerows=""/>
                     </row>
                     <row>
                        <entry>20</entry>
                        <entry>21</entry>
                        <entry>22</entry>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry>23</entry>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry>24</entry>
                     </row>
                     <row>
                        <entry>25</entry>
                        <entry morerows="start">26</entry>
                        <entry>27</entry>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry>28</entry>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry gridspan="start">29</entry>
                        <entry gridspan=""/>
                     </row>
                     <row>
                        <entry>30</entry>
                        <entry morerows=""/>
                        <entry>31</entry>
                        <entry morerows=""/>
                        <entry gridspan="start">32</entry>
                        <entry gridspan=""/>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry morerows="start">33</entry>
                        <entry>34</entry>
                     </row>
                     <row>
                        <entry>35</entry>
                        <entry morerows=""/>
                        <entry>36</entry>
                        <entry morerows=""/>
                        <entry>37</entry>
                        <entry>38</entry>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry>39</entry>
                     </row>
                     <row>
                        <entry>40</entry>
                        <entry>41</entry>
                        <entry>42</entry>
                        <entry morerows=""/>
                        <entry>43</entry>
                        <entry>44</entry>
                        <entry morerows=""/>
                        <entry morerows=""/>
                        <entry>45</entry>
                        <entry>46</entry>
                     </row>
                  </tbody>
            Wie kann der Ausdruck aussehen, das jedes <entry-Element, welches das Attribut @morerows='start' besitzt die Anzahl der Überspannungen enthält,
            die nötig sind? Durch morerows="" ist gekennzeichnet, das hier noch einer Überspannung gegeben ist.

            Darauf zu achten ist natürlich, das wiederum ein Attribut @* = 'start' eine neue Überspannung einleitet. Und der Count eines Entrys in einer Row muss ja auch noch der selbe sein wie der des Vorgängers.

            Darf ich noch einmal um Hilfe bitten? Vielen Dank und Gruß

            Comment


            • #7
              Wenn das Ziel die Transformation von "WordML-Tabellen in Cals-Tabellen" ist und das zuletzt gezeigte Beispieldokument ein Eingabedokument ist, das transformiert werden soll, dann solltest du mal das dazugehörige Ausgabedokument posten, das per XSLT erzeugt werden soll. Mir zumindest ist allein vom Begriff "Cals-Tabelle" nicht klar, wie die Ausgabe aussehen soll, und die Bedeutung der "morerows"-Attribute habe ich auch noch nicht verstanden.

              Und am besten erzähle uns auch noch, ob du XSLT 2.0 oder 1.0 verwenden willst, da sich vieles mit 2.0 einfacher lösen lässt. XSLT 2.0 wird von XSLT-Prozessoren wie Saxon 9 (http://saxon.sourceforge.net), AltovaXML Tools (http://www.altova.com/altovaxml.html) und XQSharp (http://www.xqsharp.com/) unterstützt.

              Comment


              • #8
                Hallo Martin,

                dein Einwand ist natürlich berechtigt.

                Ohne jetzt großartig auszuholen:

                Ziel ist es aus einer Word-Tabelle über das WordML-Format in die Cals-Tabellenstruktur zu transformieren (http://www.oasis-open.org/specs/a502.htm)

                Die von mir zuletzt gezeigte Beispiel-XML-Datei ist mein Ausgangsdokument.
                Überall dort, wo Element <entry morerows="start" steht, beginnt eine Zellenüberspannung nach unten, und zwar solange, wie das nächste Element row/entry ein @morerows="" besitzt. Dieses Element <entry muss aber von der Position her im Knoten <row> die selbe haben wie das <entry morerows="start".

                Das Zieldokument soll genauso aussehen wie das Eingangsdokument, aber @morerows="start" wird zu @morerows="x" <-- x = Anzahl der überspannten Zeilen.

                Ich hoffe ich habe mich verständlicher ausgedrückt. Zur realisierung ist XSLT2 zu verwenden (das habe ich vergessen zu erwähnen, deshalb entschuldigung für die Bemühungen)

                Gruß und Dank

                Comment


                • #9
                  Also willst du jedes "row"-Element unabhängig von den anderen Geschwister-"row"-Elemente transformieren, verstehe ich das richtig?
                  Was soll z.B. aus
                  Code:
                           <row>
                              <entry>1</entry>
                              <entry gridspan="start">2</entry>
                              <entry gridspan=""/>
                              <entry gridspan=""/>
                              <entry gridspan=""/>
                              <entry gridspan=""/>
                              <entry>3</entry>
                              <entry morerows="start">4</entry>
                              <entry>5</entry>
                              <entry>6</entry>
                           </row>
                  Das Element <entry morerows="start">4</entry> hat ja keine folgenden Elemente mit morerows=""? Wird daraus dann einfach
                  Code:
                           <row>
                              <entry>1</entry>
                              <entry gridspan="start">2</entry>
                              <entry gridspan=""/>
                              <entry gridspan=""/>
                              <entry gridspan=""/>
                              <entry gridspan=""/>
                              <entry>3</entry>
                              <entry morerows="1">4</entry>
                              <entry>5</entry>
                              <entry>6</entry>
                           </row>
                  ?
                  Was ist mit
                  Code:
                           <row>
                              <entry>35</entry>
                              <entry morerows=""/>
                              <entry>36</entry>
                              <entry morerows=""/>
                              <entry>37</entry>
                              <entry>38</entry>
                              <entry morerows=""/>
                              <entry morerows=""/>
                              <entry morerows=""/>
                              <entry>39</entry>
                           </row>
                  Darin sind ja mehrere "entry"-Elemente mit morerows="", die aber kein davor stehendes "entry"-Element mit morerows="start" haben. Wie sollen diese Elemente transformiert werden?

                  Comment


                  • #10
                    Hallo Martin,

                    also:
                    jedes <row>-Element hat 10 <entry-Elemente.
                    im ersten <row>-Element kommt im 8. <entry-Element das @morerows="start".
                    In allen darauffolgenden <row-Elementen gibt es kein <entry-Element mehr, welches an 8. Stelle ein Attribut @*='start' besitzt, sondern nur morerows="", somit würde in der ersten Auswertung aus

                    Code:
                             <row>
                                <entry>1</entry>
                                <entry gridspan="start">2</entry>
                                <entry gridspan=""/>
                                <entry gridspan=""/>
                                <entry gridspan=""/>
                                <entry gridspan=""/>
                                <entry>3</entry>
                                <entry morerows="start">4</entry>
                                <entry>5</entry>
                                <entry>6</entry>
                             </row>
                    Code:
                             <row>
                                <entry>1</entry>
                                <entry gridspan="start">2</entry>
                                <entry gridspan=""/>
                                <entry gridspan=""/>
                                <entry gridspan=""/>
                                <entry gridspan=""/>
                                <entry>3</entry>
                                <entry morerows="7">4</entry> 
                                <entry>5</entry>
                                <entry>6</entry>
                             </row>
                    7 aus dem Grund, weil es in jedem weiteren <entry an 8. Stelle eines jeden <row-Elmentes kein Attribut mit dem Wert 'start' vorkommt.

                    Ein weiteres Beispiel:


                    Code:
                    <row>
                                <entry>7</entry>
                                <entry>8</entry>
                                <entry gridspan="start">9</entry>
                                <entry gridspan=""/>
                                <entry gridspan=""/>
                                <entry>10</entry>
                                <entry morerows="start">11</entry>
                                <entry morerows=""/>
                                <entry morerows="start">12</entry>
                                <entry morerows="start">13</entry>
                             </row>
                    <entry morerows="start">12</entry> wird zu <entry morerows="2">12</entry> da die 2 nächsten <row-Elemente, deren <entry-Elemente an 9. Position, je ein morerows="" besitzen.
                    <entry morerows="start">13</entry> wird zu <entry morerows="1">13</entry>, da nur das nächste <row-Element ein morerows="" besitzt, das übernächste aber schon nicht mehr.

                    Ich hoffe du verstehst mich. Ich weiß , es ist etwas kompliziert zu erklären.

                    Gruß

                    Comment


                    • #11
                      Versuches es mal mit folgendem Ansatz:
                      Code:
                      <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:strip-space elements="*"/>
                        <xsl:output indent="yes"/>
                        
                        <xsl:template match="@* | node()">
                          <xsl:copy>
                            <xsl:apply-templates select="@*, node()"/>
                          </xsl:copy>
                        </xsl:template>
                        
                        <xsl:template match="row/entry/@morerows[. = 'start']">
                          <xsl:variable name="pos" as="xs:integer" select="count(parent::entry/(., preceding-sibling::entry))"/>
                          <xsl:variable name="count" >
                            <xsl:for-each-group 
                              select="parent::entry/parent::row/following-sibling::row/entry[position() eq $pos]"
                              group-adjacent="boolean(self::entry[@morerows = ''])">
                              <xsl:if test="position() eq 1 and current-grouping-key()">
                                <xsl:value-of select="count(current-group())"/>
                              </xsl:if>
                            </xsl:for-each-group>
                          </xsl:variable>
                          <xsl:attribute name="{name()}" select="$count"/>
                        </xsl:template>
                      
                      </xsl:stylesheet>
                      Mit Saxon 9.3 erhalte ich mit dem Eingabedokument
                      Code:
                            <tbody>
                               <row>
                                  <entry>1</entry>
                                  <entry gridspan="start">2</entry>
                                  <entry gridspan=""/>
                                  <entry gridspan=""/>
                                  <entry gridspan=""/>
                                  <entry gridspan=""/>
                                  <entry>3</entry>
                                  <entry morerows="start">4</entry>
                                  <entry>5</entry>
                                  <entry>6</entry>
                               </row>
                               <row>
                                  <entry>7</entry>
                                  <entry>8</entry>
                                  <entry gridspan="start">9</entry>
                                  <entry gridspan=""/>
                                  <entry gridspan=""/>
                                  <entry>10</entry>
                                  <entry morerows="start">11</entry>
                                  <entry morerows=""/>
                                  <entry morerows="start">12</entry>
                                  <entry morerows="start">13</entry>
                               </row>
                               <row>
                                  <entry>14</entry>
                                  <entry>15</entry>
                                  <entry>16</entry>
                                  <entry morerows="start">17</entry>
                                  <entry morerows="start">18</entry>
                                  <entry>19</entry>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                               </row>
                               <row>
                                  <entry>20</entry>
                                  <entry>21</entry>
                                  <entry>22</entry>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry>23</entry>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry>24</entry>
                               </row>
                               <row>
                                  <entry>25</entry>
                                  <entry morerows="start">26</entry>
                                  <entry>27</entry>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry>28</entry>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry gridspan="start">29</entry>
                                  <entry gridspan=""/>
                               </row>
                               <row>
                                  <entry>30</entry>
                                  <entry morerows=""/>
                                  <entry>31</entry>
                                  <entry morerows=""/>
                                  <entry gridspan="start">32</entry>
                                  <entry gridspan=""/>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry morerows="start">33</entry>
                                  <entry>34</entry>
                               </row>
                               <row>
                                  <entry>35</entry>
                                  <entry morerows=""/>
                                  <entry>36</entry>
                                  <entry morerows=""/>
                                  <entry>37</entry>
                                  <entry>38</entry>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry>39</entry>
                               </row>
                               <row>
                                  <entry>40</entry>
                                  <entry>41</entry>
                                  <entry>42</entry>
                                  <entry morerows=""/>
                                  <entry>43</entry>
                                  <entry>44</entry>
                                  <entry morerows=""/>
                                  <entry morerows=""/>
                                  <entry>45</entry>
                                  <entry>46</entry>
                               </row>
                            </tbody>
                      das folgende Resultat:
                      Code:
                      <tbody>
                         <row>
                            <entry>1</entry>
                            <entry gridspan="start">2</entry>
                            <entry gridspan=""/>
                            <entry gridspan=""/>
                            <entry gridspan=""/>
                            <entry gridspan=""/>
                            <entry>3</entry>
                            <entry morerows="7">4</entry>
                            <entry>5</entry>
                            <entry>6</entry>
                         </row>
                         <row>
                            <entry>7</entry>
                            <entry>8</entry>
                            <entry gridspan="start">9</entry>
                            <entry gridspan=""/>
                            <entry gridspan=""/>
                            <entry>10</entry>
                            <entry morerows="6">11</entry>
                            <entry morerows=""/>
                            <entry morerows="2">12</entry>
                            <entry morerows="1">13</entry>
                         </row>
                         <row>
                            <entry>14</entry>
                            <entry>15</entry>
                            <entry>16</entry>
                            <entry morerows="5">17</entry>
                            <entry morerows="2">18</entry>
                            <entry>19</entry>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry morerows=""/>
                         </row>
                         <row>
                            <entry>20</entry>
                            <entry>21</entry>
                            <entry>22</entry>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry>23</entry>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry>24</entry>
                         </row>
                         <row>
                            <entry>25</entry>
                            <entry morerows="2">26</entry>
                            <entry>27</entry>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry>28</entry>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry gridspan="start">29</entry>
                            <entry gridspan=""/>
                         </row>
                         <row>
                            <entry>30</entry>
                            <entry morerows=""/>
                            <entry>31</entry>
                            <entry morerows=""/>
                            <entry gridspan="start">32</entry>
                            <entry gridspan=""/>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry morerows="1">33</entry>
                            <entry>34</entry>
                         </row>
                         <row>
                            <entry>35</entry>
                            <entry morerows=""/>
                            <entry>36</entry>
                            <entry morerows=""/>
                            <entry>37</entry>
                            <entry>38</entry>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry>39</entry>
                         </row>
                         <row>
                            <entry>40</entry>
                            <entry>41</entry>
                            <entry>42</entry>
                            <entry morerows=""/>
                            <entry>43</entry>
                            <entry>44</entry>
                            <entry morerows=""/>
                            <entry morerows=""/>
                            <entry>45</entry>
                            <entry>46</entry>
                         </row>
                      </tbody>

                      Comment


                      • #12
                        Hallo Martin,

                        ich danke dir recht herzlich für die Mühen, genau das war mein Ziel.

                        Viele Grüße

                        Comment

                        Working...
                        X