Heedless
%Europe/Berlin %948 %2006, 23:46
Schrik niet van de lengte van deze post, mijn vraag is niet zo heel erg complex :p
Ik heb het volgende XSL bestand om een XML bestand van iTunes om te zetten naar een leesbare XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<songlist>
<xsl:apply-templates select="plist/dict/dict/dict"/>
</songlist>
</xsl:template>
<xsl:template match="dict">
<song>
<xsl:apply-templates select="key"/>
</song>
</xsl:template>
<xsl:template match="key">
<xsl:element name="{translate(text(), ' ', '_')}">
<xsl:value-of select="following-sibling::node()[1]"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
dit geeft een XML bestand dat er zo uit ziet:
<songlist>
<song>
<name>
titel1
</name>
<playcount>
5
</playcount>
</song>
<song>
<name>
titel2
</name>
<playcount>
3
</playcount>
</song>
</songlist>
In dit geval zou de playlist die ik om aan het zetten ben dus 2 nummers lang zijn. Je ziet dat hij voor elk element van een nummer (in dit geval name en playcount) een nieuwe node aanmaakt.
maar ik heb liever attributes, dus ipv <song>
<name>
titel1
</name>
<playcount>
5
</playcount>
</song>
wil ik
<song name="titel1" playcount="5">
Weet iemand hoe ik mijn XSL om kan bouwen om dat voor elkaar te krijgen?
Ik heb het volgende XSL bestand om een XML bestand van iTunes om te zetten naar een leesbare XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<songlist>
<xsl:apply-templates select="plist/dict/dict/dict"/>
</songlist>
</xsl:template>
<xsl:template match="dict">
<song>
<xsl:apply-templates select="key"/>
</song>
</xsl:template>
<xsl:template match="key">
<xsl:element name="{translate(text(), ' ', '_')}">
<xsl:value-of select="following-sibling::node()[1]"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
dit geeft een XML bestand dat er zo uit ziet:
<songlist>
<song>
<name>
titel1
</name>
<playcount>
5
</playcount>
</song>
<song>
<name>
titel2
</name>
<playcount>
3
</playcount>
</song>
</songlist>
In dit geval zou de playlist die ik om aan het zetten ben dus 2 nummers lang zijn. Je ziet dat hij voor elk element van een nummer (in dit geval name en playcount) een nieuwe node aanmaakt.
maar ik heb liever attributes, dus ipv <song>
<name>
titel1
</name>
<playcount>
5
</playcount>
</song>
wil ik
<song name="titel1" playcount="5">
Weet iemand hoe ik mijn XSL om kan bouwen om dat voor elkaar te krijgen?