relaying yet another conversation between me an TMg on <https://meta.wikimedia.org/wiki/Talk:Wikidata/Notes/Inclusion_syntax>:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ I'm very sorry but I think this is way to complicated. I'm a software developer and I think I should be able to understand all this in seconds when I look at it. I think you should create a toolkit that is very tiny and very easy to understand. Extremely powerful tools like in your example with all the complicated parameters (even comma-separated, which I think is horrible) are way to restricted in the end and can be used only in very, very few cases. Here is how your example should work in my opinion: |- | Population | {{#formatnum: {{{data.population}}} }} | {{#time: {{{data.population.timestamp}}} }} | {{{data.population.source}}} | {{{data.population.indicators}}} | [{{{data.population.edit}}} edit] This belongs in a template. In an article we will never write {{#data-value:data.population|show=label,value,timestamp,source,indicators,edit|form=tr}}. We will write {{Population table row}} instead. As said before, I don't understand why we should use HTML table syntax in a wiki? There is a table syntax. We know how it works. Don't force us to use an other syntax, please. We have tools to format numbers, timestamps and to create references and links. We have powerfull tools to create templates. We are able to use styles and classes and HTML. We don't need a new syntax to do thinks we already can do. This is not only confusing, it is highly counterproductive. Don't work against the template syntax, work with it. data.population should output the unformatted population. We have tools to format numbers. data.population.timestamp should output an unformatted timestamp. We have tools to format timestamps. data.population.edit should output an URL. We have tools to create links. data.population.source should output <ref> tags. --TMg 09:38, 23 May 2012 (UTC) Ok, so you want to handle all parts of each value by hand. Fine. It is possible for most things, as you said. But it's very tricky to do in other cases, and very redundant to have to do it over and over. Here's a few things that I can't think of a good way to do using templates: * Unit conversion. Even if you have templates to do this, you would need a plain number as input. but data.population may not be a single value, but (e.g. in case of a dispute) a list or range of values. * indicators are generally complex html * the edit link would normally contain javascript that invokes the on-site editing interface. Only as a fallback would it actually link somewhere. And it should not be formatted as an external link, nor should it end up in the externallinks table. * data.population.source is actually a list of sources, each of which needs a template for rendering. You are already generating complex html at this point. * in the case of #data-values (plural), each value (actually, each statement, see the data model spec) for a property would be listed separately. You would need a foreach loop to do this in a template. With Lua, this will be possible in the future, but right now it isn't. * While i agree that it's not very nice to be outputting entire table rows from a parser function, I think it would very hard to cover the above with a simpler approach. If you can think of a cleaner, nicer, yet workable way, let me know. -- Duesentrieb (talk) 10:19, 23 May 2012 (UTC) -- Daniel Kinzler, Softwarearchitekt Wikimedia Deutschland e.V. | Eisenacher Straße 2 | 10777 Berlin http://wikimedia.de | Tel. (030) 219 158 260 Wikimedia Deutschland - Gesellschaft zur Förderung Freien Wissens e.V. Eingetragen im Vereinsregister des Amtsgerichts Berlin-Charlottenburg unter der Nummer 23855 B. Als gemeinnützig anerkannt durch das Finanzamt für Körperschaften I Berlin, Steuernummer 27/681/51985. _______________________________________________ Wikidata-l mailing list Wikidata-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-l