Форум Фотогалерея Деловой мир Мелитополя
Мелитополь
Мелитопольский форум
 
 RSS  FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Ваше мнение о XML
На страницу Пред.  1, 2, 3  След.
 
Начать новую тему   Ответить на тему    Список форумов Мелитополь -> Программирование
Предыдущая тема :: Следующая тема  

Ваше мнение о XML ?
За ним будущее
25%
 25%  [ 8 ]
Что такое XML ?
29%
 29%  [ 9 ]
Не пробовал, но слышал
41%
 41%  [ 13 ]
Не понравился
3%
 3%  [ 1 ]
Всего голосов : 31

Автор Сообщение
Thomas
В настоящее время запрещен

Бывалый


Пол: Пол: Он
Зарегистрирован: 29.03.2006
Сообщения: 3169
Откуда: /dev/null
Репутация: 138.5
голосов: 31

СообщениеДобавлено: Чт Окт 11, 2007 09:00 am    Заголовок сообщения: Ответить с цитатой

Professional писал(а):
XML может заменить JSON

JSON по моему мнению... экономнее... хотя сам пока чаще юзаю XML

Пережитки прошлого после моего ухода ? )) Это я по поводу XML.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение [ скрыт ] Посетить сайт автора
Professional

Писатель


Пол: Пол: Он
Зарегистрирован: 30.01.2006
Сообщения: 376
Откуда: Туташний
Репутация: 67.9
голосов: 4

СообщениеДобавлено: Чт Окт 11, 2007 10:07 am    Заголовок сообщения: Ответить с цитатой

Thomas писал(а):
Professional писал(а):
XML может заменить JSON

JSON по моему мнению... экономнее... хотя сам пока чаще юзаю XML

Пережитки прошлого после моего ухода ? )) Это я по поводу XML.


Незнаю, XML изучал сам и на все новом, но не старом.
Знаю что ты писал еще ручной парсер XML, бред однако, но работал.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Thomas
В настоящее время запрещен

Бывалый


Пол: Пол: Он
Зарегистрирован: 29.03.2006
Сообщения: 3169
Откуда: /dev/null
Репутация: 138.5
голосов: 31

СообщениеДобавлено: Чт Окт 11, 2007 10:48 am    Заголовок сообщения: Ответить с цитатой

Professional писал(а):
Thomas писал(а):
Professional писал(а):
XML может заменить JSON

JSON по моему мнению... экономнее... хотя сам пока чаще юзаю XML

Пережитки прошлого после моего ухода ? )) Это я по поводу XML.


Незнаю, XML изучал сам и на все новом, но не старом.
Знаю что ты писал еще ручной парсер XML, бред однако, но работал.

Ну бред, не бред, а написано было 3 версии CMS на последне был написан eventum.ru В котором использовался XSLT на полную катушку.
В то время первых "движков" я еще учился и щупал XML просто.

Просто смотрел недавно ваш сайт который был написан с применением XSLT. В свое время продвигал XML в конторе с тех пор и полюбил.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение [ скрыт ] Посетить сайт автора
Professional

Писатель


Пол: Пол: Он
Зарегистрирован: 30.01.2006
Сообщения: 376
Откуда: Туташний
Репутация: 67.9
голосов: 4

СообщениеДобавлено: Чт Окт 11, 2007 11:14 am    Заголовок сообщения: Ответить с цитатой

Thomas писал(а):

Просто смотрел недавно ваш сайт который был написан с применением XSLT. В свое время продвигал XML в конторе с тех пор и полюбил.


Первооткрыватель! Smile С этим не буду спорить, поддержую!

Год назад меня пугали, такие слова кaк XML, XSLT, а счас норм довольно таки нормально с ними работаю, хотя еще на очень простом уровне.

С начала не понимал вообще идеи XML, но теперь все ясно... и следует другой вопрос в оптимальности.
Вот приведу пример.

XML

Код:
<factory>
  <workers>
    <worker>
      <name>Вася</name>
      <age>30</age>
    </worker>
    <worker>
      <name>Петя</name>
      <age>25</age>
    </worker>
    <worker>
      <name>Иван</name>
      <age>42</age>
    </worker>
  </workers>
</factory>


JSON

Код:
{ "factory" :
  {
    "workers" : [
      {
        "name" : "Вася",
        "age" : "30"
      },
      {
        "name" : "Петя",
        "age" : "25"
      },
      {
        "name" : "Иван",
        "age" : "42"
      }
    ]
  } 
}


