¿Cómo le doy formato al texto entre xsl:etiquetas de texto?
-
09-06-2019 - |
Pregunta
Tengo una hoja xslt con un texto similar al siguiente:
<xsl:text>I am some text, and I want to be bold</xsl:text>
Me gustaría que algún texto estuviera en negrita, 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 le doy formato al texto dentro de una etiqueta xsl:text?
Solución
No lo haces. xsl:text
sólo puede contener nodos de texto y <strong>
es un nodo de elemento, no una cadena que comienza con un carácter menor que;XSLT se trata de crear árboles de nodos, no de marcado.Entonces, tienes que hacer
<xsl:text>I am some text, and I want to be </xsl:text>
<strong>bold<strong>
<xsl:text> </xsl:text>
Otros consejos
Prueba esto:
<fo:inline font-weight="bold"><xsl:text>Bold text</xsl:text></fo:inline>
<xsl:texto desactivar-salida-escaping="sí">Quiero ser <strong>negrita<strong> </xsl:text>
El formateo XSL-FO debería poder hacer eso, consulte W3Schools tutorial.
La respuesta depende de cuánto formato se necesita en el contenido y también de dónde se obtiene el contenido.Si tiene menos contenido y menos formato, puede usar lo que sugirió jelovirt
<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 un formato grande, lo que sugiere David Medinets es una mejor manera de hacerlo.
<xsl:text disable-output-escaping="yes">
Tenemos algunas instrucciones para imprimir en la interfaz de usuario.El conjunto de instrucciones es enorme y, por supuesto, las leemos desde un archivo XML.
En tales casos, el método anterior también es fácil de usar y mantener.Esto se debe a que el contenido lo proporcionan redactores técnicos.No tienen conocimiento de XSL.Saben usar etiquetas HTML y pueden editar fácilmente el archivo XML.