Ver Mensaje Individual
  #13 (permalink)  
Antiguo 09/02/2004, 05:32
Avatar de Helbira
Helbira
 
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 23 años, 4 meses
Puntos: 5
Creo que no entendí lo que te pasa realmente (es lunes, jeje) porque he creado un pequeño ejemplo y no me pasa los espacios en blanco del valor de un atributo a saltos de linea.

El ejemplo que creé fue el siguiente:

mundo.xml:

Código PHP:
<?xml version="1.0"?>
<?xml
-stylesheet type="text/xsl" href="C:\Documents and Settings\encarretero\Escritorio\mundo.xsl"?>
<greeting saludo="Hola Mundo"/>
mundo.xsl:

Código PHP:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!-- <xsl:strip-space elements="*" /> -->
<!-- <xsl:preserve-space elements="*" /> -->
<xsl:template match="/">
  <html>
  <body>
  <xsl:for-each select="greeting">
    <p>
    <xsl:value-of select="@saludo" />
    </p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
A mi me mantiene perfectamente el espacio en blanco que existe en el atributo saludo incluso sin utilizar <xsl:preserve-space /> eso es porque según he leído en el manual de w3schools es la opción por defecto.

Pero voy más allá, si uso <xsl:strip-space /> también me mantiene correctamente los espacios.

Fíjate en la nota del enlace que te pongo de w3schools. Dice que <xsl:preserve-space /> y <xsl:strip-space /> deben ser elementos de primer nivel en el archivo xsl.

Fíjate también que el * hace referencia a todos los elementos de tu archivo XML.