Gruppieren
ssiedlerin268
- xsl
Folgendes Problem schon wieder -.-
Meine XML-Datei:
<Daten>
<Zeile>
<Feld tabelle="N" DecPos="0" Digits="1" Name="KZ DEB/KRED." Type="A">D</Feld>
<Feld tabelle="N" DecPos="0" Digits="9" Name="PERS.KONTENNUMMER" Type="S">100001</Feld>
<Feld tabelle="J" DecPos="2" Digits="13" Name="SOLL" Type="S">5000.00</Feld>
<Feld tabelle="J" DecPos="2" Digits="13" Name="HABEN" Type="S">0.00</Feld>
<Feld tabelle="J" DecPos="2" Digits="13" Name="SALDO" Type="S">5000.00</Feld>
</Zeile>
<Zeile>
<Feld tabelle="N" DecPos="0" Digits="1" Name="KZ DEB/KRED." Type="A">K</Feld>
<Feld tabelle="N" DecPos="0" Digits="9" Name="PERS.KONTENNUMMER" Type="S">23</Feld>
<Feld tabelle="J" DecPos="2" Digits="13" Name="SOLL" Type="S">5000.00</Feld>
<Feld tabelle="J" DecPos="2" Digits="13" Name="HABEN" Type="S">0.00</Feld>
<Feld tabelle="J" DecPos="2" Digits="13" Name="SALDO" Type="S">5000.00</Feld>
</Zeile>
</Daten>
...bisher war es so, dass ich gruppieren wollte nach 'PERS.KONTENNUMMER' mit
<xsl:key name="groupby" match="//Zeile[Feld[@Name='KZ DEB/KRED.']='K']" use="Feld[@Name='PERS.KONTENNUMMER']"/>
und von vorne rein nur alle Kreditoren, gekennzeichnet mit 'K', ausgewählt werden. Nun möchte ich aber zusätzlich noch das ganze vorher nach 'KZ DEB/KRED." gruppieren, damit ich noch einen Seitenumbruch in die Word-Datei einfügen kann zwischen Debitoren und Kreditoren.
Bisher bin ich soweit:
Die beiden Keys:
<xsl:key name="KD" match="//Zeile" use="Feld[@Name='KZ DEB/KRED.']"/>
<xsl:key name="groupby" match="//Zeile" use="Feld[@Name='PERS.KONTENNUMMER']"/>
Und dann der Aufruf:
<xsl:template match="Daten">
<xsl:for-each select="key('KD',Feld[@Name='KZ DEB/KRED.'])">
<xsl:for-each select="//Zeile[generate-id(.)=generate-id(key('groupby',Feld[@Name='PERS.KONTENNUMMER'])[1])]">
....
</xsl:for-each>
<w:p>
<w:r><w:br w:type="page"/></w:r>
</w:p>
</xsl:for-each>
Nun, öffnen kann ich die Datei, bloß sie zeigt nichts an. Wo liegt der Fehler?