Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PHP + XML + XSLT 
:(
    Опции темы
Opik
Дата 21.6.2005, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



в том то и дело, что мы ещё сами не поняли.
PM MAIL Skype   Вверх
IZ@TOP
Дата 21.6.2005, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 2
Всего: 73



Пришел домой, сейчас буду разбираться и тестить все это дело под РНР 5 и РНР 4.3.10.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Opik
Дата 22.6.2005, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



кстати, те твои предыдущие примеры пашут smile
PM MAIL Skype   Вверх
IZ@TOP
Дата 22.6.2005, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 2
Всего: 73



Opik, что ты сделал? Значит можно использовать этот подход.
Я кстате хочу попробовать поюзать SimpleXML, говорят что с ним работать еще удобнее. Может быть его использовать можно будет для парсинга конфигов.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Opik
Дата 22.6.2005, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



IZ@TOP
php_domxml.dll поставил, только у тебя там старые функции (по мануалу). а в новой вроде баг есть smile)
PM MAIL Skype   Вверх
IZ@TOP
Дата 22.6.2005, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 2
Всего: 73



Что за баг?

Вот я тут модифицировал немного стили и XSL шаблон:

Код

<?php
$GLOBALS['test']    = 2;
$xmldoc = domxml_new_xmldoc('1.0');
$docroot = $xmldoc->add_root('articles');

$newschild[0] = $docroot->new_child('article', '');
$newschild[0]->set_attribute('id', 1);
$newschild[0]->set_attribute('test', 2);

$newschild[0]->new_child('date', '12/31/2005');
$newschild[0]->new_child('title', 'Title');
$newschild[0]->new_child('author', 'IZ@TOP');
$newschild[0]->new_child('newstext', 'XSL Templates rules! Ostalos` razobrat`sya s kodirovkami i vse budet rul`no!');

$newschild[1] = $docroot->new_child('article', '');
$newschild[1]->set_attribute('id', 2);
$newschild[1]->set_attribute('test', 'test');

$newschild[1]->new_child('date', '12/31/2006');
$newschild[1]->new_child('title', 'Title 2');
$newschild[1]->new_child('author', 'IZ@TOP');
$newschild[1]->new_child('newstext', 'XSL Templates rules! Ostalos` razobrat`sya s kodirovkami i vse budet rul`no!!!!');


/* 
    // Если нужно просмотреть что у нас вышло, вызываем такой кусочек кода:
    // echo htmlspecialchars($xmldoc->dump_mem()); 
*/


// И далее
$xsldoc  = domxml_xslt_stylesheet_file(dirname(__FILE__)."/style.xsl");
$result  = $xsldoc->process($xmldoc);
print $result->dump_mem();


Код

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="/">
    <html>
    <head>
    <title>n</title>
    <style>
        * {
            font-family: Tahoma;
            font-size: 11px;
        }
    </style>
    </head>
    <body>
        <center>
        <xsl:for-each select="articles/article">
        <div style="width:400;" align="justify">
            <b><xsl:value-of select="date" /></b> | <xsl:value-of select="title" />
            <p><xsl:value-of select="newstext"/></p>
            <div align="right"><i><xsl:value-of select="author" /></i></div>
        </div>
        </xsl:for-each>
        </center>
    </body>
</html>
</xsl:template>
</xsl:stylesheet>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Opik
Дата 22.6.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



IZ@TOP
Код

$node = $dom->create_Element("root");
var_dump($node); // null, а должно быть object

PM MAIL Skype   Вверх
OPG
Дата 23.6.2005, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 25.2.2005

Репутация: нет
Всего: 1



Вопрос в теме немного не связанный.
Предлагаю открыть ветку форума где можно будет поэтапно пройти все стадии установки, создания документа, преобразования, парсинга, и работа с XSLT шаблонами.
Сейчас делаю двигатель сайта на этих технологиях в котором реализована идея как сделать сайт эффективным с той позиции, что повысить эффективность его влияния на принятие нужного тебе решения посетителем сайта. А также не выпускать его с сайтаsmile)) Ведь по сути можно делать быстрый, удобный и т.п. сайт, но о конечной цели почему то забывают. Сайт должен оказывать нужное воздействие на посетителя. Почему то все время пытаются взять дизайном, качеством контента и т.п. Построение сайта на основе шаблонов лишает сайта возможности использвать эффект синергизма. И в тоже время шаблоны нужны. Вот я и реализовываю это сейчас. А также вскорости выпускаю сайт посвященной этой проблеме.
Скажем так, я больше организатор и маркетолог (с многолетним опытом) в одном лице, который пару лет назад сел за компьютер с целью создать себе, то что отвечало бы моим интересамsmile))
Есть у меня куча замечательной литературы могу иногда присылать материалы отсканированные.
Отдельный разговор про совместную работу баз данных и XML.
Поверхностно скажу, что XML данные можно хранить в базе с сохранением структуры, но необходимо приниятие решения с какой степенью детализации.
Мой движок использует смешанную технологию, что , не только по моему мнению. является очень гибким решением.
В общем согласен иногда снабжать материалами, но вопросы нужны четкие и последовательные. Что скажете, господа модераторы?
P.S. Судя по всему немного народу пока сидит на этих технологиях. Иногда задавал вопросы, а ответа не получал. Приходилось ломиться самому, но все вопросы решаются.
PM MAIL   Вверх
Bikutoru
Дата 24.6.2005, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 1
Всего: 22



