Ciao a tutti, ho la seguente lista in formato xml (che contiene un sottoinsieme di tag appartenenti ad xhtml):
Vorrei riuscire a trasformarlo in questo:codice:<opzioni> <ul> <li class="layout" id="layout_1.css">layout_1.css <ul> [*]carpa_11.css [*]carpa_12.css[/list] <li class="layout" id="layout_2.css">layout_2.css <ul> [*]carpa_21.css[*]carpa_22.css[/list] [/list] </opzioni>
Ho provato un po' di tutto, il tentativo che piu ci va vicino è questocodice:<select> <optgroup label="layout1.css"> <option value ="carpa_11.css">carpa_11.css</option> <option value ="carpa_12.css">carpa_11.css</option> </optgroup> <optgroup label="layout2.css"> <option value ="carpa_21.css">carpa_21.css</option> <option value ="carpa_22.css">carpa_22.css</option> </optgroup> </select>
(ma il problema è che optgroup non deve avere un nodo di testo al suo interno che ne definisca il nome, bensì un attributo "value" con tale valore.
Riesco a settare l'attributo in questione, ma non riesco a rimuovere il nodo di testo..):
codice:<xsl:template match="opzioni"> <div class="marcatore-poliwiki" id="opzioni" > <xsl:apply-templates select="./ul"/> </div> </xsl:template> <xsl:template match="opzioni/ul"> <div id="opzioni" class="marcatore-poliwiki"> <select> <xsl:apply-templates/> </select> </div> </xsl:template> <xsl:template match="opzioni/ul/li"> <optgroup> <xsl:apply-templates/> </optgroup> </xsl:template> <xsl:template match="opzioni/ul/li/ul"> <xsl:apply-templates/> </xsl:template> <xsl:template match="opzioni/ul/li/ul/li"> <option> <xsl:attribute name="value"> <xsl:value-of select="current()"/> </xsl:attribute> <xsl:apply-templates/> </option> </xsl:template>

Rispondi quotando