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

Ayuda con espacios en blanco en xsl!

Estas en el tema de Ayuda con espacios en blanco en xsl! en el foro de Programación General en Foros del Web. Hola, bueno en principio saludaros a todos que soy nuevecita por aki, os he leido muxo y me habeis servido muxo de ayuda, asi que ...
  #1 (permalink)  
Antiguo 11/01/2005, 04:10
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 10 meses
Puntos: 0
Ayuda con espacios en blanco en xsl!

Hola, bueno en principio saludaros a todos que soy nuevecita por aki, os he leido muxo y me habeis servido muxo de ayuda, asi que ahora queria haceros una preguntilla q me esta sacando de quicio

A ver si me explico, tengo un documento xsl que recoge los valores de un xml con el value-of.
Pero algunos de estos valores estan vacios, y al meterlos en una tabla kiero que se muestre un espacio en blanco o un guion o algo pq asi como está, no se muestra nada, ni siquiera la fila o columna de la tabla.

He intentado concatenar en el xsl lo que se recoge del value-of con un guion o un espacio en blanco pero no se como hacerlo, y tampoco se si se puede.


Me urge bastante, asi que agradeceria cualkier ayudita o sugerencia que me pudiera dar cualquier idea.


Saludos a todos y muxas gracias de antemano.
  #2 (permalink)  
Antiguo 11/01/2005, 04:18
 
Fecha de Ingreso: abril-2004
Ubicación: Sevilla
Mensajes: 100
Antigüedad: 20 años, 6 meses
Puntos: 0
Bueno, a ver como te lo explico, creo entender que cuando un nodo de tu xml esté vacío tu quieres poner un espacio en blanco o un guión, para eso tendras que preguntar si ese nodo está vacio o no, y tratarlo en consecuencia, un xsl:if te servirá.
  #3 (permalink)  
Antiguo 11/01/2005, 04:54
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 10 meses
Puntos: 0
ok, gracias, lo que pasa es que mi xsl se compone de unos cien value-of y con el if tendria que evaluarlos todos y proceder con todos ellos,no?, yo pensaba en que seria menos costoso concatenar lo que saque de un value-of con un espacio en blanco al final ,de forma que da = que el value-of tuviera algo o estuviera vacio ya ya que el espacio en blanco en el que esta lleno quedaria al final y no se veria y el que esta vacio contendria al menos un espacio en blanco.

Pero no se como concatenar esto,ni se si se puede hacer realmente.

Te lo agradezco mucho pq si no encuentro la forma de hacer como pensaba tendre que hacerlo con los if y hasta ahora no lo tenia mu claro.

Saludos!!
  #4 (permalink)  
Antiguo 11/01/2005, 05:04
 
Fecha de Ingreso: abril-2004
Ubicación: Sevilla
Mensajes: 100
Antigüedad: 20 años, 6 meses
Puntos: 0
Bueno, tu idea tb es buena y para ello puedes utilizar la funcion concat, te aconsejo que eches un vistazo al manual de referencia de xslt de la pagina www.zvon.org

Quizas aquí veas alguna función que te pueda servir.

Saludos.
  #5 (permalink)  
Antiguo 11/01/2005, 05:36
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 10 meses
Puntos: 0
wueno estoy en ello, pero he pensado tb en poner simplemente un espacio en codigo html despues de los value-of.
Alguien me puede explicar pq esto me da error??

<td class="TestEle" align="left" width="25%">
<P>&nbsp;</P><xsl:value-of select="Asignacion_NAF/Nombre_padre"/>
</td>

El problema está en esta sentecia <P>&nbsp;</P> pero no lo entiendo pq si yo cambio
&nbsp; por cualquier otro caracter no tengo problema.Que es lo q esta mal?
  #6 (permalink)  
Antiguo 11/01/2005, 05:39
 
