LINUX.ORG.RU

Иллюзии XML/XSLT технологий или как русские разбивают мечты W3C


0

0

http://rizhikov.habrahabr.ru/blog/33728.html Фееричный девелопер с Цитрикса развенчивает довлеющие над Microsoft и W3C мифы о XML и XSLT. Русские никогда не искали легкий путей, поэтому всю разработку америкосы предпочитают отдавать индусам.

anonymous

Толксовый баян, но все же...

с убогостью xslt я столкнулся, когда приходилось использовать ораклевый xsql. для себя я вынес очень простой урок: из нечитаемой трансформации получаешь читаемый документ, ну а для читаемого xslt надо пожертвовать читаемостью документа (хтмл, или код при кодогенерации). по этой простой причине - фтопку: код всегда больше читается, чем пишется.

Pi ★★★★★
()

CDuce/OCamlDuce

anonymous
()
Ответ на: комментарий от Pi

Я вообще не понимаю смысла языков/конфигов на XML-е. Только ленивость программистов написать парсер. Тот же Maven мог бы имет нормальный читабельный конфиг, а получается какая-то каша.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

>Только ленивость программистов написать парсер

а зачем городить парсеры? ксмл любая макака знает. то, что ты называешь ленивостью программера, на самом деле называется прогнозируемостью: никому качество реализации в большенстве случаев не надо, нужно завтра и дешево.

Pi ★★★★★
()
Ответ на: комментарий от Pi

Читаемостью по-любому жертвовать придется, потому что XSLT по определению нечитаемый как и любой ФЯ, коим XSLT и является

anonymous
()
Ответ на: комментарий от anonymous

> по определению нечитаемый как и любой ФЯ

Не осилили ФЯ -- так и напишите.

anonymous
()
Ответ на: комментарий от tailgunner

> Я что-то не понял - XSLT убог или нет?

он не убог
на нем лежит печать самого многочисленного программерского рода

kto_tama ★★★★★
()

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

ИМХО это лучший язык для работы с древовидными данными. Надо просто с умом применять там где надо, и знать слабые стороны, чтобы их обходить.

anonymous
()
Ответ на: комментарий от anonymous

> ИМХО это лучший язык для работы с древовидными данными. Надо просто с умом применять там где надо, и знать слабые стороны, чтобы их обходить.

+1, лисп рулед, xml сасиод!

anonymous
()
Ответ на: комментарий от anonymous

Декларативные языки очень читабельны, гораздо читабельнее чем попсовое говно.

Просто XSLT крив и ущербен. То же самое можно сделать гораздо лучше и понятнее - см. cduce.

anonymous
()
Ответ на: комментарий от anonymous

> ИМХО это лучший язык для работы с древовидными данными.

Твоё ламерское имхо никому не интересно. Лучше бы ты его при себе придержал. Ты же не знаешь ничего о других языках, так что ты не в праве говорить, что xslt лучший. Вот тот же cduce ты видел, ламер?

anonymous
()
Ответ на: комментарий от NixU

Ты, очевидно, идиот. CDuce, в отличии от этого уродца xslt, абсолютно читабелен. Даже тот, кто языка не знает совсем, легко понимает смысл написанного.

Покажи конкретно, что в CDuce нечитабельно, например, приведи непонятную тебе строчку. Чтоб все увидели, насколько ты невменяем.

anonymous
()
Ответ на: комментарий от anonymous

The script that generates this site:
....
   xtransform [ (load_xml name) ] with 
   | <include file=(s & Latin1)>[] -> load_include s
   | <include-verbatim file=(s & Latin1)>[] -> load_file s 
   | <include-forest file=(s & Latin1)>[] -> 
         match load_xml ("string:<fake>"@(load_file s)@"</fake>") with
            <fake> x -> x | _ -> raise "Uhh?"
....
(c) CDuce

вот объясни мне дорогой мутант что сие означает?
и потом тебе не кажется идотег, что CDuce это всего лищь framework для разработки сайтов на OCalm?
Как только ты это поймешь можешь подмываться смотреть "Спокойной ночи
Малыши" и ложится спать ;)

NixU
()
Ответ на: комментарий от NixU

Может тебе сначала OCaml подучить, чудо? Здесь элементарный паттерн-матчинг и вызовы функций, плюс немного спецсинтаксиса CDuce для XML-ных типов данных.

anonymous
()
Ответ на: комментарий от anonymous

Может когда-нибудь и подучу :) но пока для человека, который первый раз видет листинг на Ocalm подобном языке выглядит этот CDuce страшновато, в отличии от того же XSLT

NixU
()
Ответ на: комментарий от NixU

> для человека, который первый раз видет листинг на Ocalm подобном языке выглядит этот CDuce страшновато

Непривычно. Страшновато выглядит как раз XSL (это же надо было запихнуть язык программирования в синтаксис языка разметки).

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Ниасилило быдло? А в нашей компании с 2000 года активно используется.

anonymous
()
Ответ на: комментарий от tailgunner

Как говорится на вкус и цвет фломастеры разные XML и есть язык разметки и XSLT есть язык разметки (ибо тож XML) Просто не надо пихать XML во все дыры и будет счастье :)

Вот в сабжевой статье человек бизнес-логику на XSLT реализовывал и кто он после этого?

NixU
()
Ответ на: комментарий от tailgunner

+1. Меня XSL вообще морально раздавил, я его теперь боюсь и с недоверием отношусь ко всем его пропагандистам.

А XPath, кстати, достаточно удобная штука.

