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

Concatenar y Separar

Estas en el tema de Concatenar y Separar en el foro de Programación General en Foros del Web. Tenemos la siguiente instancia xml: <fechas> <fecha tipo="emision"> <dia>14</dia> <mes>10</mes> <año>2008</año> </fecha> </fechas> Queremos realizar una transformacion XSL para crear una nueva instancia XML, de ...
  #1 (permalink)  
Antiguo 09/12/2008, 06:32
 
Fecha de Ingreso: agosto-2008
Mensajes: 29
Antigüedad: 15 años, 8 meses
Puntos: 0
Concatenar y Separar

Tenemos la siguiente instancia xml:

<fechas>
<fecha tipo="emision">
<dia>14</dia>
<mes>10</mes>
<año>2008</año>
</fecha>
</fechas>

Queremos realizar una transformacion XSL para crear una nueva instancia XML, de la siguiente manera:

<fechas>
<fecha>14/10/2008</fecha>
</fechas>

No sabemos como concatenar las fechas y que aparezcan las barras invertidas para separar dia mes y año.


Del mismo modo pero a la inversa tenemos:

<nombre>Guillermo Frontera Sánchez</nombre>

Y pasandolo a la nueva instancia queremos:

<cliente>
<nombre>Guillermo</nombre>
<apellidos>Frontera Sanchez</apellidos>
</cliente>

No sabemos como procesar el nombre completo para separarlo en nombre y apellidos, que funcion usamos?? como lo tratamos??

Gracias
  #2 (permalink)  
Antiguo 09/12/2008, 07:36
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Concatenar y Separar

Para lo primero no tienes más que colocar las cariables como desees

<fecha><xsl:value-of select="dia" />/<xsl:value-of select="mes" />/<xsl:value-of select="ano" /></fecha>

y para lo segundo tienes un montón de funciones de String, seguramente haya una tipo SPLIT para poder separar un string por un espacio en blanco (se entiende ?)

Saludos
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 10/12/2008, 06:46
 
Fecha de Ingreso: agosto-2008
Mensajes: 29
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Concatenar y Separar

Pues no se muy bien como podriamos hacer lo segundo, como tratamos Guillermo Frontera sanchez con xsl a <nombre>Guillermo</nombre><apellidos>Frontera Sanchez</apellidos>
  #4 (permalink)  
Antiguo 10/12/2008, 09:05
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Concatenar y Separar

Checkea las funciones

substring-before y substring-after

__________________
Esteban Quintana
  #5 (permalink)  
Antiguo 11/12/2008, 14:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 29
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Concatenar y Separar

oK, ya las he chekeado pero no consigo que me devuelva nada de nada, hago lo siguiente y no se si esta bien:

<cliente>
<nombre>Mario Hernandez Rodriguez<nombre>
</cliente>

bueno pues para conseguir solo Mario y separar nombre y apellidos hago:

....
<xsl:element name="nombre">
<xsl:value-of select ="substring-before('/cliente/nombre',' ')">
</xsl:value-of>
</xsl:element>

Referencio con la ruta de donde se encuente el nombre y cojo el substring que hay hasta la primera aparicion del espacion en blanco. Pero luego se lo aplico y no consigo nada, ¿que ocurre???
  #6 (permalink)  
Antiguo 13/12/2008, 12:40
 
Fecha de Ingreso: agosto-2008
Mensajes: 29
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Concatenar y Separar

alguien me puede decir co hacerlo??
  #7 (permalink)  
Antiguo 15/12/2008, 10:56
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Concatenar y Separar

Hola Mario19_86

Viendo lo que compartes no veo el problema, ¿podrías dejar un código completo y su resultado exacto? ...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 05:15.