Domanda

Ho un foglio xslt con un testo simile al seguente:

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

Vorrei che alcuni testi fossero in grassetto, ma questo non funziona.

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

Anche il tag b deprecato non funziona.Come formatto il testo all'interno di un tag xsl:text?

È stato utile?

Soluzione

Tu no. xsl:text può contenere solo nodi di testo e <strong> è un nodo elemento, non una stringa che inizia con un carattere minore di;XSLT riguarda la creazione di alberi di nodi, non il markup.Quindi, devi fare

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

Altri suggerimenti

Prova questo:

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

<xsl:testo disabilita-output-escaping="sì">Voglio essere <strong>audace<strong> </xsl:text>

La formattazione XSL-FO dovrebbe essere in grado di farlo, vedere W3Schools tutorial.

La risposta dipende da quanta formattazione è necessaria nel contenuto e anche da dove si ottiene il contenuto.Se hai meno contenuti e meno formattazione, puoi utilizzare ciò che ha suggerito Jelovirt

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

Tuttavia, se il tuo contenuto ha una formattazione di grandi dimensioni, ciò che suggerisce David Medinets è il modo migliore per farlo

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

Abbiamo alcune istruzioni da stampare sull'interfaccia utente.L'insieme di istruzioni è enorme e ovviamente le leggiamo dal file XML.

In questi casi anche il metodo sopra descritto è facile da usare e da mantenere.Questo perché il contenuto è fornito da scrittori tecnici.Non hanno conoscenza di XSL.Conoscono l'uso dei tag HTML e possono modificare facilmente il file XML.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top