Toon posts:

[xslt] variabele (of attribuutwaarde) als elementnaam

Pagina: 1
Acties:

Verwijderd

Topicstarter
Is het mogelijk om een variabele te gebruiken als elementnaam?
Ik heb nu dit, maar dat werkt niet:

code:
1
2
3
4
5
6
7
8
9
...
<xsl:variable name="name">
   <xsl:value-of select="'test'"/>
</xsl:variable>
...

<xsl:element name="$name">
...
</xsl:element>



Waar dit voor dient:

ik heb een xml-bestand, waarvan de waarde van attributen moeten worden omgezet naar nieuwe elementen.

code:
1
<member id="klant">10000</member>

moet worden:

code:
1
<klant>10000</klant>

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
XML:
1
2
3
        <xsl:element name="{$name}">

        </xsl:element>


Alleen wel een beetje typisch transformatie...id attributen geven doorgaans een unieke waarde aan een element. Dat impliceert dus dat er maar 1 <klant> element kan bestaan. En een aspect van xml-elementen is vaak juist dat er meer dan 1 van kunnen zijn. Bestaat er maar 1 van (zoals <html> en <body> in xhtml), dan is het doorgaans nooit nodig deze dynamisch te genereren, omdat er toch maar 1 van is ;)

Verwijderd

Topicstarter
Ik krijg hierbij de foutmelding "Not a QName".
Als ik de variabele weergeef, krijg ik wel netjes de waarde.

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
gebeurt dat ook al bij "klant"? of heb je ook id's die andere dan alfanumerieke karakters bevatten?

Verwijderd

Topicstarter
probleem opgelost, er zat een id tussen met een spatie erin