Mantener el formato de texto al transformar un archivo XML con XSLT

10/10/2005 - 22:52 por TECNICOS | Informe spam
Estoy subiendo a mi web un archivo XML mediante un archivo transformador XSL
y el webcontrol <asp:xml de .NET y funciona pero no encuentro la forma de
que el XSL respete los espacios, saltos de línea etc. que tiene el texto
original y mi pregunta es si conoceis alguna forma de hacer esto

un saludo y gracias a todos
 

Leer las respuestas

#1 Rodrigo Fraga
25/10/2005 - 05:23 | Informe spam
Hola:
Bueno personalmente me parece que eso no se puede, al menos no he encontrado
una sola página que lo haga. Así que me pregunté ¿Por que? y encontré la
respuesta; "Al igual que el HTML, se basa en documentos de texto plano en los
que se utilizan etiquetas para delimitar los elementos de un documento. Sin
embargo, XML define estas etiquetas en función del tipo de datos que está
describiendo y no de la apariencia final que tendrán en pantalla o en la
copia impresa, además de permitir definir nuevas etiquetas y ampliar las
existentes." Esto afirma mi creencia de que XML no es un sustituto de HTML al
contrario es un complemento del HTML.

¿y que con eso? ahi lo dice, esta en función del tipo de datos que esta
describiendo... En una forma sencilla, y probablemente incongruente pero
explicativa, es como una base de datos pero para datos pequeños. Así que te
recomiendo usar tu SQL Server o algo semejante para los textos grandes o a
mano =P.

Sin embargo, nada es imposible, si cambias tu XML y lo subdivides por
parrafos seria una forma poco ortodoxa pero funcional, asi utilizas tu XSL y
le das el formato desde ahi... a ver, a ver, ¿como?... Así:
Tu XML
<book>
<titulo></titulo>
<parrafo1></parrafo1>
<parrafo2></parrafo2>
</book>

En tu XSL así
<div class="content">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:
collapse" bordercolor="#C0C0C0" width="100%">
<tr>
<td width="100%" bgcolor="#F1F1F1" valign="top">
<center><span color="blue"> <xsl:value-of
select="titulo"/></span></center><br>
<p><xsl:value-of select="parrafo1"/></p>
<p><xsl:value-of select="parrafo2"/></p>
</td>
</tr>
</table>

Espero te ayude.
"TECNICOS" escribió:

Estoy subiendo a mi web un archivo XML mediante un archivo transformador XSL
y el webcontrol <asp:xml de .NET y funciona pero no encuentro la forma de
que el XSL respete los espacios, saltos de línea etc. que tiene el texto
original y mi pregunta es si conoceis alguna forma de hacer esto

un saludo y gracias a todos



Preguntas similares