2008-09-17 66 views
5

que tienen una hoja XSLT con un texto similar a continuación:¿Cómo formateo texto entre xsl: etiquetas de texto?

me gustaría un poco de texto a ser audaz, pero esto no funciona.

<xsl:text>I am some text, and I want to be <strong>bold<strong></xsl:text> 

La etiqueta b obsoleta tampoco funciona. ¿Cómo formateo el texto dentro de una etiqueta xsl: text?

+0

BeerDNA, ¿acabas de editar esta pregunta para quitar los corchetes angulares que muestran mal? –

+0

Olvidé poner las etiquetas de código alrededor y todo estaba distorsionado y el formateo fue terrible durante los primeros 90 segundos de vida. Discúlpese con aquellos que hicieron clic rápidamente y vieron la basura. – BrewinBombers

Respuesta

7

No es así. xsl:text solo puede contener nodos de texto y <strong> es un nodo de elemento, no una cadena que comienza con un carácter menor que; XSLT trata de crear árboles de nodos, no de marcado. Por lo tanto, usted tiene que hacer

<xsl:text>I am some text, and I want to be </xsl:text> 
<strong>bold<strong> 
<xsl:text> </xsl:text> 
4

Prueba esto:

<fo:inline font-weight="bold"><xsl:text>Bold text</xsl:text></fo:inline> 
+0

El póster quería generar un elemento fuerte, no usar XSL FO. Además de eso, esto no funciona. xsl: el texto solo puede crear nodos de texto. – jelovirt

+0

Bueno, el cartel no dice nada sobre XSL: FO, pero tiene razón xsl: el texto debe estar dentro de fo: en línea – aku

+2

Esto funcionó: Número de catálogo: Cristy

3

< xsl: text disable-output-escaping = "sí" > Quiero ser <fuerte> negrita <fuerte> </xsl: text >

0

formato XSL-FO debería ser capaz de hacer eso, ver el W3Schools tutorial.

+1

El problema no es tratar de generar HTML, el problema es el uso incorrecto de xsl: text. – jelovirt

0

Sin embargo, no creo que [usar disable-output-escaping] esta solución sea la mejor manera de ir. Quizás pueda obtener más información del curso acelerado de w3schools sobre XLS.

¿Podría ser más específico acerca de por qué? Ese enlace a un curso acelerado es bueno, pero no ayuda con el problema particular que el que pregunta quiere resolver. Siento que usar XSL-FO puede ser demasiado complejo para sus necesidades.

0

La respuesta para esto depende de la cantidad de formato que se necesita en el contenido y también donde se obtiene el contenido de. Si tiene menos contenido y menos de formato, puede utilizar lo jelovirt sugirió

<xsl:text>I am some text, and I want to be </xsl:text> 
<strong>bold<strong> 
<xsl:text> </xsl:text> 

Sin embargo, si su contenido tiene formato grande, entonces lo que David Medinets sugiere que es mejor manera de hacerlo

<xsl:text disable-output-escaping="yes"> 

Tenemos algunas instrucciones para imprimir en UI. El conjunto de instrucciones es enorme y, por supuesto, las leemos del archivo XML.

En tales casos, el método anterior es fácil de usar y mantener también. Eso es porque el contenido es proporcionado por escritores técnicos. Ellos no tienen conocimiento de XSL. Ellos saben usar etiquetas HTML y pueden editar fácilmente el archivo XML.

Cuestiones relacionadas