Siblings zählen - ganz einfach

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Siblings zählen - ganz einfach

    Eigentlich ist die Aufgabe extrem einfach doch irgendwas muss ich wohl falsch machen,

    hier die CDSammlung.xml: http://www.fallendestiny.net/mmp/SMIL/cdsammlung.xml

    ich möchte lediglich die vorherigen siblings zählen um diese dann anschließend in dem attribut begin zu nutzen, es soll so aussehen: begin=22, im zweiten durchlaufen begin=42, 3ter durchlauf glaub 58, 76, 93, 105, 118, 144

    Quellcode

    1. <?xml version="1.0" encoding="iso-8859-1"?>
    2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rn="http://features.real.com/2001/SMIL20/Extensions">
    3. <xsl:output method="xml" encoding="iso-8859-1"/>
    4. <xsl:template match="/CDSAMMLUNG">
    5. <xsl:for-each select="./ALBUM">
    6. <time>
    7. <xsl:attribute name="begin">
    8. <xsl:variable name="pres">
    9. <xsl:number level="any" count="/ALBUM/TRACKS/TRACK" format="1"/>
    10. </xsl:variable>
    11. <xsl:value-of select="$pres"/>
    12. </xsl:attribute>
    13. </time>
    14. </xsl:for-each>
    15. </xsl:template>
    16. </xsl:stylesheet>
    Alles anzeigen
  • Hier die Lösung, die ich selbst gefunden hab ;)

    Quellcode

    1. <?xml version="1.0" encoding="iso-8859-1"?>
    2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rn="http://features.real.com/2001/SMIL20/Extensions">
    3. <xsl:output method="xml" encoding="iso-8859-1"/>
    4. <xsl:template match="/CDSAMMLUNG">
    5. <window type="generic" height="100" width="765">
    6. <xsl:attribute name="duration"><xsl:value-of select="count(./ALBUM/TRACKS/TRACK)"/></xsl:attribute>
    7. <!-- Titel // START -->
    8. <font size="5" color="blue" face="Arial Narrow">
    9. <center><b>
    10. <xsl:for-each select="ALBUM">
    11. <clear />
    12. <time>
    13. <xsl:attribute name="begin">
    14. <xsl:if test="position()=1">
    15. <xsl:value-of select="0"/>
    16. </xsl:if>
    17. <xsl:if test="position()!=1">
    18. <xsl:value-of select="count(preceding-sibling::ALBUM/TRACKS/TRACK)"/>
    19. </xsl:if>
    20. </xsl:attribute>
    21. <pos y="49"/><xsl:value-of select="./TITEL/text()" />
    22. </time>
    23. </xsl:for-each>
    24. </b></center>
    25. </font>
    26. <!-- Titel // ENDE -->
    27. </window>
    28. </xsl:template>
    29. </xsl:stylesheet>
    Alles anzeigen