Сразу прошу прощения за оффтоп, но очень неймется smile ...
А что такое
Цитата
эффект синергизма



--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
IZ@TOP
Дата 24.6.2005, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 2
Всего: 73



Цитата(yandex)
Эффект синергизма - это интеграция двух или более агентов или сил, действующих так, что их совместный эффект больше, чем сумма индивидуальных эффектов

Добавлено @ 19:01
Хотя что конкретно имел ввиду автор того сообщения я то же понять немогу... хотя это вроде что-то с экономикой связано?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Opik
Дата 25.6.2005, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



Вообщем doxml не есть для 5.1 smile нужно юзать обычный DOM
Код

<?php
  $dsn = 'mysql:dbname=test;host=127.0.0.1';
  $user = 'root';
  $password = '';

  try {
     $dbh = new PDO($dsn, $user, $password);
     $sql = 'SELECT * FROM `news` WHERE news_public = :public';
     $sth = $dbh->prepare($sql, array(PDO_ATTR_CURSOR, PDO_CURSOR_FWDONLY));
     $sth->execute(array(':public' => 1));

     $xml  = new DOMDocument('1.0', 'UTF-8');
     $xsl_proc = new XSLTProcessor();
     $xsl  = new DOMDocument;
     $xsl->load('news.xsl');

     $xsl_proc->importStyleSheet($xsl);
     //print_r(get_class_methods($xsl));
     $root = $xml->createElement('news');
     $last = $xml->appendChild($root);

     while($row = $sth->fetch())
     {
          $id = $xml->createElement('item');
          $last2 = $last->appendChild($id);

          $text = $xml->createElement('text', $row['news_text']);
          $hz = $last2->appendChild($text);

          $title = $xml->createElement('title', $row['news_title']);
          $hz = $last2->appendChild($title);

          $author = $xml->createElement('author', $row['news_author_id']);
          $hz = $last2->appendChild($author);

          $date = $xml->createElement('date', $row['news_date']);
          $hz = $last2->appendChild($date);
     }
     print $xsl_proc->transformToXML($xml);
  } catch (PDOException $e) {
     echo 'Connection failed: ' . $e->getMessage();
  }
?>

news.xsl
Код

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" encoding="UTF-8" indent="no"/>
 <xsl:template match="/">
  <html>
     <head>
        <title>n</title>
     </head>
     <body>
       <xsl:apply-templates select="news" />
     </body>
  </html>
 </xsl:template>
 <xsl:template match="news">
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="item">
  <h1><xsl:value-of select="title"/></h1>
  <h2>by <xsl:value-of select="author"/> - <xsl:value-of select="date"/></h2>
  <hr />
 </xsl:template>
</xsl:stylesheet>


Это сообщение отредактировал(а) Opik - 25.6.2005, 09:31
PM MAIL Skype   Вверх
dm9
Дата 29.9.2005, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



Цитата(Opik @ 22.6.2005, 16:21)
php_domxml.dll поставил, только у тебя там старые функции (по мануалу). а в новой вроде баг есть )


А можно про баг поподробнее? smile

PM MAIL ICQ   Вверх
Opik
Дата 30.1.2006, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



dm9
Я точно не помню уже.
Если ставить пхп5.1 и юзать дум. - проблем не будет.
PM MAIL Skype   Вверх
dm9
Дата 31.1.2006, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



Opik, уже три сайта работают на DOMXML, пока проблем не было smile

Нет, вру, была одна. Некорректная отработка <xsl:copy-of> была, для текстовых нод. Но это мелочи, жить можно.

PM MAIL ICQ   Вверх
Alx
Дата 16.4.2007, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



что-то я ничего не понимаю! что нужно сделать, чтобы начать работать с xml? какие-то расширения скачать? можно в двух словах, по русски, плиз..
и как сделать, чтобы работало и в 4 и в 5 версиях?..


--------------------
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1101 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.