PHP и XML/XSL
От: Artyom Украина  
Дата: 09.11.02 12:49
Оценка:
Всем привет!
Народ, у меня тут такое дело случилось:
Написали сайт на ASP, все документы сохранили в XML формате. Используем MS XML парсер для преобразования в HTML-документ. Но тут нам заявили, что нужно использовать бесплатные технологии, потому как винда видите ли дорого стоит. Я порылся в инете и наткнулся на информацию о том, что в PHP можно работать с XML и XSL. Нашел даже доки о том, как работать с DOM. Но о том, как можно использовать XSL в PHP нигде ничего нету! Может кто-то подскажет?
Мне в общем и нужно не много: преобразовать XML по правилам, описанным в XSL.
И еще: насколько безболезненным может оказаться переход с MSXML парсера на другой в плане того, что Microsoft всегда как-то по-своему трактует спецификации?
Огромнейшее спасибо всем, кто откликнется!
Artyom
Re: PHP и XML/XSL
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.11.02 13:58
Оценка:
Здравствуйте Artyom, Вы писали:

A>Народ, у меня тут такое дело случилось:

A>Написали сайт на ASP, все документы сохранили в XML формате. Используем MS XML парсер для преобразования в HTML-документ. Но тут нам заявили, что нужно использовать бесплатные технологии, потому как винда видите ли дорого стоит. Я порылся в инете и наткнулся на информацию о том, что в PHP можно работать с XML и XSL. Нашел даже доки о том, как работать с DOM. Но о том, как можно использовать XSL в PHP нигде ничего нету! Может кто-то подскажет?
A>Мне в общем и нужно не много: преобразовать XML по правилам, описанным в XSL.
A>И еще: насколько безболезненным может оказаться переход с MSXML парсера на другой в плане того, что Microsoft всегда как-то по-своему трактует спецификации?

Ничего не понял. Вы хотите избавиться от msxml парсера? Ну так он бесплатный. Или от win платформы вобще? Тогда я бы посоветовал jsp. Парсер есть в JRE начиная с 1.4 встроенный.
... << RSDN@Home 1.0 alpha 12 (developers build)>>
AVK Blog
Re: PHP и XML/XSL
От: Captain Crocus  
Дата: 09.11.02 14:45
Оценка:
Здравствуйте Artyom, Вы писали:

A>Всем привет!

A>Народ, у меня тут такое дело случилось:
A>Написали сайт на ASP, все документы сохранили в XML формате. Используем MS XML парсер для преобразования в HTML-документ. Но тут нам заявили, что нужно использовать бесплатные технологии, потому как винда видите ли дорого стоит. Я порылся в инете и наткнулся на информацию о том, что в PHP можно работать с XML и XSL. Нашел даже доки о том, как работать с DOM. Но о том, как можно использовать XSL в PHP нигде ничего нету! Может кто-то подскажет?
A>Мне в общем и нужно не много: преобразовать XML по правилам, описанным в XSL.
A>И еще: насколько безболезненным может оказаться переход с MSXML парсера на другой в плане того, что Microsoft всегда как-то по-своему трактует спецификации?
A>Огромнейшее спасибо всем, кто откликнется!

Насколько я знаю, начиная с четвертой версии PHP, он (PHP) поставляется с XSLT-процессором Sablotron. Говорят, что Sablotron слегка ущербный — не видел, не знаю. Он должен подключаться к PHP как расширение. Должна быть там dll-ка или несколько. Ну и функции там соответственно должны быть по применению преобразования к xml-файлу, вобщем, все как везде. Если идея PHP для тебя принципиальна, то я могу порыть у Валикова в "Технологии XSLT", там был именно тот простой пример с PHP и XSLT, который тебе нужен. Но это уже в понедельник

Где-то я такую косточку уже видел.

Re: PHP и XML/XSL
От: Lloyd Россия  
Дата: 10.11.02 06:55
Оценка:
Здравствуйте Artyom, Вы писали:

A>Всем привет!

A>Народ, у меня тут такое дело случилось:
A>Написали сайт на ASP, все документы сохранили в XML формате. Используем MS XML парсер для преобразования в HTML-документ. Но тут нам заявили, что нужно использовать бесплатные технологии, потому как винда видите ли дорого стоит. Я порылся в инете и наткнулся на информацию о том, что в PHP можно работать с XML и XSL. Нашел даже доки о том, как работать с DOM. Но о том, как можно использовать XSL в PHP нигде ничего нету! Может кто-то подскажет?

В документации по PHP есть раздел по работе с xslt: XSLT functions

A>Мне в общем и нужно не много: преобразовать XML по правилам, описанным в XSL.

A>И еще: насколько безболезненным может оказаться переход с MSXML парсера на другой в плане того, что Microsoft всегда как-то по-своему трактует спецификации?

В плане xsl микрософт трактует спецификацию по спецификации.

