Согласно форумам Spirit, ответ следующий:
Возможно, вы захотите взглянуть на анализатор перестановок:
a ^ b ^ c
Что соответствует a или bили c (или их комбинацию) в любой последовательности.
Если целью является синтаксический анализ структуры, то лучший способ проверить, были ли инициализированы все необходимые элементы, должны бытьобернутый boost::optional<>
Наличие атрибута может быть легко проверено после анализа во время выполнения.