RE: [xsl] trouble getting at node

Subject: RE: [xsl] trouble getting at node
From: dan@xxxxxxxxxxxxx
Date: Mon, 16 Jan 2006 19:01:32 -0500 (EST)
I would like to select only a few nodes. When I try the first example, I
get an error. Here is what the result tree looks like:

<Item>
<location>E:\Rap\DJ Mark Farina\Connect\Mark Farina - Connect - 08 -
Martin Venetjoki , Really Don't Stop.mp3</location>
<creator>DJ Mark Farina</creator>
Connect
Martin Venetjoki , Really Don't Stop
mp3
Chill
36526
128
Audio
4196480
262
8
1055524929
1054230842
1055529132
</Item>




> dan@xxxxxxxxxxxxx wrote:
>
>> runtime error: file jriver.xsl element element in
>> jriver.php on line 16
>
>> Warning: xsl:element : invalid name in jriver.php on line
>> 16
>
>> Also, I would actually like to rename the elements in the
>> result tree, something like this:
>
>> <playlist>
>> <tracklist>
>> <track>
>> <location>E:\Rap\DJ Mark Farina\Connect\Mark Farina -
>> Connect - 08 - Martin Venetjoki , Really Don't
>> Stop.mp3</location>
>> <creator>DJ Mark Farina</creator>
>> </track>
>> ...
>> </tracklist>
>> <playlist>
>
>> where Filename becomes location and Artist becomes
>> creator.
>
>   All these are the same problem.  You have to define how to
> map attribute values to element names.  Some values aren't
> legal names, and you want to translate others.
>
>   If you want to select only a well-defined subset of the
> Fields:
>
>
>     <?xml version="1.0" encoding="utf-8"?>
>     <xsl:stylesheet
>         xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>         version="1.0">
>
>       <xsl:output method="xml"/>
>
>       <xsl:template match="Item">
>         <xsl:copy>
>           <xsl:apply-templates/>
>         </xsl:copy>
>       </xsl:template>
>
>       <xsl:template match="Field[@Name='Filename']">
>         <location>
>           <xsl:apply-templates/>
>         </location>
>       </xsl:template>
>
>       <xsl:template match="Field[@Name='Artist']">
>         <creator>
>           <xsl:apply-templates/>
>         </creator>
>       </xsl:template>
>
>       ...
>
>     </xsl:stylesheet>
>
>   You can have a default to use the attribute value as
> element name, and select the right fields in the
> apply-templates:
>
>     <?xml version="1.0" encoding="utf-8"?>
>     <xsl:stylesheet
>         xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>         version="1.0">
>
>       <xsl:output method="xml"/>
>
>       <xsl:template match="Item">
>         <xsl:copy>
>           <xsl:apply-templates select="Field[...]"/>
>         </xsl:copy>
>       </xsl:template>
>
>       <xsl:template match="Field[@Name='Filename']">
>         <location>
>           <xsl:apply-templates/>
>         </location>
>       </xsl:template>
>
>       <xsl:template match="Field[@Name='Artist']">
>         <creator>
>           <xsl:apply-templates/>
>         </creator>
>       </xsl:template>
>
>       ...
>
>       <xsl:template match="Field">
>         <xsl:element name="{@Name}">
>           <xsl:apply-templates/>
>         </xsl:element>
>       </xsl:template>
>
>     </xsl:stylesheet>
>
> --drkm
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ___________________________________________________________________________
> Nouveau : tiliphonez moins cher avec Yahoo! Messenger ! Dicouvez les
> tarifs exceptionnels pour appeler la France et l'international.
> Tilichargez sur http://fr.messenger.yahoo.com
>
>


http://www.streampad.com
username - dan

Current Thread