getRootNode('chill_amli_family_members'); $rootNode ->children() ->arrayNode('links')->isRequired()->requiresAtLeastOneElement() ->arrayPrototype() ->children() ->scalarNode('key')->isRequired()->cannotBeEmpty() ->info('the key stored in database') ->example('grandson') ->end() ->arrayNode('labels')->isRequired()->requiresAtLeastOneElement() ->arrayPrototype() ->children() ->scalarNode('lang')->isRequired()->cannotBeEmpty() ->example('fr') ->end() ->scalarNode('label')->isRequired()->cannotBeEmpty() ->example('Petit-fils') ->end() ->end() ->end() ->end() ->end() ->end() ->end() ->arrayNode('professionnal_situations')->isRequired() ->info("the list of professional situations. If empty, the field will not be shown") ->arrayPrototype() ->children() ->scalarNode('key')->isRequired()->cannotBeEmpty() ->info('the key stored in database') ->example('student') ->end() ->arrayNode('labels')->isRequired()->requiresAtLeastOneElement() ->arrayPrototype() ->children() ->scalarNode('lang')->isRequired()->cannotBeEmpty() ->example('fr') ->end() ->scalarNode('label')->isRequired()->cannotBeEmpty() ->example('Étudiant') ->end() ->end() ->end() ->end() ->end() ->end() ->end() ->arrayNode('familial_situations')->isRequired() ->info("the list of familial situations. If empty, the field will not be shown") ->arrayPrototype() ->children() ->scalarNode('key')->isRequired()->cannotBeEmpty() ->info('the key stored in database') ->example('half_time_keeping') ->end() ->arrayNode('labels')->isRequired()->requiresAtLeastOneElement() ->arrayPrototype() ->children() ->scalarNode('lang')->isRequired()->cannotBeEmpty() ->example('fr') ->end() ->scalarNode('label')->isRequired()->cannotBeEmpty() ->example('En garde alternée') ->end() ->end() ->end() ->end() ->end() ->end() ; return $treeBuilder; } }