Legioner ★★★★★
()
Ответ на: комментарий от NixU

> XSLT есть язык разметки (ибо тож XML)

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

tailgunner ★★★★★
()

У CDuce есть большой плюс: типобезопасность. То есть, если код скомпилировался, то любой XML, который он выдаст, гарантированно будет валидным.

Алсо, производительность. XSLT - известный тормоз, в любой реализации, а СDuсe компилируется в машинный код.

Алсо, любое язык программирования на основе зумеля = анальное рабство, без исключений.

dark_mikhail
()
Ответ на: комментарий от NixU

> выглядит этот CDuce страшновато, в отличии от того же XSLT

Pattern matching ты не знаешь, XSLT знаешь, и при этом сравниваешь. Ты не тупой? Нет! Ты тупой.

Таких как ты близко к программированию подпускать нельзя.

anonymous
()
Ответ на: комментарий от dark_mikhail

Пока некогда с ним разбираться, попробую спросить здесь: CDuce может преобразовывать XML в не-XML (например в HTML или вообще в SQL какой-нибудь)?

Legioner ★★★★★
()
Ответ на: комментарий от dark_mikhail

> Алсо

Тебя не предупреждали, что за эту быдлячью призказку принято шомполами пороть?

Что это хоть за язык то, на котором ты говоришь? На русский не похоже, на английский тем более.

anonymous
()
Ответ на: комментарий от tailgunner

Слушай ну вот что тебе конкретно не нравится в том что он упакован в язык разметки? В случае с XML это наоборот плюс.

P.S. всем пока! пошел домой.

P.P.S. Девушки + Вкусная еда + Хорошое спиртное лучше любого ЯП!

NixU
()
Ответ на: комментарий от anonymous

> А как, по твоему, аноним будет удалённые читать?

Зарегистрируется? Ну или сделаем проще:

-------
XML:
<?xml version="1.0"?>
<Document number="12">
<Person>
<Fio>Иван Иванович Иванов</Fio>
<Addr>ул. Мира и Дружбы, 12</Addr>
<Email>ivan@peace.net</Email>
<Www>http://www.ivan.ru/</Www>;;
</Person>
<Message>Не культурный Аноним - [censored]</Message>
</Document>
XSL:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">;;
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/Document">
<h1><xsl:value-of select="@id" /></h1>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="Person">
<h4>Сообщение написал: <xsl:value-of select="FIO" /></h4>
<h4>Адрес: <xsl:value-of select="Addr" /></h4>
<h4>E-mail: <xsl:value-of select="Email" /></h4>
<h4>WWW: <xsl:value-of select="Www" /></h4>
<h4>Текст сообщения:</h4>
<div>
<p><xsl:value-of select="Message" /></p>
</div>
</xsl:template>
</xsl:stylesheet>

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

И? Что я по этому поводу сказать должен? Вариант на CDuce показать?

А выглядит оно на XSLT очень уродски, просто неимоверно уродски.

anonymous
()
Ответ на: комментарий от NixU

> ну вот что тебе конкретно не нравится в том что он упакован в язык разметки?

Синтаксис уродский для языка программирования, с которым обязан иметь дело в основном человек (в отличие от XML, который предназначен в основном для разбора программами).

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Ясно, значит штука хорошая. Сейчас просто Scala приглянулась своим зумелем, в язык встроенным, но хороший DSL ещё лучше будет (особенно ML-подобный).

Legioner ★★★★★
()
Ответ на: комментарий от anonymous

> И? Что я по этому поводу сказать должен?

Лучше ничего не надо.

> Вариант на CDuce показать?

Да, если не трудно.

tailgunner ★★★★★
()
Ответ на: комментарий от NixU

> Слушай ну вот что тебе конкретно не нравится в том что он упакован в язык разметки? В случае с XML это наоборот плюс.

Это не плюс ни разу. Слишком много синтаксиса и слишком мало смысла. Так же, не видно разницы между логикой, шаблонами и форматированием результата. Уродство редкостное.

> Хорошое спиртное

Понятно, почему у тебя мозга нет. Пропил всё. Спиртное до добра не доводит, даже самое хорошее.

anonymous
()
Ответ на: комментарий от tailgunner

match doc with
  <Document [p::Person *]> ->
     match p with
        <Person [<Fio>f <Addr>addr <Email>mail] ... ->
          <span>
           <h4>Накорябол маляву: f</h4>
           <h4>Мыло: mail</h4>
        ну и ты ды, лениво дальше песадь

anonymous
()
Ответ на: комментарий от NixU

>Просто не надо пихать XML во все дыры и будет счастье :)

Просто не надо пихать XML вообще никуда

anonymous
()

Сабжевый оратор прав. Надо пользоваться прежде всего мозгом, а потом уже технологиями.

temp
()

Эти господа поистине смехотворны. XML всего навсего контейнер для хранения чего-либо, и есдинственное его назначение - унифицировать хранение и передачу данных. Хуманам ни читать его ни тем более писать вовсе ни к чему. Сооруди себе простецкий ДСЛ, сконверти написаное на нём простецкой же конвертилкой в хмл, и будед тебе счастия полные портки. Нет же, расплакались что цуко хмл за пифком не лазит и вместо кодера не думает.

Ко всему выше сказаному же +0.

bugmaker ★★★★☆
()

Странно что никто не упомянул про XQuery. А ведь назначение эго близко к XSLT и в большенстве случаев они вполне взаимозаменяемы.

Не любителям XSLT должно понравится. ;)

SV0L0CH
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.