Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    trasformazione che perde attributi

    sto effettuando tramite una pagina HTML una trasformazione XML/XSL
    che mi crea una pagina con un menu' a sinistra e una serie di span nascosti sulla destra, che tramite JS vado a mostrare o nascondere..

    fin qui tutto ok, ma se voglio applicare un foglio di stile xsl alla parte destra i span(o div) mi perdono l'attributo ID cosicche' il menu' JS non funziona piu'..

    c'e' un modo per non perdere l'attibuto ID(
    credo bisogna matchare (nel foglio di stile XSL)i vari span e div e controllare se contengono attributi, e ricrearli..

    )
    mi sembra troppo macchinosa come cosa..

  2. #2
    Non ho capito molto bene ma forse un xsl:copy-of del tag può essere la soluzione, infatti permette di copiare tutto il tag attributi compresi. Al massimo puoi usare xsl:copy-of select="@nome_attributo".

  3. #3
    ho trovato anch'io

    <xsl:copy-of select="." />

    ma faccio una cosa del genere:

    codice:
    <?xml version="1.0" encoding="utf-8" ?>
    <xsl:stylesheet
    	version="1.0"
    	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    	xmlns="http://www.w3.org/TR/REC-html40">
    <xsl:output media-type="screen" method="html" encoding="utf-8" omit-xml-declaration="yes" />
    
    <xsl:template match="/root">
    <xsl:apply-templates/>
    </xsl:template>
    
    <xsl:template match="span">
    <xsl:copy-of select="." />
    </xsl:template>
    
    <xsl:template match="div">
    <xsl:copy-of select="." />
    </xsl:template>
    
    
     
    <xsl:template match="hd2"><h1><xsl:value-of select="."/></h1></xsl:template>
    <xsl:template match="hd3"><h3><xsl:value-of select="."/></h3></xsl:template>
    </xsl:stylesheet>
    adesso JS funziona di nuovo, ma gli ultimi due match no..


  4. #4
    Ecco la soluzione!!

    sostituire a sopra i match a span e div con i seguenti:

    codice:
    <xsl:template match="span">
    <xsl:element name="span" >
        <xsl:copy-of select="./@*"/>
        <xsl:apply-templates />
    </xsl:element>    
    </xsl:template>
    
    <xsl:template match="div">
    <xsl:element name="div" >
        <xsl:copy-of select="./@*"/>
        <xsl:apply-templates />
    </xsl:element>    
    </xsl:template>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.