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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top