A>Огромнейшее спасибо всем, кто откликнется!
Re[2]: PHP и XML/XSL
От: Artyom Украина  
Дата: 10.11.02 20:15
Оценка:
Здравствуйте Captain Crocus, Вы писали:

CC>Насколько я знаю, начиная с четвертой версии PHP, он (PHP) поставляется с XSLT-процессором Sablotron. Говорят, что Sablotron слегка ущербный — не видел, не знаю. Он должен подключаться к PHP как расширение. Должна быть там dll-ка или несколько. Ну и функции там соответственно должны быть по применению преобразования к xml-файлу, вобщем, все как везде. Если идея PHP для тебя принципиальна, то я могу порыть у Валикова в "Технологии XSLT", там был именно тот простой пример с PHP и XSLT, который тебе нужен. Но это уже в понедельник


Был бы очень признателен!
Artyom
Re[2]: PHP и XML/XSL
От: Artyom Украина  
Дата: 10.11.02 21:10
Оценка:
Здравствуйте AndrewVK, Вы писали:

AVK>Ничего не понял. Вы хотите избавиться от msxml парсера? Ну так он бесплатный. Или от win платформы вобще? Тогда я бы посоветовал jsp. Парсер есть в JRE начиная с 1.4 встроенный.


В общем дело обстоит так, что мне вообще не приходится выбирать из чего-то. Там, где будет хоститься сайт, доступны PHP и Perl. Добиться установки еще чего-то, хоть даже и бесплатного, очень тяжело.
Artyom
Re[3]: PHP и XML/XSL
От: Captain Crocus  
Дата: 11.11.02 07:29
Оценка:
Здравствуйте Artyom, Вы писали:

A>Здравствуйте Captain Crocus, Вы писали:


CC>>Насколько я знаю, начиная с четвертой версии PHP, он (PHP) поставляется с XSLT-процессором Sablotron. Говорят, что Sablotron слегка ущербный — не видел, не знаю. Он должен подключаться к PHP как расширение. Должна быть там dll-ка или несколько. Ну и функции там соответственно должны быть по применению преобразования к xml-файлу, вобщем, все как везде. Если идея PHP для тебя принципиальна, то я могу порыть у Валикова в "Технологии XSLT", там был именно тот простой пример с PHP и XSLT, который тебе нужен. Но это уже в понедельник


A>Был бы очень признателен!


Сначала кусок о подключении под Windows32:

1. Убедиться, что файл php_sablot.dll присутствует в каталоге расширений.
2. Убедиться, что в файле php.ini присутствует строка extension=php_sablot.dll/
3. Убедиться, что библиотеки expat.dll и sablot.dll находятся в каталоге, указанном в переменной окружения PATH.


Теперь об использовании на других платформах:

На других платформах потребуется cконфигурировать php c флагом --with-sablot. В остальном установка совершенно аналогична.


К сожалению, о подключении все
Теперь об использовании:


<html>
  <head>
    <title>Guestbook</title>
      <META http-equiv="Content-Type" content="text/html; charset=windows-1251">
      <link rel="stylesheet" type="text/css" href="style.css"/>
  </head>
