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

    [xml,xsl,xpath]dubbi for-each

    Quando io faccio una for-each mi ritrovo con un array di nodi
    e lui continua a ciclare count() volte l' XPATH assegnato, giusto?

    chiedo questo perche' sono all'interno di 3 for-each annidate e solo la piu' interna non mi funziona, mi cicla solo una volta..

    ho una struttura tipo
    codice:
    <ext>
    <esternissimo>
    <z>
     <esterno>
      <interno></interno>
     </esterno>
     <esterno>
      <interno></interno>
     </esterno>
    </z>
    </esternissimo>
    <esternissimo>
    <z>
     <esterno>
      <interno></interno>
     </esterno>
     <esterno>
      <interno></interno>
     </esterno>
    </z>
    </esternissimo>
    </ext>
    la prima for-each e' piu' o meno :
    codice:
    <xsl:if test="count(/root/ext/esternissimo) &gt; 0" >
    	<xsl:for-each select="/root/ext/esternissimo">
    ..
    la seconda e' similare:
    codice:
    <xsl:if test="count(z/esterno) &gt; 0" >
    	<xsl:for-each select="z/esterno">
    ..
    la terza non funzionante e' l'unica che non puo' avere un tag che racchiude gli altri del for-each:
    codice:
    <xsl:if test="count(./interno) &gt; 0" >
    			<xsl:for-each select="./interno">
    come risolvo?

  2. #2
    ho trovato la soluzione:
    al posto di usare l'ultimo for-each uso un
    codice:
    <xsl:apply-template select="interno"/>
    e poi definisco da qualche parte
    codice:
    <xsl:template match="interno">
    
    ..fate vobis..
    
    </template>
    cosi' funziona,
    ma non capisco perche' nonostante la count("interno")
    ritornasse 4 la for-each ciclava solamente una volta..

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.