xsl-list
[Top] [All Lists]

RE: problem with valid Qnames

2005-07-25 03:10:04
Thank you Joe and Michael 

-----Message d'origine-----
De : Michael Kay [mailto:mike(_at_)saxonica(_dot_)com] 
Envoyé : lundi 25 juillet 2005 11:45
À : xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Objet : RE: [xsl] problem with valid Qnames

You want

<xsl:element name="{$name}">

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: Philippe LAPLANCHE 
[mailto:philippe(_dot_)laplanche(_at_)horus-si(_dot_)com] 
Sent: 25 July 2005 10:26
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] problem with valid Qnames


Hello

I'd like to transform this:

<?xml version="1.0" encoding="UTF-8"?>
<csvFile>
      <line>
              <value>Nom</value>
              <value>Prenom</value>
              <value>Sexe</value>
      </line>
      <line>
              <value>Burke</value>
              <value>Eric</value>
              <value>H</value>
      </line>
      <line>
              <value>Burke</value>
              <value>Jennifer</value>
              <value>F</value>
      </line>
      <line>
              <value>Burke</value>
              <value>Aidan</value>
              <value>H</value>
      </line>
</csvFile>

Into this :

<data>
      <line>
              <nom>Burke</nom>
              <prenom>Eric</nom>
              <sexe>H</nom>
      </line>
      <line>
            <nom>Burke</nom>
              <prenom>Jenifer
              ...
      </line>
...

I'm using this stylesheet :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

    <xsl:template match="/">
              <data>
                      <xsl:apply-templates select="*"/>
              </data>         
    </xsl:template>
    
      <xsl:template match="line">
              <xsl:if test="not(position()=1)">
                      <line>  
                              <xsl:apply-templates select="value"/>
                      </line>
              </xsl:if>
      </xsl:template>
      
      <xsl:template match="value">
              <xsl:variable name="pos" select="position()"/>
              <xsl:variable name="name"
select="//line[1]/value[$pos]"/>
              <xsl:element name="$name"><xsl:value-of
select="."/></xsl:element>
      </xsl:template>
</xsl:stylesheet>

But I get an error because $name is not a valid Qname

How do I solve this?

Philippe


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

---------------------------------------------------------------------------------------
Wanadoo vous informe que cet  e-mail a ete controle par l'anti-virus mail. 
Aucun virus connu a ce jour par nos services n'a ete detecte.







--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>