Fecha de Ingreso: abril-2004
Ubicación: Sevilla
Mensajes: 100
Antigüedad: 20 años, 6 meses
Puntos: 0
para leer codigo html de un xml debes utilizar la sentencia xsl:copy-of, esto te tomará, si el contenido es html, como html, me explico si quieres poner un salto de linea <b/> con xsl:copy of te lo tomara como tal, sin embargo con value-of te lo tomara como un string
  #7 (permalink)  
Antiguo 11/01/2005, 05:47
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 10 meses
Puntos: 0
comor?
jeje, creo que te he entendido pero no se como usar esa sentencia, no la habia visto antes...se que es mucho pedir pero me puedes poner un ejemplillo de su utilizacion??

Jue, te voy a tener q dar mi puesto de trabajo a ti a este paso,jejeje...

Mil gracias y un saludin...
  #8 (permalink)  
Antiguo 11/01/2005, 06:02
 
Fecha de Ingreso: abril-2004
Ubicación: Sevilla
Mensajes: 100
Antigüedad: 20 años, 6 meses
Puntos: 0
se utiliza exactamente igual que el value-of, simplemente interpreta las etiquetas html como tales y no somo simples cadenas.

Bueno si en tu puesto de trabajo te pagan mas ke en el mio.....tendriamos ke hablarlo... a ver que porcentaje me llevo, :P

Saludos y pregunta pregunta, q pa eso estamos, aunque tampoco es ke sepamos tanto.
  #9 (permalink)  
Antiguo 11/01/2005, 06:12
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 10 meses
Puntos: 0
A ver, quieres decir que en el ejemplo anterior se deberia modificar con el copy-of para que quedara asi??

<td class="TestEle" align="left" width="25%">
<xsl:copy-of><p>&nbsp;</p></xsl:copy-of><xsl:value-of select="Asignacion_NAF/Nombre_padre"/>
</td>

o asi:

<td class="TestEle" align="left" width="25%">
<xsl:copy-of select="&nbsp;"></xsl:copy-of><xsl:value-of select="Asignacion_NAF/Nombre_padre"/>
</td>


He probado las dos y na, asi que supongo que te he entendido mal.
Siento insistir pero tampoco encuentro informacion en internet q me sea válida, la que he encontrado sobre el copy-of supongo que se refiere a otra función:

"Elemento xsl:copy-of. Se utiliza para copiar un conjunto de nodos del documento
origen, al documento resultado de la transformación"

Ains, q lio tengo....

No creo que me paguen aki mas q a ti....asi que el cambio tampoco te interesara, habra que entrar mas en el tema de los porcentajes,si.

Saludines!!
  #10 (permalink)  
Antiguo 11/01/2005, 06:17
 
Fecha de Ingreso: abril-2004
Ubicación: Sevilla
Mensajes: 100
Antigüedad: 20 años, 6 meses
Puntos: 0
seria asi, ya te he comentado ke es exactamente igual que el value-of.

<td class="TestEle" align="left" width="25%">
<xsl:copy-of select="Asignacion_NAF/Nombre_padre"/>
</td>

en serio mira la pagina que te he dado, te pude servir de mucha ayuda, yo la utilizaba en su momento bastante, y siempre que tenia alguna duda iba primero ahi, ya sea de utilizacion o de cualquier otra cosa....

saludos y de ke porcentaje tamos hablando.....

enga no te agobies y si tienes dudas sigue preguntando, que yo no es ke sea un buen profesor, :(
  #11 (permalink)  
Antiguo 13/01/2005, 16:14
 
Fecha de Ingreso: abril-2004
Ubicación: Juli - Puno - Perú
Mensajes: 51
Antigüedad: 20 años, 6 meses
Puntos: 0
Más facil era que pusieras de esta manera sin la etiqueta <P>. El texto que está antes de value-of te lo separo con puntos, debe ir sin puntos, es el equivalente de un espacio en blanco en XHTML.

Código:
<td class="TestEle" align="left" width="25%">
&.#.1.6.0.;.<xsl:value-of select="Asignacion_NAF/Nombre_padre"/>
</td>
By
__________________
Juli - La Pequeña Roma Aymara
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:34.