Visualizzazione risultati 1 fino 3 di 3

Discussione: XSL: perché apply-templates non funziona?

  1. #1
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito XSL: perché apply-templates non funziona?

    Mi trovo a che fare con questi due file:

    File test.xml
    Codice:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="http://localhost/metamorph/mhx/0.1/format.xsl"?>
    <!DOCTYPE mhx SYSTEM "http://localhost/metamorph/mhx/0.1/syntax.dtd">
    <mhx xmlns="http://metamorph.altervista.org/metamorph/mhx/0.1/">
    <b>Quel ramo del lago di Como</b>, che volge a mezzogiorno, tra due catene non 
    interrotte di monti, tutto a seni e golfi, a seconda dello sporgere e del 
    rientrare di quelli, vien, quasi a un tratto, a ristringersi, e a prender 
    corso e figura di fiume, tra un promontorio a destra, e un'ampia costiera 
    dall'altra parte; e il ponte, che ivi congiunge le due rive, par che renda 
    ancor piu' sensibile all'occhio questa <b>trasformazione</b>, e segni il punto in 
    cui il lago cessa, e l'Adda ricomincia, per ripigliar poi il nome di lago 
    dove le rive, allontandosi di nuovo, lascian l'acqua distendersi e 
    rallentarsi in nuovi golfi e nuovi seni.
    </mhx>
    File format.xsl
    Codice:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" />
    <xsl:template match="/">
    	<html>
    		<head>
    			<title>Perché non funzioni?</title>
    		</head>
    		<body>
    			<xsl:apply-templates />
    		</body>
    	</html>
    </xsl:template>
    
    <xsl:template match="b">
    	<span style="font-weight:bold">
    		<xsl:apply-templates />
    	</span>
    </xsl:template>
    </xsl:stylesheet>
    Quando modifico il file format.xsl, le modifiche vengono riproposte sul file XML solo quando ad essere modificato è il template principale (match="/"). I template interni, invece, vengono completamente ignorati: alcune parole dovrebbero comparire in grassetto, questo non succede mai (il risultato è sempre il testo dove i tag interni vengono eliminati).

    Ci deve essere qualcosa che sbaglio, anche se ho guardato più volte il codice e mi sembra corretto... qualche idea?

    Grazie a chi risponde... statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  2. #2
    Guest

    Predefinito

    Codice:
    <xsl:template match="/">
    	<html>
    		<head>
    			<title>Perché non funzioni?</title>
    		</head>
    		<body>
    			<xsl:apply-templates />
    		</body>
    	</html>
    </xsl:template>
    Non vedo template interni.

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Per "template interno" intendevo quello seguente, che dovrebbe essere applicato con la "chiamata" ad apply-templates e, in questo caso, trasformare quello che c'è nei tag <b> in grassetto. Però non funziona... come scritto sopra, le modifiche vengono accettate solo sul template principale (quello sopra).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •