Таблица стилей XML работает с "xsltproc" в bash, но не в браузере - PullRequest
0 голосов
/ 29 июня 2011

Я пытаюсь определить таблицу стилей XSLT для визуализации XML в браузере.У меня есть следующая таблица стилей:

<html xsl:version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <head />
    <body>
      <div>
      <xmp>
        <xsl:copy-of select="/" />
      </xmp>
      </div>
    </body>
</html>

Запуск "xsltproc" в bash дал ожидаемые результаты, которые можно легко показать в браузере.Однако при присоединении таблицы стилей как

 <?xml-stylesheet type="text/xsl" href="stylesheet.xsl" ?>

отображаются только текстовые значения и теги теряются.Пробовал с FF, Chrome, Safari.

1 Ответ

0 голосов
/ 29 июня 2011

Я не думаю, что объединение нестандартизированного элемента xmp с XSLT даст вам то, что вы хотите. Однако вы можете использовать таблицу стилей, которая сериализует узлы в текст, например http://lenzconsulting.com/xml-to-string/xml-to-string.xsl из http://lenzconsulting.com/xml-to-string/.. Вы можете импортировать и использовать это следующим образом:

<code><xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">

  <xsl:import href="xml-to-string.xsl"/>

  <xsl:template match="/">
    <html>
        <head />
        <body>
          <div>
          <pre>
            <xsl:call-template name="xml-to-string">
              <xsl:with-param name="node-set" select="node()"/>
            </xsl:call-template>
          
</ XSL: шаблон> </ XSL: таблицы стилей>

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

...