Как форматировать текст между тегами xsl:text?

StackOverflow https://stackoverflow.com/questions/78884

  •  09-06-2019
  •  | 
  •  

Вопрос

У меня есть лист xslt с текстом, похожим на приведенный ниже:

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

Я бы хотел, чтобы текст был выделен жирным шрифтом, но это не работает.

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

Устаревший тег b тоже не работает.Как отформатировать текст внутри тега xsl:text?

Это было полезно?

Решение

Вы не знаете. xsl:text может содержать только текстовые узлы и <strong> является узлом элемента, а не строкой, начинающейся с символа «меньше»;XSLT предназначен для создания деревьев узлов, а не разметки.Итак, вам нужно сделать

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

Другие советы

Попробуй это:

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

<xsl:текст отключить-выход-escaping="да">Я хочу быть <strong>смелым<strong> </xsl:text>

Форматирование XSL-FO должно иметь такую ​​возможность, см. W3Schools. руководство.

Ответ на этот вопрос зависит от того, насколько необходимо форматирование контента, а также от того, откуда вы его получаете.Если у вас меньше контента и меньше форматирования, вы можете использовать то, что предложил jelovirt.

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

Однако, если ваш контент имеет большое форматирование, то лучший способ сделать это предлагает Дэвид Мединец.

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

У нас есть несколько инструкций для печати в пользовательском интерфейсе.Набор инструкций огромен, и, конечно, мы читаем их из XML-файла.

В таких случаях описанный выше метод также прост в использовании и обслуживании.Это потому, что контент предоставляют технические писатели.У них нет знаний XSL.Они знают, как использовать HTML-теги, и могут легко редактировать XML-файл.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top