for my output I only need a special parameter (matrikelnummer)
Here is my XML Code:
<?xml version="1.0" encoding="UTF-8"?>
<unidatenbank>
<studenten>
<student>
<daten>
<matrikelnummer>2354444</matrikelnummer>
<vorname>Horst</vorname>
<nachname>Wallenstein</nachname>
<geburtsdatum>09.09.1999</geburtsdatum>
<studiengang>Politikwissenschaft</studiengang>
</daten>
<leistungen>
<creditpoints>178</creditpoints>
<noten>
<note>1.7</note>
<note>2.7</note>
<note>3.2</note>
<note>1.0</note>
</noten>
</leistungen>
</student>
<student>
<daten>
<matrikelnummer>2367897</matrikelnummer>
<vorname>Isabella</vorname>
<nachname>Gans</nachname>
<geburtsdatum>08.08.1988</geburtsdatum>
<studiengang>Politikwissenschaft</studiengang>
</daten>
<leistungen>
<creditpoints>190</creditpoints>
<noten>
<note>1.0</note>
<note>1.7</note>
<note>1.7</note>
<note>1.0</note>
</noten>
</leistungen>
</student>
</studenten>
<veranstaltungen>
<veranstaltung>
<veranstaltungsnummer>754125</veranstaltungsnummer>
<dozent>Prof. Dr. Schnatterberg</dozent>
<modul>EM 1</modul>
</veranstaltung>
<veranstaltung>
<veranstaltungsnummer>452781</veranstaltungsnummer>
<dozent>Dr. Hummels</dozent>
<modul>EM 2</modul>
</veranstaltung>
</veranstaltungen>
</unidatenbank>
That's what my parameter looks like:
<xsl:param name="matrikelnummer"
select="2354444"
as="xs:integer"
required="no"/>
And here is my XSL Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://ift.tt/tCZ8VR"
xmlns:xs="http://ift.tt/tphNwY"
exclude-result-prefixes="xs"
version="2.0">
<xsl:decimal-format decimal-separator=","
grouping-separator="."/>
<xsl:output method="text"/>
<xsl:template match="/unidatenbank">
<xsl:for-each select=".//studenten/student">
<xsl:text>Vor- und Nachname: </xsl:text>
<xsl:value-of select="./daten/vorname" />
<xsl:text> </xsl:text>
<xsl:value-of select="./daten/nachname" />
<xsl:text>
</xsl:text>
<xsl:text>Matrikelnr.: </xsl:text>
<xsl:value-of select="./daten/matrikelnummer" />
<xsl:text>
</xsl:text>
<xsl:text>Studiengang: </xsl:text>
<xsl:value-of select="./daten/studiengang" />
<xsl:text>
</xsl:text>
<xsl:text>Geburtsdatum: </xsl:text>
<xsl:value-of select="./daten/geburtsdatum" />
<xsl:text>

</xsl:text>
<xsl:text>Prüfungsnoten: </xsl:text>
<xsl:value-of select="./leistungen/noten/note" />
<xsl:text>

</xsl:text>
<xsl:text>Leistungspunkte: </xsl:text>
<xsl:value-of select="./leistungen/creditpoints" />
<xsl:text>

</xsl:text>
<xsl:text>Gesamtdurchschnitt: </xsl:text>
<xsl:variable name="leistungen" select="avg(./leistungen/noten/note)" />
<xsl:value-of select="format-number($leistungen, '#.##0,0')"/>
<xsl:text>

</xsl:text>
</xsl:for-each>
<xsl:for-each select=".//veranstaltungen/veranstaltung">
<xsl:text>Veranstaltungsnummer: </xsl:text>
<xsl:value-of select="./veranstaltungsnummer" />
<xsl:text>
</xsl:text>
<xsl:text>Dozent: </xsl:text>
<xsl:value-of select="./dozent" />
<xsl:text>
</xsl:text>
<xsl:text>Modul: </xsl:text>
<xsl:value-of select="./modul" />
<xsl:text>
</xsl:text>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
My output has to look like follows:
Vor- und Nachname: Horst Wallenstein
Matrikelnr.: 2354444
Studiengang: Politikwissenschaft
Geburtsdatum: 09.09.1999
Prüfungsnoten: 1.7 2.7 3.2 1.0
Leistungspunkte: 178
Gesamtdurchschnitt: 2,2
I don't no how and where to place my parameter in the foreach loop. Hope someone can help me.
No comments:
Post a Comment