salve a tutti, volevo chiedere come è possibile effettuare una trasformazione del genere:
il file xml è qualcosa di simile (tralascio le dichiarazioni iniziali)
e vorrei che con xsl mi desse il seguente outputcodice:<home> <musica> <cubase> <realpiano></realpiano> <realguitar></realguitar> <ezdrummer></ezdrummer> </cubase> <audacity></audacity> </musica> <grafica> <blender></blender> <gimp></gimp> </grafica> </home>
ho provato in diversi modi, sia con il foreach che i template ma niente da fare; sono riuscito a scorrere tutti gli elementi di home tramite questo ciclo, ma ovviamente non riesco a racchiudere i child-node nel tag <ul> del child-parentcodice:<ul> [*]musica <ul> [*]cubase <ul> [*]realpiano [*]realguitar [*]ezdrummer [/list] [*]audacity [/list] [*]grafica <ul> [*]blender [*]gimp [/list][/list]
il mio obbiettivo con questo ciclo era quello dio trasformare i nodi con i figli incodice:<xsl:for-each select="home//*"> <xsl:if test="count(./*) > 0"> [*]<xsl:value-of select="name()"/> <xsl:element name="ul"></xsl:element> </xsl:if> <xsl:if test="count(./*) = 0"> [*]<xsl:value-of select="name()" /> </xsl:if> </xsl:for-each>
[*]nodo
<ul>
e i nodi senza figli in
[*]nodo
e i nodi che sono ultimi figli in
[*]nodo[/list]
spero di essere stato chiaro.

Rispondi quotando
?
