Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Найдите ошибку
Форумы портала PHP.SU » » Вопросы новичков » Найдите ошибку

Страниц (1): [1]
 

1. stas0 - 24 Июня, 2013 - 13:15:07 - перейти к сообщению
ОС: windows 7,стоит: denwer
Проверка на поддержку EXSLT истинна(1).
Должно выйти два сформированных выходных документа: toc.html; body.html
Где ошибка
exslt.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP ## Скрипт exslt.php
  3. $xml = "document.xml";
  4. $xsl = "document.xsl";
  5. $domxsl=new domDocument();
  6. $domxsl->load($xsl);//загрузить XSL-файл
  7.  
  8. $domxml=new domDocument();
  9. $domxml->substituteEntities=true;      //произвести подстановки
  10. $domxml->preserveWhiteSpace=false;      //убрать разделители
  11. $domxml->load($xml);//загрузить XML-файл
  12.  
  13. $xsl=new xsltProcessor();//создать XSLT-процессор
  14. if (!$xsl->hasExsltSupport()) exit;
  15.  
  16. @$xsl->importStylesheet($domxsl); //оттранслировать XSLT-документ
  17.  
  18. echo $xsl->transformToXML($domxml); //выполнить трансформацию
  19. ?>
  20.  


document.xsl
CODE (xml):
скопировать код в буфер обмена
  1.  
  2. <xsl:stylesheet version='1.0'
  3.     xmlns:exsl="http://exslt.org/common"
  4.     extension-element-prefixes="exsl"
  5.     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
  6.  
  7.     <xsl:output  method="html" encoding="WINDOWS-1251" indent="yes"/>
  8. <xsl:template match="/">
  9.   <html>
  10.     <head><title>Frame example</title></head>
  11.     <frameset cols="20%, 80%">
  12.       <frame src="toc.html"/>
  13.       <exsl:document href="toc.html" encoding="WINDOWS-1251">
  14.         <html>
  15.           <head><title>Содержание</title></head>
  16.           <body>
  17.              <xsl:apply-templates mode="toc" select="//Содержание"/>
  18.           </body>
  19.         </html>
  20.       </exsl:document>
  21.       <frame src="body.html"/>
  22.       <exsl:document href="body.html" encoding="WINDOWS-1251">
  23.         <html>
  24.           <head><title>Страница</title></head>
  25.           <body>
  26.              <xsl:apply-templates select="//Страница"/>
  27.           </body>
  28.         </html>
  29.       </exsl:document>
  30.     </frameset>
  31.   </html>
  32. </xsl:template>
  33. </xsl:stylesheet>
  34.  


document.xml
CODE (xml):
скопировать код в буфер обмена
  1.  
  2. <?xml version='1.0' encoding='WINDOWS-1251'?>
  3. <?xml-stylesheet type="text/xsl" href="document.xsl" ?>
  4. <Книга>                                              
  5. <Содержание>
  6. Глава1
  7. Глава2
  8. Глава3
  9. </Содержание>
  10. <Страница>
  11. В данной главе мы рассмотрим применение
  12. ...
  13. </Страница>
  14. </Книга>
  15.  


ругань PHP Улыбка

Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: runtime error: file file:///Z:/home/php5/www/www/document.xsl line 13 element document in Z:\home\php5\www\www\exslt.php on line 17

Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: File write for toc.html refused in Z:\home\php5\www\www\exslt.php on line 17

Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: runtime error: file file:///Z:/home/php5/www/www/document.xsl line 13 element document in Z:\home\php5\www\www\exslt.php on line 17

Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: xsltDocumentElem: write rights for toc.html denied in Z:\home\php5\www\www\exslt.php on line 17

Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: runtime error: file file:///Z:/home/php5/www/www/document.xsl line 22 element document in Z:\home\php5\www\www\exslt.php on line 17

Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: File write for body.html refused in Z:\home\php5\www\www\exslt.php on line 17

Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: runtime error: file file:///Z:/home/php5/www/www/document.xsl line 22 element document in Z:\home\php5\www\www\exslt.php on line 17

Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: xsltDocumentElem: write rights for body.html denied in Z:\home\php5\www\www\exslt.php on line 17
2. Мелкий - 24 Июня, 2013 - 13:41:41 - перейти к сообщению
stas0 пишет:
write rights for toc.html denied

Собственно, нет прав на запись.
3. stas0 - 24 Июня, 2013 - 13:45:08 - перейти к сообщению
Мелкий, так что делать?
4. VenZell - 24 Июня, 2013 - 13:50:08 - перейти к сообщению
Советую почитать про функцию chmod и разрешить запись в папку, куда вы сохраняете toc.html и body.html или, если нужно, разрешить изменение вышеупомянутых файлов.
5. stas0 - 24 Июня, 2013 - 13:54:46 - перейти к сообщению
ща будем пробовать Ламер
(Добавление)
fizzle, поправите меня если что, я пытаюсь дойти до аттрибутов "href" документа document.xsl и затем разрешить доступ.
6. VenZell - 24 Июня, 2013 - 14:48:03 - перейти к сообщению
Цитата:
Замечание: Эта функция не применима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.

Вам нужно указывать локальный путь к файлу (или папке).
7. stas0 - 24 Июня, 2013 - 15:32:37 - перейти к сообщению
Добавил в начало док. exslt.php
PHP:
скопировать код в буфер обмена
  1.  
  2. chmod("toc.html", 0755);
  3. chmod("body.html", 0755);
  4. echo is_writable("toc.html") . "<br>\n";
  5. echo is_writable("body.html");
  6.  


Вывод: 1,1 - доступ есть

Повторяю попытку и тоже самое Растерялся

 

Powered by ExBB FM 1.0 RC1