[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: trouble getting at node

Subject: RE: trouble getting at node
From: Florent Georges <darkman_spam@xxxxxxxx>
Date: Tue, 17 Jan 2006 00:51:00 +0100 (CET)
free dj template
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

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.