Hallo,
folgende Ausgangsdatei:
soll zu folgendem Ergebnis transformiert werden:
Bislang scheitere ich aber schon an der Erfassung der Meldung und ihrer Trennung von der Marke. Mein bisheriger Versuch:
Irgendeine oder einer eine Idee, woran das hackt?
Danke!
folgende Ausgangsdatei:
Code:
<Inhalt> <content type="text"> <line number="1"/> <line number="2"/> <line number="3"/> <line number="4"> Sanaa: Bei einer Explosion in einer Mu-</line> <line number="5"> nitionsfabrik im Jemen sind mindestens</line> <line number="6"> 70 Menschen ums Leben gekommen und 90</line> <line number="7"> verletzt worden. Unter den Opfern sind</line> <line number="8"> laut Behörden auch Kinder. Die Explo-</line> <line number="9"> sion ereignete sich in der Provinz Ab-</line> <line number="10"> jan im Süden. Nach einem gestrigen Al-</line> <line number="11"> Kaida-Überfall auf die Fabrik seien</line> <line number="12"> heute Anwohner auf der Suche nach Mu-</line> <line number="13"> nition in die Fabrik gegangen, hieß es.</line> <line number="14"/> <line number="15"> Kairo: Die nächsten Parlamentswahlen in</line> <line number="16"> Ägypten werden im September stattfin-</line> <line number="17"> den. Das teilte die Militärregierung</line> <line number="18"> mit. Ein Termin für die Präsidentenwahl</line> <line number="19"> stehe noch nicht fest, hieß es. Das</line> <line number="20"> Militär hatte nach dem Sturz von Präsi-</line> <line number="21"> dent Mubarak vorübergehend die Macht in</line> <line number="22"> Ägypten übernommen.</line> <line number="23"/> <line number="24"/> </content> </Inhalt>
Code:
<content> <marke>Sanaa</marke> <meldung>Bei einer Explosion in einer Munitionsfabrik im Jemen sind mindestens 70 Menschen ums Leben gekommen und 90 verletzt worden. Unter den Opfern sind laut Behörden auch Kinder. Die Explosion ereignete sich in der Provinz Abjan im Süden. Nach einem gestrigen AlKaida-Überfall auf die Fabrik seien heute Anwohner auf der Suche nach Munition in die Fabrik gegangen, hieß es.</meldung> <marke>Kairo</marke> <meldung>Die nächsten Parlamentswahlen in Ägypten werden im September stattfinden. Das teilte die Militärregierung mit. Ein Termin für die Präsidentenwahl stehe noch nicht fest, hieß es. Das Militär hatte nach dem Sturz von Präsident Mubarak vorübergehend die Macht in Ägypten übernommen.</meldung> <marke/> <meldung/> </content>
Code:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xhtml" version="1.0" encoding="UTF-8" indent="yes" cdata-section-elements="title "/> <xsl:template match="Inhalt"> <xsl:call-template name="Kurzmeldung"> </xsl:call-template> </xsl:template> <xsl:template name="Kurzmeldung" match="Kurzmeldung"> <xsl:element name="content"> <xsl:for-each-group select="//content[1]/line[@number >= 4 and @number <= 22]" group-ending-with="line[not(node())]"> <xsl:variable name="meldung" select="//content[1]/line[@number >= 4 and @number <= 22]"/> <marke> <xsl:value-of select="substring-before ($meldung,': ')"/> </marke> <meldung> <xsl:value-of select="substring-after ($meldung,': ')"/> </meldung> </xsl:for-each-group> </xsl:element> </xsl:template> </xsl:stylesheet>
Danke!
Comment