Net als lussen (boucles) hebben bakens vaak optionele componenten en kunnen ze soms ook parameterargumenten accepteren. Asterisks kunnen worden toegepast om bepaalde processen te omzeilen die normaal gesproken automatisch worden uitgevoerd voor dat baken.
#BAKEN
#BAKEN{argument}
#BAKEN{argument, argument, argument}
#BAKEN*
#BAKEN**
[(#BAKEN)]
[(#BAKEN{argument})]
[(#BAKEN*{argument})]
[ voor (#BAKEN) na ]
[ voor (#BAKEN{argument}|filter) na ]
[ voor (#BAKEN{argument}|filter{argument}|filter) na ]
...
Hoe de haakjes werken
De volledige syntaxis, met haakjes en vierkante haakjes, wordt verplicht zodra één van de argumenten van het baken ook haakjes en vierkante haakjes gebruikt, of wanneer het baken een filter bevat.
// kans op vervelende verrassingen:
#BAKEN{[(#BAKEN|filter)]}
// altijd juist geïnterpreteerd:
[(#BAKEN{[(#BAKEN|filter)]})]
// dit werkt, maar een goed resultaat is niet gegarandeerd:
#BAKEN{#BAKEN|filter}
// gebruik maken van dit filter betekent dat je ook haakjes en vierkante haakjes MOET gebruiken:
[(#BAKEN|filter)]
Voor details over de betekenis van de vierkante haken en haakjes verwijzen wij naar het artikel in de officiële SPIP-documentatie: De syntax van de bakens.