Foros del Web » Programación para mayores de 30 ;) » Programación General »

una ayudita por favor

Estas en el tema de una ayudita por favor en el foro de Programación General en Foros del Web. pues na, que me han dicho que aqui me podiais ayudar a ver si me podiais decir como puedo poner el siguiente codigo pero de ...
  #1 (permalink)  
Antiguo 08/01/2004, 06:49
 
Fecha de Ingreso: enero-2004
Mensajes: 1
Antigüedad: 20 años, 10 meses
Puntos: 0
una ayudita por favor

pues na, que me han dicho que aqui me podiais ayudar a ver si me podiais decir como puedo poner el siguiente codigo pero de manera más optimizada

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title> PA_8 </title>
<center><h1>Alumnos matriculados de cada asignatura</h1></center>
</head>
<body>
<xsl:for-each select="matriculados/asignaturas/asignatura">
<xsl:sort select="curso"/>
<xsl:sort select="nombre"/>
<h2>Asignatura:<xsl:value-of select="nombre"/></h2>
<h3>Curso:<xsl:value-of select="curso"/></h3>
<xsl:call-template name="alumnos">
<xsl:with-param name="cod_asig"><xsl:value-of select="@cod_asig"/></xsl:with-param>
</xsl:call-template>
</xsl:for-each>
</body>
</html>
</xsl:template>
<xsl:template name="alumnos">
<xsl:param name="cod_asig"/>
<table border="1">
<tr bgcolor="silver">
<th>Nombre</th>
<th>Convocatoria</th>
</tr>
<xsl:for-each select="/matriculados/alumnos/alumno">
<xsl:variable name="alumn"><xsl:value-of select="nombre"/></xsl:variable>
<xsl:for-each select="matriculas/matricula">
<xsl:variable name="convocatori"><xsl:value-of select="@tipo"/></xsl:variable>
<xsl:if test="@cod_asig=$cod_asig">
<tr>
<th><xsl:value-of select="$alumn"/></th>
<xsl:choose>
<xsl:when test="$convocatori='O'">
<th>Ordinaria</th>
</xsl:when>
<xsl:otherwise>
<th>Extraordinaria</th>
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>



el xml sobre el que aplico el xsl anterior es el siguiente:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="PA_8.xsl"?>
<matriculados>
<asignaturas>
<asignatura cod_asig="B1" creditos="6" tipo="T">
<nombre>Sistemas Operativos I</nombre>
<curso>Primero</curso>
</asignatura>
<asignatura cod_asig="C1" creditos="9" tipo="T">
<nombre>Estructura y tecnología de computadores</nombre>
<curso>Primero</curso>
</asignatura>
<asignatura cod_asig="A2" creditos="12" tipo="T">
<nombre>Estructura de Datos y de la Informacion</nombre>
<curso>Segundo</curso>
</asignatura>
<asignatura cod_asig="B3" creditos="15" tipo="T">
<nombre>Metodología de la Programación</nombre>
<curso>Tercero</curso>
</asignatura>
<asignatura cod_asig="A1" creditos="6" tipo="O">
<nombre>Programas de Aplicación I</nombre>
<curso>Primero</curso>
</asignatura>
<asignatura cod_asig="B2" creditos="6" tipo="O">
<nombre>Programas de Aplicación II</nombre>
<curso>Segundo</curso>
</asignatura>
<asignatura cod_asig="C2" creditos="9" tipo="O">
<nombre>Sistemas Operativos II</nombre>
<curso>Segundo</curso>
</asignatura>
<asignatura cod_asig="D2" creditos="4,5" tipo="O">
<nombre>Trasmisión de datos</nombre>
<curso>Segundo</curso>
</asignatura>
<asignatura cod_asig="A3" creditos="4,5" tipo="O">
<nombre>Explotacion de Sistemas</nombre>
<curso>Tercero</curso>
</asignatura>
<asignatura cod_asig="C3" creditos="9" tipo="O">
<nombre>Teleinformática</nombre>
<curso>Tercero</curso>
</asignatura>
<asignatura cod_asig="D1" creditos="4,5" tipo="OP">
<nombre>Marketing</nombre>
<curso>Primero</curso>
</asignatura>
<asignatura cod_asig="D3" creditos="4,5" tipo="OP">
<nombre>Programación Avanzada</nombre>
<curso>Tercero</curso>
</asignatura>

