xslt – XSL only shows first values

This is my XML

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="practica4.xsl"?>
<paises>
    <pais id="p1">
        <nombre>España</nombre>
        <continente>Europa</continente>
        <capital>Madrid</capital>
        <superficie>504750</superficie>
        <poblacion>39181114</poblacion>
        <ciudades>
            <ciudad>Barcelona</ciudad>
            <ciudad>Valencia</ciudad>
            <ciudad>Sevilla</ciudad>
            <ciudad>Zaragoza</ciudad>
            <ciudad>Bilbao</ciudad>
        </ciudades>
        <lenguas>
            <lengua>Español</lengua>
            <lengua>Catalan</lengua>
            <lengua>Euskera</lengua>
            <lengua>Asturiano</lengua>
            <lengua>Gallego</lengua>
        </lenguas>
        <religiones>
            <religion>Catolicos romanos</religion>
        </religiones>
        <moneda>Euro</moneda>
        <gobierno>Monarquía Constitucional</gobierno>
    </pais>
    <pais id="p2">
        <nombre>Francia</nombre>
        <continente>Europa</continente>
        <capital>Paris</capital>
        <superficie>547030</superficie>
        <poblacion>58317450</poblacion>
        <ciudades>
            <ciudad>Bordeaux</ciudad>
            <ciudad>Cannes</ciudad>
            <ciudad>Lyon</ciudad>
            <ciudad>Marseille</ciudad>
            <ciudad>Nantes</ciudad>
            <ciudad>Strasbourg</ciudad>
        </ciudades>
        <lenguas>
            <lengua>Frances</lengua>
        </lenguas>
        <religiones>
            <religion>Catolicos romanos</religion>
            <religion>Protestantes</religion>
            <religion>Judios</religion>
            <religion>Musulmanes</religion>
        </religiones>
        <moneda>Euro</moneda>
        <gobierno>República</gobierno>
    </pais>
    <pais id="p3">
        <nombre>Alemania</nombre>
        <continente>Europa</continente>
        <capital>Berlin</capital>
        <superficie>356910</superficie>
        <poblacion>83536115</poblacion>
        <ciudades>
            <ciudad>Aschaffenburg</ciudad>
            <ciudad>Bonn</ciudad>
            <ciudad>Colonia</ciudad>
            <ciudad>Frankfurt</ciudad>
            <ciudad>Hamburg</ciudad>
            <ciudad>Hannover</ciudad>
            <ciudad>Munich</ciudad>
            <ciudad>Nuremberg</ciudad>
            <ciudad>Stuttgart</ciudad>
        </ciudades>
        <lenguas>
            <lengua>Aleman</lengua>
        </lenguas>
        <religiones>
            <religion>Protestantes</religion>
            <religion>Catolicos romanos</religion>
        </religiones>
        <moneda>Euro</moneda>
        <gobierno>República Federal</gobierno>
    </pais>
    <pais id="p4">
        <nombre>Italia</nombre>
        <continente>Europa</continente>
        <capital>Roma</capital>
        <superficie>301230</superficie>
        <poblacion>57460274</poblacion>
        <ciudades>
            <ciudad>Florencia</ciudad>
            <ciudad>Genova</ciudad>
            <ciudad>Milan</ciudad>
            <ciudad>Napoli</ciudad>
            <ciudad>Palermo</ciudad>
            <ciudad>Roma</ciudad>
            <ciudad>Turin</ciudad>
        </ciudades>
        <lenguas>
            <lengua>Italiano</lengua>
        </lenguas>
        <religiones>
            <religion>Catolicos romanos</religion>
        </religiones>
        <moneda>Euro</moneda>
        <gobierno>República</gobierno>
    </pais>
    <pais id="p5">
        <nombre>Suiza</nombre>
        <continente>Europa</continente>
        <capital>Ginebra</capital>
        <superficie>41290</superficie>
        <poblacion>7207060</poblacion>
        <ciudades>
            <ciudad>Basilea</ciudad>
            <ciudad>Lausanne</ciudad>
            <ciudad>Zurich</ciudad>
        </ciudades>
        <lenguas>
            <lengua>Aleman</lengua>
            <lengua>Frances</lengua>
            <lengua>Italiano</lengua>
        </lenguas>
        <religiones>
            <religion>Catolicos romanos</religion>
            <religion>Protestantes</religion>
        </religiones>
        <moneda>Franco Suizo</moneda>
        <gobierno>República Federal</gobierno>
    </pais>
    <pais id="p6">
        <nombre>Estados Unidos</nombre>
        <continente>America del Norte</continente>
        <capital>Washington</capital>
        <superficie>9372610</superficie>
        <poblacion>266476278</poblacion>
        <ciudades>
            <ciudad>Chicago</ciudad>
            <ciudad>Los Angeles</ciudad>
            <ciudad>New York</ciudad>
            <ciudad>San Francisco</ciudad>
        </ciudades>
        <lenguas>
            <lengua>Ingles</lengua>
            <lengua>Español</lengua>
        </lenguas>
        <religiones>
            <religion>Protestantes</religion>
            <religion>Catolicos romanos</religion>
            <religion>Judios</religion>
        </religiones>
        <moneda>Dolar</moneda>
        <gobierno>República Federal</gobierno>
    </pais>
</paises>

And this is my xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <html lang="es">
            <head>
                <meta charset="UTF-8"/>
                <title>Document</title>
            </head>
            <body>
                <xsl:for-each select="paises/pais">
                    <h2>
                        <xsl:value-of select="nombre"/>
                    </h2>
                    <ul>
                        <li>
                            <xsl:for-each select="ciudades">
                                <xsl:value-of select="ciudad"/>
                                <xsl:text> </xsl:text>
                            </xsl:for-each>
                        </li>
                    </ul>
                </xsl:for-each>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

I’m supposed to get and all the that are inside the , but I don’t know why it only shows this: España •Barcelona

Francia •Bordeaux

Alemania •Aschaffenburg

Italia •Florencia

Suiza •Basilea

Estados Unidos •Chicago

Any idea on how to solve it?? I think it’s something related with the “id” that are inside but I’ve tried with choose or with if but nothing works, it only shows the first of each.

Thanks in advance.

Leave a Comment