16 May, 2008
Продолжая тему предыдущего поста.
Kwalify - парсер, валидатор и data binding (не знаю как перевести) для YAML и JSON. Реализация на Ruby и Java.
Data binding означает что вы можете связать схему с классом (прописать в схеме имя класса), и при валидации YAML файла валидатор вернет экземпляр этого класса с данными из файла.
Ruby
- 0 Comments
Нашел в сети интересный проект — JSON Schema по валидации данных в формате JSON. Формат описания схемы — JSON, синтаксис ясный и понятный, особенно если Вам приходилось писать схемы для XML. Само описание схемы стандартное: базовые типы, сложные типы, минимальные/максимальные значения, RegExp, расширения на других схем. Т. е. взято все лучшее из XML схем.
Сейчас существует реализация валидатора на JavaScript, но думаю для других языков он и не очень нужен (хотя бывает полезен, и думаю появится).
Ссылки по теме:
JavaScript
- 0 Comments
12 May, 2008
Люблю PostgreSQL вот за такие вещи (думал написать сам, но погуглив нашел у Torchbox):
CREATE AGGREGATE to_array (
sfunc = array_append,
basetype = anyelement,
stype = anyarray,
initcond = '{}'
)
Теперь существует агрегатная функция to_array(), которая превращает выбраный столбец в массив.
Например, из таблицы:
col_a | col_b
-------+-------
a | 1
a | 2
a | 3
b | 1
b | 5
b | 12
по запросу
SELECT col_a, to_array(col_b) FROM sometable GROUP BY col_a;
вернется
col_a | to_array
-------+----------
b | {1,5,12}
a | {1,2,3}
Массив можно легко перевести в строку с помощью array_to_string(anyarray, text) и тогда по запросу
SELECT col_a, array_to_string(to_array(col_b), '; ') FROM sometable GROUP BY col_a;
получается красота вроде:
col_a | array_to_string
-------+-----------------
b | 1; 5; 12
a | 1; 2; 3
В обратную сторону, кстати тоже можно :)
SQL
- 0 Comments
24 April, 2008
XML
- 0 Comments