XSL: count auf mehreren Ebenen
ManfredJ
- xsl
0 majao
Hallo zusammen Ich möchte gerne Interviews auswerten und spezielle Elemente aufgrund mehrerer Parameter auszählen. Im untenstehenen Beispiel etwa: wie viele Ereignisse (event) gibt es, die 1. mit dem Code "1-po" UND "2-di" ausgezeichnet wurden, UND die 2. "So-Interviews" sind (und nicht Mo-Interviews, Di-Interviews ... )
Auf der ersten Ebene der Ereignisse habe ich kein Problem:
<xsl:value-of select="count(//event[contains(.,'1-po') and contains(.,'2-di')] )"/>
Aber die UND-Verknüpfung mit den Meta-Informationen im Head gelingt mir nicht.
Hat jemand eine Idee für mich?
Herzlichen Dank vorab
Manfred
<?xml version="1.0" encoding="UTF-8"?>
<basic-transcription>
<head>
<meta-information>
<transcription-name>So-Interviews</transcription-name>
</meta-information>
</head>
<basic-body>
<events>
<event>1-po 3-wo 3-ze 3-ve ro</event>
</events>
<events>
<event>1-po 2-di 3-fe ro</event>
<event>1-th 3-wo </event>
<event>1-po 2-af 3-ze 3-wo </event>
</events>
.....
</basic-body>
</basic-transcription>
Ups, das Beispiel oben kann man ja wirklich nicht verstehen ...
Ich möchte das Problem (XSL Auswertung unter Einbezug von Metadaten) noch einmal an einem anderen (hoffentlich besseren) Beispiel erläutern: der Bereich basic-transcription/meta
enthält Metadaten (Informationen zu verschiedenen Teilnehmern einer Gruppendiskussion), der Body (basic-transcription/body) enthält die Diskussionsbeiträge der Teilnehmer, gegliedert in Sequenzen (Events) mit speziellen Codes.
Wie kann man nun auszählen, wie viele Sequenzen (beispielsweise mit dem Code <event>1-po</event>
) von männlichen Teilnehmern stammen (siehe <sex value="m"/>
in <meta>
) und wie viele von weiblichen? Oder wie viele von Teilnehmern über 30 Jahre und wie viele von Teilnehmern unter 30?
<basic-transcription>
<meta>
<speakertable>
<speaker id="SPK0">
<abbreviation>LUC</abbreviation>
<sex value="m"/>
<age date="1980-03-07">07.03.1980</age>
</speaker>
<speaker id="SPK1">
<abbreviation>IRAV</abbreviation>
<sex value="m"/>
<age date="1990-03-07">07.04.1990</age>
</speaker>
<speaker id="SPK2">
<abbreviation>NAT</abbreviation>
<sex value="f"/>
<age date="1992-04-17">17.04.1992</age>
</speaker>
</speakertable>
</meta>
<body>
<tier speaker="SPK0">
<event start="T27" end="T31">1-po 2a-zel </event>
<event start="T32" end="T33">1-po 2a-ver </event>
<event start="T52" end="T68">2a-ver 3a-ab</event>
</tier>
<tier speaker="SPK1">
<event start="T208" end="T209">1-po 2a-zel </event>
<event start="T33" end="T34">2a-ver 3a-ab </event>
<event start="T70" end="T48">1-th 2a-zel 1-th 2a-ver</event>
</tier>
<tier speaker="SPK2">
<event start="T31" end="T32">1-po 2a-zel </event>
<event start="T62" end="T64">2a-koc 2a-sac 3a-in 3b-fin </event>
</tier>
</body>
</basic-transcription>
Hat jemand eine Idee? Herzlichen Dank für eure Hilfe.
ManfredJ.