Страница 1 из 1

XML/XSL - зачем?

СообщениеДобавлено: 07 окт 2013, 17:49
guyasyou
Часто вижу требование знать XML/XSL в разных вакансиях по web-разработкам.
Посмотрел вики и еще пару статей, но так и не вник, зачем оно надо? В чем лучше связки HTML+CSS?

Re: XML/XSL - зачем?

СообщениеДобавлено: 07 окт 2013, 18:01
cmsservice
Ну, например, если для UMI берут человека (а сейчас много студий на ней работает), то там шаблонизатор построен на XML/XSLT. Лучше тем, что в XSLT преобразованиях более мощный язык, циклы есть. Хотя CSS тоже активно используется, но уже дальше. Т.е. порядок такой: данные в XML -> XSLT-преобразование и на выходе HTML, к которому подключается CSS и отдается браузеру.

Кроме того, XML/XSLT часто используются при различных интеграция с внешними системами, например для e-commerce в России стандарт обмена - CommerceML (это тоже XML). Много еще разных применений, чтобы не изобретать велосипед. :)

Re: XML/XSL - зачем?

СообщениеДобавлено: 07 окт 2013, 18:11
guyasyou
XML -> XSLT-преобразование и на выходе HTML, к которому подключается CSS и отдается браузеру.


Аналог PHP -> HTML?

Re: XML/XSL - зачем?

СообщениеДобавлено: 07 окт 2013, 19:53
Count_Raven
guyasyou писал(а):
XML -> XSLT-преобразование и на выходе HTML, к которому подключается CSS и отдается браузеру.


Аналог PHP -> HTML?

Чего? Как может быть аналог PHP -> HTML?
XML - это язык описания структур данных, при этом есть еще DTD - (вы его указываете в самом начале к примеру XHTML-документа) т.е. это набор правил, по которым формируется документ.
Также XML можно использовать в AJAX-запросах, вместо JSON, который ныне популярен и проще.
Вообще, сама аббревиатура AJAX значит "Asynchronous Javascript and XML".

При этом возьмем к примеру CMS - Symphony (не путать с крутым PHP-фреймворком Symfony) - оно там вообще на этом завязано. Т.е. принципиально без этого не работает.

В Concrete5 вы описываете базы данных в db.xml при помощи XML.
XML может описывать любые структуры данных. Если вы учились в каком-то институте на программиста, то там это преподают и даже зачеты по этой теме сдают (в мое время, а это 10 лет назад, это уже было).

XSLT вы бы там тоже изучили, это уже правила преобразования и отображения структуры XML-документа.

Re: XML/XSL - зачем?

СообщениеДобавлено: 07 окт 2013, 20:47
guyasyou
XML - это язык описания структур данных

терь понял)))

Re: XML/XSL - зачем?

СообщениеДобавлено: 08 окт 2013, 09:23
cmsservice
guyasyou писал(а):
XML -> XSLT-преобразование и на выходе HTML, к которому подключается CSS и отдается браузеру.


Аналог PHP -> HTML?

Совсем нет, это я привел частный случай применения для отображения данных вебе хранящихся в XML. Count_Raven все более развернуто и в общем виде описал. Кроме того, под протоколом SOAP лежит XML, сервис с клиентом им друг в друга "кидаются". Например, если писать простенький модуль, который курсы валют получает от сайта ЦБ, то в ответ на запрос получаешь XML.

Вообще для XML есть множество применений, т.ч. весьма полезная штука, хотя и накладных расходов много. XHTML - есть HTML синтаксис основанный на правилах XML. В PHP5 встроен простой парсер XML. Еще пример, ADODB использует XML-описание таблиц (см. db.xml в С5) для того, чтобы мы могли абстрагироваться от синтаксиса описания типов данных и таблиц конкретной БД. Короче тут простор для творчества большой.