В качестве домашнего проекта
начал потихоньку делать рендерер страниц на python.
Но вопрос не по языку.
Нужно организовать правильную структуру данных для удобного поиска подходящих правил.
Пример:
css:
a { display: block; font-size: 12pt; }
div p.links a { color: green; display: inline; }
Предположим, что я распарсил этот фрагмент и получил необходимую структуру.
Теперь должно быть возможно сделать такое:
cssTable.get_styles( 'html > div#content > h3 > a' );
Это возвратит: { display: block; font-size: 12pt; }
Если я запрашиваю такой путь:
cssTable.get_styles( 'html > div#content > p.links > a' );
Это должно возвратить совмещенное правило: {display: inline; color: green; font-size: 12pt;}
Есть идеи как правильно организовать такую структуру?