Como formato o texto entre as tags xsl:text?
-
09-06-2019 - |
Pergunta
Eu tenho uma planilha xslt com algum texto semelhante ao abaixo:
<xsl:text>I am some text, and I want to be bold</xsl:text>
Gostaria que algum texto estivesse em negrito, mas isso não funciona.
<xsl:text>I am some text, and I want to be <strong>bold<strong></xsl:text>
A tag b obsoleta também não funciona.Como formatar texto em uma tag xsl:text?
Solução
Você não. xsl:text
só pode conter nós de texto e <strong>
é um nó de elemento, não uma string que começa com o caractere menor que;XSLT trata da criação de árvores de nós, não de marcação.Então, você tem que fazer
<xsl:text>I am some text, and I want to be </xsl:text>
<strong>bold<strong>
<xsl:text> </xsl:text>
Outras dicas
Experimente isto:
<fo:inline font-weight="bold"><xsl:text>Bold text</xsl:text></fo:inline>
<xsl:texto desativar-saída-escaping = "sim">Eu quero ser <strong>ousado<strong> </xsl:text>
A formatação XSL-FO deve ser capaz de fazer isso, consulte o W3Schools tutorial.
A resposta para isso depende de quanta formatação é necessária no conteúdo e também de onde você obtém o conteúdo.Se você tiver menos conteúdo e menos formatação, poderá usar o que jelovirt sugeriu
<xsl:text>I am some text, and I want to be </xsl:text>
<strong>bold<strong>
<xsl:text> </xsl:text>
No entanto, se o seu conteúdo tiver formatação grande, o que David Medinets sugere é a melhor maneira de fazê-lo
<xsl:text disable-output-escaping="yes">
Temos algumas instruções para imprimir na UI.O conjunto de instruções é enorme e é claro que as lemos no arquivo XML.
Nesses casos, o método acima também é fácil de usar e manter.Isso ocorre porque o conteúdo é fornecido por redatores técnicos.Eles não têm conhecimento de XSL.Eles sabem usar tags HTML e podem editar facilmente o arquivo XML.