Gjenbruk og malverk hører sammen, og malverket vi har nå er litt vanskelig å tweake for å få til gjenbruk. Derfor har jeg sett på litt forskjellige varianter med microformat, microdata og RDFa. Det er en del sterke meninger om hvordan malverket skal se ut, men alle disse innspillene har jeg sett bort fra. Løsningen er derfor nokså annerledes enn de som er brukt tidligere, men resultatet blir stort sett det samme. Foreløpig er dette en arbeidsskisse som genereres utfra noen definisjonsfiler. Det er ikke lastet opp til Wikipedia fordi antall sider og meldinger er såvidt stort at det bør tas noen foreløpige avgjørelser før det blir gjort såvidt store endringer. Dels fordi bare det å rulle tilbake en installasjon er omfattende, men også fordi vedlikeholdet blir litt mer krevende enn idag. Det er enkelt å generere malene, men når malene er generert og noen endrer på de så blir automatisk vedlikehold vanskelig og det ender med manuelt vedlikehold.

Malene er basert på definisjonene til Schema.org. Disse definisjonene er lisensiert CC-by-sa utfra deres terms and conditions. Alle definisjoner som brukes i deres typer tas over i det nye malverket og brukes der til å tagge properties som tilsynelatende ser ut som våre parametre. Fordi Schema.org fokuserer på microdata så er det nye malverket også basert på microdata. I tillegg legges microformat inn i den grad det er mulig slik at malene også kan parses utfra denne standarden. For å gi ytterligere fleksibilitet kan vi definere våre egne klasser for å utvide microformat til å dekke hele begrepsapparatet til Schema.org, dog med ustandard navn på klasser. Det er ikke lagt opp til bruk av RDFa.

Så hvordan ser dette ut? I utgangspunktet veldig likt dagens malverk, men malverket kan også bruke engelske parameternavn. Formen som er vist under er den som brukes i artikkelen.

Norske (bokmål) parameternavn
{{Person
  |navn=Donald Duck
  |mor=Bestemor Duck
}}
Engelske parameternavn
{{Person
  |name=Donald Duck
  |mother=Bestemor Duck
}}

Dette vil lage en infoboks som blir presentert for brukeren på dennes valgte brukerspråk, hvis systemmeldinger for dette språket er definert. Hvis ikke kommer de tilhørende systemmeldingene på innholdsspråket. Det betyr at vi kan ha infobokser på ikke bare bokmål og nynorsk, men også på svensk, tysk, fransk og nordsamisk. Det er flere måter å oversette malen fra det lokale språket og til et annet språk, men mer om det siden.

Presentasjonen til malen er ikke kodet inn i selve malen, den er satt opp slik at den bruker klassenavn for å definere alle aspekter ved utlegget. Hvis samme mal brukes på nynorsk Wikipedia så kan den være rammeløs der, den kan ha forskjellig farge på odde og even rader på bokmål og være hvit og bærre lækker på samisk. All presentasjon settes opp via styling av de samme elementene. Hvis en bruker ønsker å lage sitt eget utseende på den så kan alt overstyres.

Det er noen ekstra muligheter i malverket, hvor det viktigste er at en kan opprette lister av opplysninger på en mye mer elegant måte enn idag. På enkleste form ser dette ut som til venstre

Norske (bokmål) parameternavn
{{Person
  |navn=Donald Duck
  |mor=Bestemor Duck
  |barn={{Personer|Ole|Dole|Doffen}}
}}
Engelske parameternavn
{{Person
  |name=Donald Duck
  |mother=Bestemor Duck
  |children={{Persons|gender|male|male|male}}
}}

Nesten det samme som i dag, men antakelig må det jobbes litt med parameternavnene for å få de til å stemme overens med det som er i bruk på Wikipedia. Navnene rett ut av generatoren er basert på property-navnene i Schema.org og reflekterer ikke parameternavn på Wikipedia.

Så er det noe som er nytt fra nå, malene kan brukes i andre sammenhenger enn som infobokser. Dette kommer av den sentraliserte stylingen, og hvordan denne fungerer. Dette gjør det også mulig å lage mer fullstendige oppføringer

Norske (bokmål) parameternavn
{{Person
  |navn=Donald Duck
  |mor=Bestemor Duck
  |barn={{OrdnetListe
    |{{Person|navn=Ole Duck|kjønn=mann}}
    |{{Person|navn=Dole Duck|kjønn=mann}}
    |{{Person|navn=Doffen Duck|kjønn=mann}}
  }}
}}
Engelske parameternavn
{{Person
  |name=Donald Duck
  |mother=Bestemor Duck
  |children={{OrderedList
    |{{Person|navn=Ole Duck|gender=male}}
    |{{Person|navn=Dole Duck|gender=male}}
    |{{Person|navn=Doffen Duck|gender=male}}
  }}
}}

Schema.org har også veldefinerte metoder for hvordan en utvider når grunnkonfigurasjonen mangler parametre eller datatyper. Dette gjør at det er nokså greit å utvide med tillegg slik at hele parametersettet til Wikipedias ordinære infobokser kan dekkes. Typiske eksempler er byline for bilder og våpenskjold for kommuner og lignende. Slike tillegg vil ikke på noe vis skille seg ut for skribenten. Parametre fra de eksisterende infoboksene bør vurderes for inklusjon i det nye malverket før større mengder materiale lastes opp.

Norske (bokmål) parameternavn
{{Person
  |bilde=Donald.jpg
  |billedtekst=Fetter Anton (foto)
  |navn=Donald Duck
  |mor=Bestemor Duck
}}
Engelske parameternavn
{{Person
  |image=Donald.jpg
  |byline=Fetter Anton (foto)
  |name=Donald Duck
  |mother=Bestemor Duck
}}

Dette kommer med enkelte små kostnader. Hele typesettet vil produsere noe over 300 maler, i tillegg kommer omtrent 40 interne maler for deler av typer. Det er omtrent 180 properties hvor hver som minimum har tittel og beskrivelse, hvor begge disse skal finnes på brukerspråk og innholdsspråk. I tillegg kan disse ha en property-spesifikk klasse og en enhetsbeskrivelse. Forsiktig anslått rundt 1500 systemmeldinger.

den foreslåtte løsningen kan ikke kjøre på dagens oppsett på Wikipedia. For å få det til å fungere trengs {{#pos}} noe som forutsetter string-funksjonene og som finns i parser functions men er avslått. I tillegg må $wgAllowMicrodataAttributes slås på, sammen med $wgHtml5. Fordi disse mangler så er det ikke mulig å testkjøre malverket på Wikipedia.