Наткнулся в инете на совершенно бесподобную отечественную разработку под названием Brainfuck XML. По сути - это семантический язык разметки, который сочетает в себе структурированный строгий подход к данным XML и совершенно мозгодробительный синтаксис Brainfuck. Это просто какая-то манна небесная для любого сумасшедшего перлового программиста :)
Собственно, к черту лирику, вот пример кода на BFXML:
+><records>
+><car@name@make@year>
+><country><record@type>
^.+HSV Maloo+Holden+2006#+Australia+Production Pickup Truck with speed of 271kph+speed
^.+P50+Peel+1962#+Isle of Man+Smallest Street-Legal Car at 99cm wide and 59 kg in weight+size
А вот тот-же самый код в виде классического XML
<records>
<car name="HSV Maloo" make="Holden" year="2006">
<country>Australia</country>
<record type="speed">Production Pickup Truck with speed of 271kph</record>
</car>
<car name="P50" make="Peel" year="1962">
<country>Isle of Man</country>
<record type="size">Smallest Street-Legal Car at 99cm wide and 59 kg in weight</record>
</car>
</records>
Правда прелестно? :)
BFXML -- интересная штука. Структура данных является динамичной и может ловко на ходу меняться. У всего этого великолепия есть только один несущественный недостаток -- кроме draft'a описания структуры BFXML нету ничего! Т.е. нету ни одной библиотеки, ни одного парсера, ни одного даже самого плохенького рабочего примера.
Но разве нас это остановит? По-моему отсутствие готовых реализаций -- это, как красная тряпка, для любого сумасшедшего программиста :) Это вызов! Более того... я реально собираюсь эту штуку использовать в некоторых своих проектах...
Для начала нужен будет полноценный конвертор XML <-> BFXML, потом нужен будет парсер и библиотечка с функционалом XPath и DOM. Думаю, если бы была возможность заниматься этим вопросом на работе fulltime, то за 2-3 месяца можно было-бы сделать вполне рабочую реализацию упомянутого выше списка.
Ещё почему-то подумалось, что неплохо бы сделать какую-нибудь утилиту для визуализации XML данных. Ну, т.е. чтобы она рисовала структура в виде каких-то геометрических примитивов и связей между ними. Это бы могло в некоторых случаях здорово помочь в понимании большой и сложной XML структуры (например такой, какая у меня сейчас на работе возникла)... и потом, было бы более очевидно, как можно такую структуру оптимизировать.
гость
гость
гость
гость