Здесь я хотел показать, то, что экономим на объеме информации...
Понимаю, что если серве сгенерировал XML и трансформировал с XSLT и вернул готовый XHTML тогда тут не столь важен вопрос, но а если сервер возвращает клиенту сам XML, это например сайты на которых используется AJAX или FLASH, для них экономия траффика и быстрый обмен очень важен!

Канешно читаемость у XML получше, чем у JSON, так как в нем достаточно много информации.
В данном примере не сильно видно так как он довольно маленький, но никто не заставляет разберать его в ручную... и напрямую никто с ним никогда не работает.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Thomas
В настоящее время запрещен

Бывалый


Пол: Пол: Он
Зарегистрирован: 29.03.2006
Сообщения: 3169
Откуда: /dev/null
Репутация: 138.5
голосов: 31

СообщениеДобавлено: Чт Окт 11, 2007 11:26 am    Заголовок сообщения: Ответить с цитатой

Не спорю, что кода меньше намного. В принципе если много данных то в XML использую атрибуты.

<data id="234" name="tes" value="some value"/>

Такой код будет намного меньше чем

<data>
<id>234</id>
<name>tes</name>
<value>some value</value>
</data>

Я так понял что с JSON нельзя делать никаких трансформаций, просто хранилище данных, я прав ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение [ скрыт ] Посетить сайт автора
Professional

Писатель


Пол: Пол: Он
Зарегистрирован: 30.01.2006
Сообщения: 376
Откуда: Туташний
Репутация: 67.9
голосов: 4

СообщениеДобавлено: Чт Окт 11, 2007 11:32 am    Заголовок сообщения: Ответить с цитатой

Thomas писал(а):
Не спорю, что кода меньше намного. В принципе если много данных то в XML использую атрибуты.

<data id="234" name="tes" value="some value"/>

Такой код будет намного меньше чем

<data>
<id>234</id>
<name>tes</name>
<value>some value</value>
</data>

Я так понял что с JSON нельзя делать никаких трансформаций, просто хранилище данных, я прав ?


Ты имееш ввиду можно ли изменять данные как DOM модель в XML?



Вот пример как JSON хранятся атрибуты

