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

xsl

Estas en el tema de xsl en el foro de Programación General en Foros del Web. Hola <?xml version='1.0' encoding='ISO-8859-1'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:param name="poblacion"/> <xsl:template match='/'> <HTML> <HEAD><TITLE>Okendo1.xsl</TITLE></HEAD> <BODY> <CENTER><H1>Listado de pisos</H1></CENTER> <br/> <h2><xsl:value-of select='$poblacion'/></h2> <TABLE BORDER='2'> <TR> <TH>Tipo</TH> <TH>Compra</TH> ...
  #1 (permalink)  
Antiguo 13/04/2005, 03:31
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años, 1 mes
Puntos: 0
xsl

Hola
<?xml version='1.0' encoding='ISO-8859-1'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:param name="poblacion"/>
<xsl:template match='/'>
<HTML>
<HEAD><TITLE>Okendo1.xsl</TITLE></HEAD>
<BODY>
<CENTER><H1>Listado de pisos</H1></CENTER>
<br/>
<h2><xsl:value-of select='$poblacion'/></h2>
<TABLE BORDER='2'>
<TR>
<TH>Tipo</TH>
<TH>Compra</TH>
<TH>Poblacion</TH>
<TH>Barrio</TH>
<TH>Descripcion</TH>
<TH>Precio en euros</TH>
<TH>Precio en pts</TH>
</TR>
<xsl:for-each select="okendo/inmueble">
<xsl:if test="poblacion=$poblacion">
<TR>
<TD><xsl:value-of select='tipo'/></TD>
<TD><xsl:value-of select='compra'/></TD>
<TD><xsl:value-of select='poblacion'/></TD>
<TD><xsl:value-of select='barrio'/></TD>
<TD><xsl:value-of select='descripcion'/></TD>
<TD><xsl:value-of select='precio_euros'/></TD>
<TD><xsl:value-of select='precio_pts'/></TD>
</TR>
</xsl:if>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>


La primera tabla me sale pero la tabla que viene despues del if no aparece lo salta. No se que escribo mal. Si alguien me puede ayudar, responder por favor. URGENTEEEEEEEE. GRACIASSSSSSS
  #2 (permalink)  
Antiguo 13/04/2005, 12:26
 
Fecha de Ingreso: abril-2004
Ubicación: Juli - Puno - Perú
Mensajes: 51
Antigüedad: 20 años
Puntos: 0
Hola Gica,
Podrías indicarnos la estructura del XML que estás usando??, para determinar qué código no acepta tu instrucción if.
Saludos
iuav
__________________
Juli - La Pequeña Roma Aymara
  #3 (permalink)  
Antiguo 15/04/2005, 03:04
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta estructura xml

Hola
Es largo pero con ver el primer registro es suficiente porque solo cambia los datos. Por eso lo he acortado.
<?xml version='1.0' encoding='ISO-8859-1'?>
<?xml-stylesheet type="text/xsl" href="okendo1.xsl" ?>
<okendo>

<inmueble id='1' >
<tipo>Piso</tipo>
<compra>Venta</compra>
<poblacion>Donostia - San Sebastian</poblacion>
<barrio>Ayete</barrio>
<descripcion>No hay ningún piso en estos momentos</descripcion>
<precio_euros>840.214,92</precio_euros>
<precio_pts>139.800.000</precio_pts>
</inmueble>
.
.
.
<inmueble id='198' >
<tipo>Local</tipo>
<compra>Venta</compra>
<poblacion>Oiartzun</poblacion>
<barrio>Sin barrio</barrio>
<descripcion>No hay ningún piso en estos momentos</descripcion>
<precio_euros>300.506,05</precio_euros>
<precio_pts>50.000.000</precio_pts>
</inmueble>
<inmueble id='199' >
<tipo>Local</tipo>
<compra>Venta</compra>
<poblacion>Donostia - San Sebastian</poblacion>
<barrio>Parte Vieja</barrio>
<descripcion>No hay ningún piso en estos momentos</descripcion>
<precio_euros>123.808,49</precio_euros>
<precio_pts>20.600.000</precio_pts>
</inmueble>
<inmueble id='200' >
<tipo>Hostelería</tipo>
<compra>Venta</compra>
<poblacion>Donostia - San Sebastian</poblacion>
<barrio>Parte Vieja</barrio>
<descripcion>No hay ningún piso en estos momentos</descripcion>
<precio_euros>372.627,50</precio_euros>
<precio_pts>62.000.000</precio_pts>
</inmueble>
<inmueble id='201' >
<tipo>Local</tipo>
<compra>Venta</compra>
<poblacion>Pasajes de San Juan</poblacion>
<barrio>Sin barrio</barrio>
<descripcion>No hay ningún piso en estos momentos</descripcion>
<precio_euros>39.065,79</precio_euros>
<precio_pts>6.500.000</precio_pts>
</inmueble>
<inmueble id='202' >
<tipo>Local</tipo>
<compra>Venta</compra>
<poblacion>Renteria</poblacion>
<barrio>Sin barrio</barrio>
<descripcion>No hay ningún piso en estos momentos</descripcion>
<precio_euros>57.100,00</precio_euros>
<precio_pts>9.500.641</precio_pts>
</inmueble>
<inmueble id='203' >
<tipo>Local</tipo>
<compra>Alquiler</compra>
<poblacion>Donostia - San Sebastian</poblacion>
<barrio>Trincherpe</barrio>
<descripcion>No hay ningún piso en estos momentos</descripcion>
<precio_euros>210,35</precio_euros>
<precio_pts>35.000</precio_pts>
</inmueble>
<inmueble id='204' >
<tipo>Local</tipo>
<compra>Venta</compra>
<poblacion>Donostia - San Sebastian</poblacion>
<barrio>Trincherpe</barrio>
<descripcion>No hay ningún piso en estos momentos</descripcion>
<precio_euros>168.283,38</precio_euros>
<precio_pts>28.000.000</precio_pts>
</inmueble>
<inmueble id='205' >
<tipo>Pabellón</tipo>
<compra>Venta</compra>
<poblacion>Zarautz - Getaria - Orio</poblacion>
<barrio>Sin barrio</barrio>
<descripcion>No hay ningún piso en estos momentos</descripcion>
<precio_euros>156.263,15</precio_euros>
<precio_pts>26.000.000</precio_pts>
</inmueble>
<inmueble id='206' >
<tipo>Solar</tipo>
<compra>Venta</compra>
<poblacion>Zumarraga - Urretxu</poblacion>
<barrio>Sin barrio</barrio>
<descripcion>No hay ningún piso en estos momentos</descripcion>
<precio_euros>21.035,42</precio_euros>
<precio_pts>3.500.000</precio_pts>
</inmueble>