<body>
<?php
  // Загружаем входящий документ
  $sourcefile = "source.xml";
  $sourcehandle = fopen($sourcefile, "r")
  or die("Невозможно открыть входящий документ.");
  $source = fread($sourcehandle, filesize ($sourcefile));
  // Загружаем преобразование
  $stylesheetfile = "stylesheet.xsl";
  $stylesheethandle = fopen($stylesheetfile, "r") or die("Невозможно открыть файл преобразования");
  $stylesheet = fread($stylesheethandle, filesize ($stylesheetfile),'
  // Инициализируем XSLT-процессор
  $xslt = @xslt_create() or die("Can't create XSLT handle!");
  // Выполняем преобразование
  @xslt_process($stylesheet, $source, $result) ;
  // Выводим результат
  echo $result;
  // Освобождаем ресурсы
  @xslt_free($xslt);
?>
</body>
</html>



Это пока все .
PS. Я тут повесил у себя Apache+Perl+MySQL+PHP. Если будет время, то проверю, как все это работает. Мне что-то самому стало интересно
Re[4]: PHP и XML/XSL
От: vicgor  
Дата: 11.11.02 14:25
Оценка:
Использование Sablotron возможно только в том случае если хостер пойдет вам навстречу и установит expat и скомпилирует php c поддержкой sablotron
У Зенона например есть такой план профи, который позволяет скомпилировать под себя php, apache.

Саблотрон работает вполне нормально

Возможно еще посмотреть что есть для Перла
Re[5]: PHP и XML/XSL
От: Artyom Украина  
Дата: 11.11.02 23:22
Оценка:
Здравствуйте vicgor, Вы писали:

V>Использование Sablotron возможно только в том случае если хостер пойдет вам навстречу и установит expat и скомпилирует php c поддержкой sablotron

V>У Зенона например есть такой план профи, который позволяет скомпилировать под себя php, apache.
V>
V>Саблотрон работает вполне нормально
V>
V>Возможно еще посмотреть что есть для Перла

Спасибо!
Конечно то, что прийдется напрягать провайдера, не очень радует, так как он неохотно идет на помощь. Перл в принципе тоже поддерживается. Я просто зациклился на PHP потому, что с перлом почти не работал. Однако скритовая часть сайта небольшая, и если бы перл можно было использовать для преобразования XML без всяких конфигураций — это было бы просто здорово. Попробую найти что-нибудь по этому поводу самостоятельно, но не уверен, что найду, потому буду признателен за любую инфу по этому поводу.
Artyom
Re[4]: Спасибо
От: Artyom Украина  
Дата: 11.11.02 23:22
Оценка:
Artyom
Re[6]: PHP и XML/XSL
От: Captain Crocus  
Дата: 12.11.02 06:59
Оценка:
Для справки: Sablotron работает со следующими платформами: C++, Perl, PHP, Python. Насчет стандартных конфигураций Perl'a у хостеров мне, к сожаленю, ничего неизвестно. Наверное, опять придется напрягать.
Re[3]: PHP и XML/XSL
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.11.02 19:47
Оценка:
Здравствуйте Artyom, Вы писали:

A>В общем дело обстоит так, что мне вообще не приходится выбирать из чего-то. Там, где будет хоститься сайт, доступны PHP и Perl. Добиться установки еще чего-то, хоть даже и бесплатного, очень тяжело.


А сменить хостера?
... << RSDN@Home 1.0 alpha 12 (developers build)>>
AVK Blog
Re[4]: PHP и XML/XSL
От: Artyom Украина  
Дата: 20.11.02 05:15
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте Artyom, Вы писали:


A>>В общем дело обстоит так, что мне вообще не приходится выбирать из чего-то. Там, где будет хоститься сайт, доступны PHP и Perl. Добиться установки еще чего-то, хоть даже и бесплатного, очень тяжело.


AVK>А сменить хостера?


Не могу я сменить хостера. Это универститетский сайт, и хоститься он должен универом.
Artyom
Re[7]: PHP и XML/XSL
От: Artyom Украина  
Дата: 20.11.02 05:18
Оценка:
Здравствуйте, Captain Crocus, Вы писали:

CC>Для справки: Sablotron работает со следующими платформами: C++, Perl, PHP, Python. Насчет стандартных конфигураций Perl'a у хостеров мне, к сожаленю, ничего неизвестно. Наверное, опять придется напрягать.


Мдя... невесело...
Artyom
Re[5]: PHP и XML/XSL
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.11.02 07:45
Оценка:
Здравствуйте Artyom, Вы писали:

A>Не могу я сменить хостера. Это универститетский сайт, и хоститься он должен универом.


И что из етого? Они там Windows-сервер найти не могут? Или это принципиальная позиция местных гуру?
... << RSDN@Home 1.0 alpha 12 (developers build)>>
AVK Blog
Re[6]: PHP и XML/XSL
От: Artyom Украина  
Дата: 21.11.02 17:32
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте Artyom, Вы писали:


A>>Не могу я сменить хостера. Это универститетский сайт, и хоститься он должен универом.


AVK>И что из етого? Они там Windows-сервер найти не могут? Или это принципиальная позиция местных гуру?



Представь себе: у них нет денег на Windows сервер! И вообще они какие-то недоброжелательные, совсем не хотят помогать.
Artyom
Re: Sablotron
От: Artyom Украина  
Дата: 21.11.02 17:42
Оценка:
Всем привет!

В общем я уже понял, что так просто мне не удасться использовать XML/XSL под PHP или Perl. Нужно ставить Sablotron на сервер... Только вот что это такое и с чем его едят?...

Люди! Кто нить может дать полезную ссылку или кинуть доку? Я вообще в юниксах не шарю, а тут нужно разобраться с Sablotron, понять как его установить и как его использовать в PHP. Только вот нигде не могу найти приличного руководства для чайников, а так сразу перестроиться с виндов на линукс — тяжко... Может у кого-нить доки есть по этому делу или линку кто-то может дать, где я могу найти руководства от А до Я (или хотя бы до Ъ . Или если кто-то уже был на моем месте, то посоветуйте, что почитать (не печатное), чтобы быстро понять, что мне нужно для работы с XML и XSL.

Всем спасибо за отклики!
Artyom
Re[7]: PHP и XML/XSL
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.11.02 19:35
Оценка:
Здравствуйте Artyom, Вы писали:

A>Представь себе: у них нет денег на Windows сервер! И вообще они какие-то недоброжелательные, совсем не хотят помогать.


Ну тогда хотя бы JSP, это то они могут поставить?
... << RSDN@Home 1.0 alpha 12 (developers build)>>
AVK Blog
Re[2]: Sablotron
От: Аноним  
Дата: 22.11.02 08:46
Оценка:
Здравствуйте, Artyom, Вы писали:

Вот здесь почитай www.php.net, в разделе manual->Function Reference->Xml Parser functions
->Xslt functions

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