a
Вы сами себе создаёте проблему и пытаетесь героически её решить, но не понимаете, почему другие не оценивают ваш энтузиазм. Посмотрите, как удобно сделано в XJST — там блоки декларируются как
block('some-block'), элементы — block('some-block').elem( 'logo' ) и т. д. И всё наглядно.Как выше писал Сергей, достаточно декларации в области блока, а т. к. это один блок, все остальные упоминаемые сущности с большей вероятностью будут элементами.
Если возникнет ситуация, когда внутри блока
SomeBlock с элементом Logo (SomeBlock-Logo) мне понадобится задекларировать блок Logo, я просто опишу её внутри SomeBlock-Logo (а не в SomeBlock), а если это микс, то декларация SomeBlock-Logo вообще не понадобится.



