ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
1171
1171
EMPFEHLEN
-
Hallo,
ich habe eine XML mit meinen mp3s erstellt (Bsp, s. u.). Würde gerne die Daten über XSL auslesen, damit ich die mir im Browser anschauen kann. Ich würde gerne eine Tabelle mit den Interpreten haben, in der alle Titel mit dem dazugehörigen Album drinstehen. Leider erzeuge ich für jeden Titel eine neue Zeile in XSL und darüber steht auch immer der Interpret. Da ich keine Ahnung von XSL habe, wollte ich fragen, ob mir jemand bei diesen "eigentlich" einfachen Problem helfen könnte. Unten habe ich ein Bsp meiner XSL (stark verkürzt).
XML:
Code :1 2 3 4 5 6 7
<mp3> <tags Titel="School" Album="Archetype" Interpret="Fear Factory" Länge="02:38" KBitS="128"/> <tags Titel="Slave Labor" Album="Archetype" Interpret="Fear Factory" Länge="03:53" KBitS="128"/> <tags Titel="Undercurrent" Album="Archetype" Interpret="Fear Factory" Länge="04:04" KBitS="128"/> <tags Titel="Kiss" Album="20 Hits Of The 80S Volume Two" Interpret="Tom Jones" Länge="03:34" KBitS="192"/> <tags Titel="Blame It On The Boogie" Album="20 Hits Of The 80S Volume Two" Interpret="Big Fun" Länge="05:32" KBitS="192"/> </mp3>
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
<xsl:template match="/"> <html> <head> <title>MP3</title> </head> <body> <table border="1"> <xsl:apply-templates select="mp3/tags"/> </table> </body> </html> </xsl:template> <xsl:template match="mp3"/> <xsl:template match="tags"> <tr> <td colspan="2"> <xsl:value-of select="@Interpret"/> </td> </tr> <tr id="hide"> <td><h3>Titel</h3></td> <td><h3>Album</h3></td> </tr> <tr id="hide"> <td><xsl:value-of select="@Titel" /></td> <td><xsl:value-of select="@Album" /></td> </tr> </xsl:template>
Danke schonmal
Lukas
PS: Bin ein neuling, was XSL angeht.
-
22.10.04 12:40 #2
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
Schau dir doch mal die Grouping-Examples auf http://www.cafeconleche.org/slides/oop2003/xslt2/
an.
Basiert jedoch alles auf XSLT 2.0 und dass kann noch nicht jeder XSLT Prozessor.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Danke für den link, ich verstehe leider nur Bahnhof daraus. Ich kriege aber immerhin eine if-Abfrage hin.
Trotzdem kapiere ich diesen XSL - Kram nicht. Wenn ich mehrere Tags mit gleichen Namen habe (wie oben in der XML), ist es dann wie in einer Schleife, die solage läuft, bis die Tags enden oder wie muss ich das verstehen?
Wie kann ich einer Variable einen anderen Wert zuweisen? Ich muss sagen, dass C++ einfacher ist.
-
22.10.04 14:10 #4
- Registriert seit
- Oct 2004
- Beiträge
- 3
huhu ich grüße Dich,
ich habe dir anbei mal meinen Lösungsweg geschickt,
wenn es dass ist was Du gerne wolltest, d.h. ich Dich also richtig verstanden habe dann kannst Du Dich bei Fragen gerne einfach nochmal melden
schönen Tag Dir
mp3.xml sieht bei mir so aus:
------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="mp3.xsl"?>
<mp3s>
<mp3>
<interpret>Korn</interpret>
<album>Follow the Leader</album>
<track>all in the family</track>
<trackdauer>03:05</trackdauer>
<KBitS>128</KBitS>
</mp3>
<mp3>
<interpret>Fear Factory</interpret>
<album>Archetype</album>
<track>School</track>
<trackdauer>02:38</trackdauer>
<KBitS>128</KBitS>
</mp3>
<mp3>
<interpret>Fear Factory</interpret>
<album>Archetype</album>
<track>Undercurrent</track>
<trackdauer>04:04</trackdauer>
<KBitS>128</KBitS>
</mp3>
</mp3s>
-------------------------------------------------------------------
mp3.xsl so :
______________________________________
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>mp3.xsl</title>
</head>
<body>
<table border="2">
<tr>
<td>Interpret</td>
<td>Album</td>
<td>Track</td>
<td>Dauer</td>
<td>KBitsS</td>
</tr>
<xsl:for-each select="mp3s/mp3">
<tr>
<td><xsl:value-of select="interpret"/></td>
<td><xsl:value-of select="album"/></td>
<td><xsl:value-of select="track"/></td>
<td><xsl:value-of select="trackdauer"/></td>
<td><xsl:value-of select="KBitS"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
________________________________________________
-
Danke für die Hilfe!
Es ist fast richtig. Ich wollte, dass jeder Interpreten in einer eigenen Tabelle steht. Der Interpretenname soll dann über der Tabelle stehen.
Danke nochmal!
[edit]
so ungefähr habe ich mir das gedacht, aber irgendwie funktioniert das nicht. Es soll ja jeder Interpret eine eigene Tabelle haben.
[/edit]Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
<xsl:for-each select="mp3s/mp3"> <xsl:value-of select="interpret"/> <table border="2"> <tr> <td>Album</td> <td>Track</td> <td>Dauer</td> <td>KBitsS</td> </tr> <xsl:for-each select="."> <tr> <td><xsl:value-of select="album"/></td> <td><xsl:value-of select="track"/></td> <td><xsl:value-of select="trackdauer"/></td> <td><xsl:value-of select="KBitS"/></td> </tr> </xsl:for-each> </table> </xsl:for-each>
Geändert von lukasS (22.10.04 um 14:36 Uhr)
-
22.10.04 14:37 #6
- Registriert seit
- Oct 2004
- Beiträge
- 3
huhu lukas,
gerne
freut mich wenn´s hilft,
bin doch selbst ne gerade anfangende kackwurst *grins*
kommst du denn jetzt längs damit, oder magst noch was?
anbei einfach mal ungefragt meine linklisten favoriten in deutsch *can´t speak english very good*
sehr einfache und deutsche einführungen *freu* können unter folgenden seiten u.u. weiterhelfen http://www.emacswiki.org/pics/smile.png - http://www.internet-kompetenz.ch/xml/einfuehrung/
- http://www.usegroup.de/software/xmlt.../einstieg.html
- http://aktuell.de.selfhtml.org/links...eutschsprachig order more infos *g*
- http://www.devmag.net/xml/ da gibts ne lustige menge anfänger stuff *finde ich*
- http://aktuell.de.selfhtml.org/artik...eume/index.htm
lustige grüße von der jana und eine gute zeit euch allen
-- jana 2004-10-18 09:21 UTC
schönen tag dir
wünscht
jana
-
22.10.04 14:45 #7
- Registriert seit
- Oct 2004
- Beiträge
- 3
hallo lukas hier nochmal die jana
also wie du das oben geschrieben hast (von wegen für jedem interpreten eine tabelle) kann das nicht funxen
du schreibst , ich quote mal:
<xsl:for-each select="mp3s/mp3">
<xsl:value-of select="interpret"/>
<table border="2">
<tr>
<td>Album</td>
<td>Track</td>
<td>Dauer</td>
<td>KBitsS</td>
</tr>
aber ich glaube du mußt zum einen die xml struktur ändern, die ich geschickt habe ist einfach nur auf die mp3s /mp3 ausgelegt und du mußt es ja bzw. magst es ja für die interpreten haben und dann denke ich mußt du im stylsheet auch anderes definieren,
also z.b. sagen
hey den interpret in die tabellenüberschrift und dann unten drunter in den einzelnen tabellenzeilen bitte die angaben album interpret tracktitel,, länge etc.
lg
der broetchenfan
-
Danke dir Broetchenfan
,
also fange ich von vorne an, d. h. mit der XML-Struktur. Zum Glück wird die XML automatisch erstellt
Falls nochmal unklarheiten kommen, melde ich mich wieder.
Danke nochmal!
Schönen Tag!
Lukas
Ähnliche Themen
-
einfache Struts 2 Frage
Von Ijaja im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 07.11.07, 10:50 -
Einfache Frage zu Positionierung
Von bisselbock im Forum CSSAntworten: 4Letzter Beitrag: 24.10.06, 22:05 -
Einfache Frage zu Freehand?
Von lraziest im Forum Vektor-ProgrammeAntworten: 4Letzter Beitrag: 15.03.05, 12:33 -
[Frage]einfache Navigationsleiste...
Von Tabrizi im Forum Flash PlattformAntworten: 9Letzter Beitrag: 16.06.04, 00:15 -
Einfache Frage zu Quellcode
Von vlap im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 02.06.04, 11:23





Zitieren

Login