</okendo>

A ver si sabeis porque no me sale esta informacion.
Gracias
  #4 (permalink)  
Antiguo 15/04/2005, 16:47
 
Fecha de Ingreso: abril-2004
Ubicación: Juli - Puno - Perú
Mensajes: 51
Antigüedad: 20 años
Puntos: 0
Hola gica,
Según tu definición del XSL,
<xsl:param name="poblacion"/>
Entiendo que el parámetro lo estás pasando desde JavaScript ó ASP que el usuario elige de una página html, ya que de otra manera éste parámetro tiene valor de una cadena vacía y nunca se provcesaría tu instrucción xsl:if.
Si no lo estás pasando el parámetro puedes usar el siguiente código en JavaScript o algo parecido en ASP.
Código:
function outputgroup(subject){
 try {
  var xslt = new ActiveXObject("Msxml2.XSLTemplate");
  var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
  var xslProc;
  xslDoc.async = false;
  xslDoc.resolveExternals = false;
  xslDoc.load("okendo.xsl");
  xslt.stylesheet = xslDoc;
  var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
  xmlDoc.async = false;
  xmlDoc.resolveExternals = false;
  xmlDoc.load("okendo.xml");
  xslProc = xslt.createProcessor();
  xslProc.input = xmlDoc;
  xslProc.addParameter("poblacion", subject);
  xslProc.transform();
  document.write(xslProc.output);
  document.close();
 }
 catch(e) {
   alert("Unable to do xml/xsl processing");
 }
En éste código la instrucción
xslProc.addParameter("poblacion", subject);
está agregando el parámetro que puede ser una elección de varias poblaciones y el XSL procesará solamente ese grupo de elementos con la condiciones que fijes.
Por otro lado sino es lo que quieres de lo anterior podrías definir el parámetro inicial como la siguiente.
<xsl:param name="poblacion">Donostia - San Sebastian</xsl:param>
Y con todo lo que he explicado me ha duncionado de manera correcta.
Saludos
__________________
Juli - La Pequeña Roma Aymara
  #5 (permalink)  
Antiguo 18/04/2005, 01:24
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años, 1 mes
Puntos: 0
GRACIAS IUAV!!!!!!!!!!
Me a ejecutado sin problemas!!!! Muchas gracias de verdad!!
  #6 (permalink)  
Antiguo 18/04/2005, 01:29
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años, 1 mes
Puntos: 0
Exclamación

Pero una pregunta mas yo e puesto lo del parametro y ahora que tengo que crear por cada poblacion un parametro?????
Yo asi lo entiendo.
IUAV cuando puedas me contestas bale?
Por si no te acuerdas tengo puesto:
<xsl:param name="poblacion">Donostia - San Sebastian</xsl:param>
Bueno espero tu respuestas
  #7 (permalink)  
Antiguo 18/04/2005, 02:41
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años, 1 mes
Puntos: 0
Exclamación

Aber iuav
Eske yo no quiero pasar los parametros por javascript o asp, yo kiero pasar los parametros por HTML a XSL.Entonces por eso e puesto xsl:param pero lo que no se si aora tengo que crear un parametro por cada poblacion. Espero que no!
Ale aber si podeis resolver mi problema.
Gracias
  #8 (permalink)  
Antiguo 21/04/2005, 01:22
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años, 1 mes
Puntos: 0
Exclamación Urgente

HOlaaaaaaaaa
No hay nadie que me pueda ayudar??????Necesito una respuesta por favor.Eske sin esto no puedo seguir a adelante porque todo lo demas ya tengo hecho.Por favor responderme lo mas rapido que podais.
Gracias
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 04:40.