На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL
  
> XSLT
    Захотел с XSLT побаловаться... ну поставить его надо значит.

    Нагуглил пару страничек, но там используют PHP4.
    Например http://phpclub.ru/detail/article/2002-10-07

    Ну так вот: подключаю я в пятом либу, вот кусок phpinfo:
    ExpandedWrap disabled
      xsl
      XSL     enabled
      libxslt Version     1.1.7
      libxslt compiled against libxml Version     2.6.11
      EXSLT   enabled
      libexslt Version    0.8.5


    и оно выдает:
    ExpandedWrap disabled
      Warning: DOMDocument::loadXML() [function.loadXML]: xmlParseEntityRef: no name in Entity, line: 13 in C:\Server\www\xslt.php on line 66
       
      Warning: XSLTProcessor::transformToXml() expects parameter 1 to be object, boolean given in C:\Server\www\xslt.php on line 66


    при примере:
    ExpandedWrap disabled
      <?php
       
      $xmlData = '<?xml version="1.0" encoding="Windows-1251"?>
      <document>
      <game>
          <title>Railroad Tycoon II Platinum</title>
          <genre>экономическая стратегия</genre>
          <designer>PopTop software</designer>
          <publisher>G.O.D. games</publisher>
          <year>2001</year>
      </game>
      <game>
          <title>Grand Prix 4</title>
          <genre>автосимулятор</genre>
          <designer>Geoff Crammond & Simergy</designer>
          <publisher>Infogrames Entertainment</publisher>
          <year>2002</year>
      </game>
      </document>';
       
      $xslData = '<?xml version="1.0" encoding="windows-1251"?>
      <!DOCTYPE xsl:stylesheet>
      <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="html" indent="yes" encoding="Windows-1251"/>
       
      <xsl:template match="/">
          <xsl:apply-templates/>
      </xsl:template>
       
      <xsl:template match="document">
          <html><head>
          <title>Игры</title>
          </head>
          <body>
          <h1>Игры</h1>
          <table cellpadding="2" cellspacing="2" border="1">
          <tr>
              <td>Название</td>
              <td>жанр</td>
              <td>год</td>
              <td>разработчик</td>
              <td>издатель</td>
          </tr>
              <xsl:apply-templates select="game"/>
          </table>
          </body></html>
      </xsl:template>
       
      <xsl:template match="game">
          <tr>
              <td><b><xsl:value-of select="title"/></b></td>
              <td><xsl:value-of select="genre"/></td>
              <td><xsl:value-of select="year"/></td>
              <td><xsl:value-of select="designer"/></td>
              <td><xsl:value-of select="publisher"/></td>
          </tr>
      </xsl:template>
       
      </xsl:stylesheet>';
       
       
       
       
      $xsl = new XSLTProcessor();
      $xsl->importStyleSheet(DOMDocument::loadXML($xslData));
      echo $xsl->transformToXML(DOMDocument::loadXML($xmlData));
       
      ?>

    причем код xsl+xml взят из примера (ссылка выше), а 3 строки пхп внизу - из http://ru.php.net/manual/ru/function.xsl-xsltprocessor-construct.php (немного изменил)

    В чем трабла?

    Добавлено
    Цитата
    немного изменил
    если не изменять(а читать из файлов) - то то же самое.
      Проблема решена, пример из статьи был неправильным.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0223 ]   [ 15 queries used ]   [ Generated: 28.04.24, 07:51 GMT ]