Come da titolo vorrei sapere come e' possibile eivitare la ricorsione con XSLT.
Per intenderci meglio ho questi due semplici file di prova.
L'xml:

Codice:

codice:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="business_card.xsl"?>

<card xmlns="http://businesscard.org">
	 <name>John Doe<x>Ciao<y>Riciao</y></x></name>
	 <name>Un altro nome</name>
  <title>CEO, Widget Inc.</title>
  <email>john.doe@widget.inc</email>
  <phone>(202) 456-1414</phone>
  <logo uri="widget.gif"/>
</card>
e il .xst

Codice:

codice:
<xsl:stylesheet version="2.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:b="http://businesscard.org"
                xmlns="http://www.w3.org/1999/xhtml">

  <xsl:template match="b:card">
    <html>
      <head>
        <title><xsl:value-of select="b:name"/></title>
      </head>
      <body bgcolor="#ffffff">
        <table border="3">
          <tr>
            <td>
		     <xsl:apply-templates select="b:name[1]"/>

		     <xsl:apply-templates select="b:title"/>


              <tt><xsl:apply-templates select="b:email"/></tt>
 
              <xsl:if test="b:phone">
                Phone: <xsl:apply-templates select="b:phone"/>

              </xsl:if>
            </td>
            <td>
              <xsl:if test="b:logo">
		       [img]{b:logo/@uri}[/img]
              </xsl:if>
            </td>
          </tr>
        </table>
      </body>
    </html>
  </xsl:template> 

  <xsl:template match="b:name|b:title|b:email|b:phone">
    <xsl:value-of select="."/>
  </xsl:template>

 

</xsl:stylesheet>
In pratica trasformo il file xml in uno xhtml che questa volta il browser e' in grado di visualizzare. Ok.
Ma quando applico il template per il tag b:name vorrei venisse visualizzato solo John Doe e invece come e' giusto che sia(per via della ricorsione) viene visualizzato anche il contenuto dei tag x e y.

Come posso evitare questo? Credo che per chi conosce bene il linguaggio sara' una cosa facile.

Grazie dell'attenzione