Код:
{
   "contacts" : {
      "contact" : {
         "@attributes" : {
            "id" : "1"
         },
         "name" : "John Doe",
         "phone" : "123-456-7890",
         "address" : {
            "street" : "123 JFK Street",
            "city" : "Any Town",
            "state" : "Any State",
            "zipCode" : "12345"
         }
      }
   }
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Thomas
В настоящее время запрещен

Бывалый


Пол: Пол: Он
Зарегистрирован: 29.03.2006
Сообщения: 3169
Откуда: /dev/null
Репутация: 138.5
голосов: 31

СообщениеДобавлено: Чт Окт 11, 2007 11:36 am    Заголовок сообщения: Ответить с цитатой

Я имел в виду что с этим JSON можно делать !?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение [ скрыт ] Посетить сайт автора
Professional

Писатель


Пол: Пол: Он
Зарегистрирован: 30.01.2006
Сообщения: 376
Откуда: Туташний
Репутация: 67.9
голосов: 4

СообщениеДобавлено: Чт Окт 11, 2007 11:48 am    Заголовок сообщения: Ответить с цитатой

Thomas писал(а):
Я имел в виду что с этим JSON можно делать !?


Есть написанные утилиты под разные языки, подключаеш модуль, и юзаеш стандартных 2 метода Encode и Decode
Приведу стандартные примеры работы JSON с PHP

Сначала из объекта получим строку JSON, а потом из строки JSON получим объект

ENCODE
Код:
<html>
    <head>
        <title>JSON-PHP Example</title>
    </head>
    <body>
<?php
    class Person {
   
        var $age;
        var $hairColor;
        var $name;
        var $siblingNames;
       
        function Person($name, $age, $hairColor) {
            $this->name = $name;
            $this->age = $age;
            $this->hairColor = $hairColor;
            $this->siblingNames = array();
        }   
    }
?>
<?php
    require_once("JSON.php");
    $oJSON = new JSON();
   
    $oPerson = new Person("Mike", 26, "brown");
    $oPerson->siblingNames[0] = "Matt";
    $oPerson->siblingNames[1] = "Tammy";

    $sOutput = $oJSON->encode($oPerson);
    print($sOutput);
?>           
    </body>
</html>


DECODE
Код:
<html>
    <head>
        <title>JSON-PHP Example</title>
    </head>
    <body>
<?php
    require_once("JSON.php");
    $oJSON = new JSON();
   
    $sJSONText = " {\"age\":26,\"hairColor\":\"brown\",\"name\":\"Mike\",\"siblingNames\":[\"Matt\",\"Tammy\"]}";
   
    $oPerson = $oJSON->decode($sJSONText);

    print("<h3>Person Information</h3>");
    print("<p>Name: ".$oPerson->name."<br />");
    print("Age: ".$oPerson->age."<br />");
    print("Hair Color: ".$oPerson->hairColor."<br />");
    print("Sibling Names:</p><ul>");
   
    for ($i=0; $i < count($oPerson->siblingNames); $i++) {
        print("<li>".$oPerson->siblingNames[$i]."</li>");
    }
   
    print("</ul>");
   
?>           
    </body>
</html>


А с объектами в PHP делай что хочеш, может я непойму сути вопроса... Unknown
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Thomas
В настоящее время запрещен

Бывалый


Пол: Пол: Он
Зарегистрирован: 29.03.2006
Сообщения: 3169
Откуда: /dev/null
Репутация: 138.5
голосов: 31

СообщениеДобавлено: Чт Окт 11, 2007 12:10 pm    Заголовок сообщения: Ответить с цитатой

В принципе понял что-то типа сериализации обьекта, объясню почему нравится XML & XSLT - тем что код отделяется от шаблона к примеру

Код:

function menu_rubrics() {
      $rubs = &$this->model->rubrics['byname']['tree']['all']['items'];
      $xml = XML::from_array('menu',$rubs);
      return XML::transform($xml,'pbank/menu',array('sel_page'=>$this->rubric));
}

Вот еще

function show_stats_menu($params){
   global $PM_DB;
   $PM_DB->fetch_sql('SELECT menuID,parentID,name,title,active,descr FROM menu_statistics order by prio',$res);
   PM_FLoad('xml');
   $xml=XML::from_array('menu',$res,'menuID,parentID,name,title,active,descr');   
   $vars = array('sroot'=>$params[0],'spage'=>$params[1]);   
   $res = XML::transform($xml,'stat_and_rating/menu',$vars);
   return $res;
}


Функции выводящие многоуровневое меню.
В PHP работаю с данными и не забочусь о циклах, условиях и прочей мелочью, просто накапливаю данные и готовлю их к выводу.
В показанных тобой примерах отделения кода от шаблона не увидел.

Сам подумай как хорошо когда тебе приходит сверстанный XSLT шаблон, ты просто подготавливаешь XML, делаешь выборки из базы, тебя абсолютно не волнует представление этих данных, и вуаля мы имеем готовую страницу Wink
Верстальщик занимается версткой, программист - программированием.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение [ скрыт ] Посетить сайт автора
Professional

Писатель


Пол: Пол: Он
Зарегистрирован: 30.01.2006
Сообщения: 376
Откуда: Туташний
Репутация: 67.9
голосов: 4

СообщениеДобавлено: Чт Окт 11, 2007 12:25 pm    Заголовок сообщения: Ответить с цитатой

Thomas писал(а):
В принципе понял что-то типа сериализации обьекта, объясню почему нравится XML & XSLT - тем что код отделяется от шаблона к примеру

Код:

function menu_rubrics() {
      $rubs = &$this->model->rubrics['byname']['tree']['all']['items'];
      $xml = XML::from_array('menu',$rubs);
      return XML::transform($xml,'pbank/menu',array('sel_page'=>$this->rubric));
}

Вот еще

function show_stats_menu($params){
   global $PM_DB;
   $PM_DB->fetch_sql('SELECT menuID,parentID,name,title,active,descr FROM menu_statistics order by prio',$res);
   PM_FLoad('xml');
   $xml=XML::from_array('menu',$res,'menuID,parentID,name,title,active,descr');   
   $vars = array('sroot'=>$params[0],'spage'=>$params[1]);   
   $res = XML::transform($xml,'stat_and_rating/menu',$vars);
   return $res;
}


Функции выводящие многоуровневое меню.
В PHP работаю с данными и не забочусь о циклах, условиях и прочей мелочью, просто накапливаю данные и готовлю их к выводу.
В показанных тобой примерах отделения кода от шаблона не увидел.

Сам подумай как хорошо когда тебе приходит сверстанный XSLT шаблон, ты просто подготавливаешь XML, делаешь выборки из базы, тебя абсолютно не волнует представление этих данных, и вуаля мы имеем готовую страницу Wink
Верстальщик занимается версткой, программист - программированием.


Согласен когда движок отделен от диза - это "сказка".
Я не говорю, что XML+XSLT хуже, но ведь уже есть связка JSON + XSLT

Пока видел в такой вариации, из JSON делают XML, и потом используют XSLT.

Код:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:json="http://json.org/">
    <xsl:import href="xml-to-json.xsl"/>
    <xsl:template match="my-node">
        <xsl:value-of select="json:generate(.)"/>
    </xsl:template>
</xsl:stylesheet>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Thomas
В настоящее время запрещен

Бывалый


Пол: Пол: Он
Зарегистрирован: 29.03.2006
Сообщения: 3169
Откуда: /dev/null
Репутация: 138.5
голосов: 31

СообщениеДобавлено: Чт Окт 11, 2007 12:47 pm    Заголовок сообщения: Ответить с цитатой

XSLT мощная штука
если можно хочу похвастаться )))

