?

Log in

И о работе - Оживший юзерпик

Nov. 12th, 2014

02:09 pm - И о работе

Previous Entry Share Next Entry

Люди, которые добровольно, без угрозы извращённым насилием, придумали такой вот синтаксис:

<xsl:for-each
select="/pig-rescue/animal[position() &gt;= $start and position() &lt;= $end]


(И эти &gt; там не от того, что я это вставляю в ЖЖ, а прямо вот так и надо программировать!)

Так вот, люди эти я даже прям вот и не знаю, кто.

Comments:

[User Picture]
From:aparella
Date:November 12th, 2014 11:55 am (UTC)
(Link)
Кто-кто...
У тебя ж прям написано - animal

Edited at 2014-11-12 11:56 am (UTC)
(Reply) (Thread)
From:dmzlj
Date:November 12th, 2014 11:59 am (UTC)
(Link)
Они неуиноватые, это ж xml, как там в атрибут скобки ставить?
(Reply) (Thread)
[User Picture]
From:vitus_wagner
Date:November 12th, 2014 12:10 pm (UTC)
(Link)
Люди которые придумали. что синтаксис языка программирования должен быть XML, и при этом логические выражения должны писаться в атрибуты, а не хотя бы в тело элементов, и есть те кого имел в виду Борис.

Был же в свое время DSSSL, который функционально эквивалентен XML-ю но использует более человеческую нотацию.
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:November 12th, 2014 12:12 pm (UTC)
(Link)
Отымянно.
(Reply) (Parent) (Thread)
[User Picture]
From:rmrfchik
Date:November 12th, 2014 12:47 pm (UTC)
(Link)
Да какая разница, в тело или не тело.
В XML отсутствует самореферентность. Это значит, что куча информации будет писаться независимым от XML способом.
Поэтому все DSL на XML состоят из двух половинок -- одна как бы xml:
<choice>
<when>
...
Вторая уже вне xml:
<choice>
<when>
<expr>a &lt; b</exprt>
...

И т.д.

Edited at 2014-11-12 01:09 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]
From:link0ff
Date:November 15th, 2014 03:39 pm (UTC)
(Link)
<expr>
<lt>
<var>a</var>
<var>b</var>
</lt>
</expr>


Edited at 2014-11-15 03:40 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:November 15th, 2014 03:51 pm (UTC)
(Link)
Удобненько!
(Reply) (Parent) (Thread)
[User Picture]
From:rmrfchik
Date:November 16th, 2014 06:41 am (UTC)
(Link)
Переменный "a" и "b" лежат в другом, отличном от "lt, expr" неймспейсе.
Поэтому обрабатывать их будут разные куски парсера. И если первый парсер хорошо известен -- это xml, то второй парсер будет написан на коленках и моментально обзаведётся конструкциями вида <def a="${{b}}+${{c}}" >
(Reply) (Parent) (Thread)
From:dmzlj
Date:November 12th, 2014 12:50 pm (UTC)
(Link)
Но это же язык преобразования XML-я, ему ли быть не XML-ем.
Хотя вместо a < b могли бы сделать, например, le(a,b), но
ширнармассы бы не поняли, как обычно.

Edited at 2014-11-12 12:51 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]
From:vitus_wagner
Date:November 12th, 2014 01:02 pm (UTC)
(Link)
XML это всего лишь один из способов сериализации некоего класса абстрактных деревьев. Для восприятия человеком соовершенно не предназначенный.

Почему бы для языка программирования, который предназначен для чтения и написания человеком, не выбрать более другой способ сериализации?

Меня, надо сказать и в web-разработке удивляет до глубины ушей, что все шаблонизаторы работают с HTML-текстом, а не с DOM.
(Reply) (Parent) (Thread)
From:dmzlj
Date:November 12th, 2014 01:12 pm (UTC)
(Link)
Еще интереснее, почему стандартный язык запросов к дереву и преобразования деревьев есть только для XML. От XML сейчас все отказались, и хипстеры сейчас JSON процессят при помощи циклов на джаваскрипте.
(Reply) (Parent) (Thread)
[User Picture]
From:jsn
Date:November 12th, 2014 01:12 pm (UTC)
(Link)
Уж так и все. HAML и т.п. вполне массово используются (про экзотику типа html as s-exps в лиспах у и не говорю). Надо сказать, как только в лавке появляется отдельный специалист-верстальщик, все эти милые программистскому сердцу абстракции отправляются на свалку истории.
(Reply) (Parent) (Thread)
[User Picture]
From:dzz
Date:November 12th, 2014 01:23 pm (UTC)
(Link)
Я знаю, кто они. Но не скажу, потому что очень вежливый ;)))

(Reply) (Thread)