Forum:Templates with arbitrary parameters

I want to create a template that sets semantic properties -- basically, a bit of a more user-friendly version of the #set parser function that will also happen to be backwards-compatible with my wiki's old DPL information-storage templates. The template would look like and that would basically translate into. This basically requires a template that takes arbitrary parameters -- arbitrary on both name and number. Is there a way to do this -- extract the information about parameters passed to the template? Surgo 23:44, September 23, 2009 (UTC)
 * Sure. Syntax looks like
 * Your template:Semantic then does
 * If you nest them like that, then the expansion will stop when it runs out of parameters, rather than exhaustively test every one. It's a little more friendly to the servers.
 * I don't know what syntax you were using with dpl, but if you need to massage the format of the template calls, then Autowikibrowser (AWB) is a simple tool that can get you converted fast. 03:05, September 24, 2009 (UTC)
 * I don't know what syntax you were using with dpl, but if you need to massage the format of the template calls, then Autowikibrowser (AWB) is a simple tool that can get you converted fast. 03:05, September 24, 2009 (UTC)


 * That's what I'll probably end up doing I suppose, but I was really hoping there was a way to do it with . Surgo 21:19, September 24, 2009 (UTC)
 * Well, if you are married to that syntax, you could do this using string parsing functions, except with some delimiter other than an = eg: would give you param, and |1 would give you value.  By instinct I avoid this sort of thing, relying on core wikitext functions wherever possible- assuming they are more optimized.  This intuition is not informed by any direct knowledge of any performance penalty of string parsing functions- I just am leery of getting fancy if I don't have to.    20:19, September 25, 2009 (UTC)
 * (I modified the the response above). An = sign has a special meaning in templates, so you can't pass it directly.  You must substitute a dash or a colon.   05:42, September 26, 2009 (UTC)