как интерпретировать HTML в XSL - PullRequest
0 голосов
/ 15 апреля 2011

У меня есть следующий xml

<results>
    <first-name>Carl<first-name>
    <data><b> This is carl's data </b></data>
</results>

Как включить полужирные теги, присутствующие в теге , чтобы они были частью вывода, но отображались как HTML

Когда я говорю <xsl:value-of select="results/data"/> Выход

<b> This is carl's data </b>

Я хочу получить «Это данные Карла», так как выводится жирным шрифтом.

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Хорошо <xsl:copy-of select="results/data/node()"/> - это начало, но если требование является частью более крупной проблемы, вам лучше написать шаблон для data элементов, который использует apply-templates для проталкивания дочерних узлов через некоторые шаблоны длякопирование HTML-элементов в вывод.

0 голосов
/ 18 апреля 2011

Я уверен, что кто-то сообщит мне, если я наивен:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
    <xsl:output method="html" indent="yes"/>

  <xsl:template match="/results">
    <xsl:apply-templates/>
  </xsl:template>

  <xsl:template match="first-name">
    <xsl:value-of select="." />
    <xsl:text>: </xsl:text>
  </xsl:template>

  <xsl:template match="data">
    <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="b">
    <b>
      <xsl:value-of select="." />
    </b>
  </xsl:template>
</xsl:stylesheet>
...