</asignaturas>
<alumnos>
<alumno expediente="J11111">
<nombre>Juan Martín Marcos</nombre>
<matriculas>
<matricula cod_asig="A1" tipo="O"/>
<matricula cod_asig="B1" tipo="O"/>
<matricula cod_asig="C1" tipo="O"/>
<matricula cod_asig="D1" tipo="O"/>
</matriculas>
</alumno>
<alumno expediente="L11112">
<nombre>Luis López González</nombre>
<matriculas>
<matricula cod_asig="A1" tipo="EX"/>
<matricula cod_asig="A2" tipo="O"/>
<matricula cod_asig="B2" tipo="O"/>
<matricula cod_asig="C2" tipo="O"/>
<matricula cod_asig="D2" tipo="O"/>
</matriculas>
</alumno>
<alumno expediente="M11113">
<nombre>María Isabel Lucas Benito</nombre>
<matriculas>
<matricula cod_asig="A3" tipo="O"/>
<matricula cod_asig="B3" tipo="O"/>
<matricula cod_asig="C3" tipo="O"/>
<matricula cod_asig="D3" tipo="O"/>
</matriculas>
</alumno>
<alumno expediente="A21111">
<nombre>Arturo Marcos Ramírez</nombre>
<matriculas>
<matricula cod_asig="A1" tipo="EX"/>
<matricula cod_asig="B2" tipo="O"/>
<matricula cod_asig="C2" tipo="O"/>
<matricula cod_asig="D3" tipo="O"/>
</matriculas>
</alumno>
<alumno expediente="F111185">
<nombre>Felipe Montes Verdes</nombre>
<matriculas>
<matricula cod_asig="A3" tipo="O"/>
<matricula cod_asig="B3" tipo="O"/>
<matricula cod_asig="C3" tipo="O"/>
<matricula cod_asig="D1" tipo="O"/>
<matricula cod_asig="D2" tipo="EX"/>
</matriculas>
</alumno>
<alumno expediente="M111154">
<nombre>María Merino Madroñal</nombre>
<matriculas>
<matricula cod_asig="A2" tipo="O"/>
<matricula cod_asig="B2" tipo="O"/>
<matricula cod_asig="C1" tipo="O"/>
<matricula cod_asig="D1" tipo="EX"/>
</matriculas>
</alumno>
<alumno expediente="J11188">
<nombre>Julio Gutiérrez Rasamayet</nombre>
<matriculas>
<matricula cod_asig="A2" tipo="O"/>
<matricula cod_asig="B2" tipo="O"/>
<matricula cod_asig="C1" tipo="EX"/>
</matriculas>
</alumno>
<alumno expediente="V11125">
<nombre>Vicente Ramírez Sañudo</nombre>
<matriculas>
<matricula cod_asig="D2" tipo="O"/>
<matricula cod_asig="A1" tipo="EX"/>
<matricula cod_asig="A2" tipo="O"/>
<matricula cod_asig="C3" tipo="O"/>
</matriculas>
</alumno>
<alumno expediente="A11170">
<nombre>Antonia Cifuentes López</nombre>
<matriculas>
<matricula cod_asig="A3" tipo="EX"/>
<matricula cod_asig="B3" tipo="EX"/>
</matriculas>
</alumno>
<alumno expediente="S11100">
<nombre>Sebastián Ramos Periñal</nombre>
<matriculas>
<matricula cod_asig="B1" tipo="EX"/>
<matricula cod_asig="D3" tipo="O"/>
</matriculas>
</alumno>
<alumno expediente="S11002">
<nombre>Saúl Sánchez Gonzalo</nombre>
<matriculas>
<matricula cod_asig="A2" tipo="O"/>
<matricula cod_asig="B2" tipo="EX"/>
<matricula cod_asig="D2" tipo="O"/>
</matriculas>
</alumno>
<alumno expediente="P10115">
<nombre>Paloma Vicente Romero</nombre>
<matriculas>
<matricula cod_asig="A3" tipo="EX"/>
</matriculas>
</alumno>
</alumnos>
</matriculados>
  #2 (permalink)  
Antiguo 09/01/2004, 07:34
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 23 años, 1 mes
Puntos: 5
A que te refieres con más optimizada? A usar match templates?
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:25.