Visualizzazione dei risultati da 1 a 9 su 9

Discussione: XSL > XSL

  1. #1

    XSL > XSL

    Ciao,
    è possibile scrivere un foglio di stile XSL che converta un XML in un altro foglio di stile XSL? (A cosa mi serve? Per fare una trasformazione parziale lato server...)

  2. #2
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    Un file xsl è a tutti gli effetti un file xml quindi trasformi il tuo xml in un'altro xml utilizzando gli elementi per xsl, basta che poi lo salvi in formato xsl.


  3. #3
    Ok ma non so dove dichiarare il namespace, mi da errore...
    Potresti scrivere un piccolo esempio tanto per capire come devo dichiarare la parte iniziale del documento.

    Grazie mille!

  4. #4
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    Originariamente inviato da Diego++
    Ok ma non so dove dichiarare il namespace, mi da errore...
    Potresti scrivere un piccolo esempio tanto per capire come devo dichiarare la parte iniziale del documento.

    Grazie mille!

    lo dichiari nello stylesheet dell'xsl che effettua la trasformazione


    posta qualcosa

  5. #5
    Dunque, intanto non capisco una cosa:
    come faccio a far uscire un XML?
    <?xml version="1.0" encoding="UTF-8"?>

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xslutput method="xml" indent="yes" omit-xml-declaration="yes"/>

    <xsl:template match="persona">
    <xsl:element name="nome">
    <xsl:value-of select="nome"/>
    </xsl:element>
    </xsl:template>

    </xsl:stylesheet>

    oppure

    <?xml version="1.0" encoding="UTF-8"?>

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xslutput method="xml" indent="yes" omit-xml-declaration="yes"/>

    <xsl:template match="persona">
    <nome>
    <xsl:value-of select="nome"/>
    </nome>
    </xsl:template>

    </xsl:stylesheet>

    Il mio obiettivo sarebbe mettere al posto del tag <nome> un tag di XSL.

    Help me!

  6. #6
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    togli l'omit-xml-declaration

    <xsl:template math="Nome">

    <xsl:element name="xsl:template">
    <xsl:attribute name="match">Nodo</xsl:attribute>


    Ecco fatto</p>
    </xsl:element>

    </xsl:template>


    Risultato:

    <xsl:template match="Nodo">


    Ecco fatto</p>
    </xsl:template>

  7. #7
    Risultato:

    <xsl:template match="Nodo">


    Ecco fatto</p>
    </xsl:template>
    Ho fatto delle prove e volevo capire una cosa: se io apro un XML nel browser lui mi fa vedere tutti i nodi ecc. Se però trasformo l'XML in un altro XML tramite XSL quello che vedo sul browser non sono più tutti i nodi del nuovo XML ma solo il suo contentuto, un po' come se lo vedessi con un XSL privo di stili...
    Questo è normale?

    Ti ringrazio per l'aiuto!

  8. #8
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    Originariamente inviato da Diego++
    Ho fatto delle prove e volevo capire una cosa: se io apro un XML nel browser lui mi fa vedere tutti i nodi ecc. Se però trasformo l'XML in un altro XML tramite XSL quello che vedo sul browser non sono più tutti i nodi del nuovo XML ma solo il suo contentuto, un po' come se lo vedessi con un XSL privo di stili...
    Questo è normale?

    Ti ringrazio per l'aiuto!


    :master:


    mi suona strano, anche se lato client non l'hò mai fatto, il codice sorgente dell'xml generato comè ? privo dei nodi ? forse perchè ometti la dichiarazione dell'xml <?xml ......

    prova con browser diversi

  9. #9
    Ho verificato con Cooktop che la trasformazione funziona! Grazie! Non mi interessa se poi il browser non mi fa vedere la struttura del nuovo xml.


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 © 2026 vBulletin Solutions, Inc. All rights reserved.