HTML в XML неправильно отображается на выходе после преобразования с помощью XSLT

У меня есть файл XML, сгенерированный как результат работы программы Java. Он содержит текст в формате html, в котором теги написаны с помощью &lt; и &gt; вместо < и > соответственно. Я хочу преобразовать этот xml в html, где также обрабатывается внутренний html. Например:

Мой фрагмент xml:

  <company>
        <companyEnhancement>
            Rank: -1&lt;/br&gt; Other Links&lt;/br&gt;http://www.gehealthcare.com/&lt;/br&gt;
        </companyEnhancement>
  </company>

И в моей таблице стилей xslt есть эта часть для ее анализа:

     <td>
      <xsl:value-of select="companyEnhancement"/>     
     </td>

Но вывод html в браузере содержит эти данные, поскольку они находятся в ячейке таблицы:

Rank: -1 </br> Other Links</br>http://www.gehealthcare.com/</br>

Я прочитал ссылки здесь, но не могу понять, что именно я должен делать в таблице стилей.

Пожалуйста, помогите мне. Я очень новичок в xslt, поэтому, пожалуйста, извините, если это глупый вопрос.

Спасибо


person user3409074    schedule 07.04.2014    source источник


Ответы (1)


Вы говорите, что у вас есть HTML, но </br> не является синтаксисом HTML, это было бы <br> или, возможно, для XHTML <br />.

Если вы действительно избежали HTML и хотите вывести его, вы можете попробовать

<xsl:value-of select="companyEnhancement" disable-output-escaping="yes"/>

но это поможет только в том случае, если ваш XSLT-процессор сериализует дерево результатов. Firefox, например, этого не делает и не поддерживает disable-output-escaping.

person Martin Honnen    schedule 07.04.2014
comment
Большое спасибо, Мартин. Я попробовал с отключенным выводом-экранированием, но не тренировался. Мой браузер гугл хром. - person user3409074; 09.04.2014
comment
Большое спасибо, Мартин. Произошла какая-то магия, и решение сработало. - person user3409074; 09.04.2014