http://rssnews.org.ua/index.xsl

На этом файле крутится весь сайт, парсятся RSS ленты, выводится меню, деление на страницы, различные блоки и т.п. Можно сказать это был первый опыт с серьезной работы с XSLT. Данные лежат в XML файле, БД не используется. Только небольшой PHP файл, который формирует параметры для XSLT процессора и заменяет рекламные вставки (для удобства). Так же XSLT используется для добавления данных в XML в нужный узел.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение [ скрыт ] Посетить сайт автора
Professional

Писатель


Пол: Пол: Он
Зарегистрирован: 30.01.2006
Сообщения: 376
Откуда: Туташний
Репутация: 67.9
голосов: 4

СообщениеДобавлено: Чт Окт 11, 2007 12:51 pm    Заголовок сообщения: Ответить с цитатой

Thomas писал(а):
XSLT мощная штука
если можно хочу похвастаться )))

http://rssnews.org.ua/index.xsl

На этом файле крутится весь сайт, парсятся RSS ленты, выводится меню, деление на страницы, различные блоки и т.п. Можно сказать это был первый опыт с серьезной работы с XSLT. Данные лежат в XML файле, БД не используется. Только небольшой PHP файл, который формирует параметры для XSLT процессора и заменяет рекламные вставки (для удобства). Так же XSLT используется для добавления данных в XML в нужный узел.


Круто. Good Всё ворую движок ))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Thomas
В настоящее время запрещен

Бывалый


Пол: Пол: Он
Зарегистрирован: 29.03.2006
Сообщения: 3169
Откуда: /dev/null
Репутация: 138.5
голосов: 31

СообщениеДобавлено: Чт Окт 11, 2007 12:53 pm    Заголовок сообщения: Ответить с цитатой

Ну движком это не назвать просто скрипт для сайта) А брать - на здоровье я за Open Source Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение [ скрыт ] Посетить сайт автора
Professional

Писатель


Пол: Пол: Он
Зарегистрирован: 30.01.2006
Сообщения: 376
Откуда: Туташний
Репутация: 67.9
голосов: 4

СообщениеДобавлено: Чт Окт 11, 2007 12:59 pm    Заголовок сообщения: Ответить с цитатой

Thomas писал(а):
Ну движком это не назвать просто скрипт для сайта) А брать - на здоровье я за Open Source Wink


я сам писал модуль для RSS, просматрел одну статью по стандарту 2.0 в пхп пару строк по захвату файла и совмещении его с XSLT а там уже крути как хочеш...

В общем XSLT мощная вещь... полностью согласен.
На счет бери, я шучу, не люблю чужой код, максимум что могу взять с него так это идею или шаблон...
А если вернутся на тему JSON и XML, то счас как раз занят разработкой проект где буду использовать пока и то и другое, а точнее буду пробывать что лушче и удобнее...
Может в моих глазах JSON себя лучше проявит...
Ведь помимо экономии внутрь можна вписывать функции, но об этом пока знаю на уровне прочтненном... на тестах еще не пробывал..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Thomas
В настоящее время запрещен

Бывалый


Пол: Пол: Он
Зарегистрирован: 29.03.2006
Сообщения: 3169
Откуда: /dev/null
Репутация: 138.5
голосов: 31

СообщениеДобавлено: Чт Окт 11, 2007 13:06 pm    Заголовок сообщения: Ответить с цитатой

С XSLT можно вызывать php функции, выполнять что-то из файла стремно, можно подделать и выполнить на серваке все что угодно ).
Как сделаешь сообщишь о результатах, ведь все познается в сравнении
Вернуться к началу
Посмотреть профиль Отправить личное сообщение [ скрыт ] Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Мелитополь -> Программирование Часовой пояс: GMT + 2
На страницу Пред.  1, 2, 3  След.
Страница 2 из 3

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Р: 537410

База отдыха «Белый парус» пгт Кирилловка Азовское море.

Рейтинг Мелитопольских сайтов на Melitopol.org Hosting by VivaNET