Modul:Statements/dok
Dette er dokumentasjonssiden for Modul:Statements
Statements er en eksperimentell modul for å sette inn verdier fra utsagn i eksisterende infobokser, og er et alternativ til parserfunksjonen {{#statements}}
. Modulen gjør nesten det samme, men kan også vise kvalifikatorer og referanser. Den har to former; text
som gir ren tekst og html
som gir html.
Bruk[rediger kilde]
Selv om det er mulig å kalle funksjoner direkte fra andre moduler, så er formålet at modulens funksjoner skal kalles direkte fra maler.
Metoder[rediger kilde]
- text
- Forenklet utlegg, men tilstrekkelig for testing av eksistens av verdier. Vil ikke vise kvalifikatorer og referanser.
- html
- Fullt utlegg, med lenking, kvalifikatorer og referanser.
Parametre[rediger kilde]
- anonyme
- Tittel eller P-id for angivelse av egenskapen som skal brukes.
- from
- Tittel eller P-id for angivelse av egenskapen som skal brukes. Hvis parameteren mangler eller er tom så vil det koblede elementet brukes.
Eksempler[rediger kilde]
Kode | Utlegg |
---|---|
; [[Marokko]]s {{P|31}}
: tekst: {{#invoke:Statements|text|P31|from=Q1028}}
: html: {{#invoke:Statements|html|P31|from=Q1028}}
; Referanser
<references />
|
|
; [[Marokko]]s {{P|1082}}
: tekst: {{#invoke:Statements|text|P1082|from=Q1028}}
: html: {{#invoke:Statements|html|P1082|from=Q1028}}
; Referanser
<references />
|
|
; [[Marokko]]s {{P|2046}}
: tekst: {{#invoke:Statements|text|P2046|from=Q1028}}
: html: {{#invoke:Statements|html|P2046|from=Q1028}}
; Referanser
<references />
|
|
; [[Knut Hamsun]]s {{P|26}}
: tekst: {{#invoke:Statements|text|P26|from=Q40826}}
: html: {{#invoke:Statements|html|P26|from=Q40826}}
; Referanser
<references />
|
|
; [[Knut Hamsun]]s {{P|40}}
: tekst: {{#invoke:Statements|text|P40|from=Q40826}}
: html: {{#invoke:Statements|html|P40|from=Q40826}}
; Referanser
<references />
|
|
; [[Arne E. Holm]]s {{P|40}}
: tekst: {{#invoke:Statements|text|P40|from=Q11959015}}
: html: {{#invoke:Statements|html|P40|from=Q11959015}}
; Referanser
<references />
|
|
Pågående arbeid[rediger kilde]
Det er noen forhold som trenger ytterligere avklaring, ikke minst om brukere har andre ønsker.
- 1. Seriekomma og konjunksjon
- Lister bruker seriekomma og konjunksjonen «og» («and»). Det er ikke alltid dette er riktig, men i norsk språk brukes konjunksjonene «og» («and») og «eller» («or») litt om hverandre. Nettsamfunnet har divergerende meninger om hva som er rett, se Wikipedia:Torget/Arkiv/2019/januar#Opplistinger.
- 2. Formatering av tall
- Tall bruker standard formatering,det vil si med mellomrom, slik det genereres av funksjonen
mw.message.numParam()
. Fordi standard formatering ikke bruker w:non-breaking space så kan vi få linjebrekk inne i tall. Det optimale ville vært å bruke narrow non-breaking space, men da vil utlegget bli forskjellig for tall i infoboksen og brødteksten.
- 3. Overstyring av navn på enheter
- Enhetens etikett (label), eller lang form, kan hentes effektivt. Enhetens kortform er derimot lastmessig kostbart å hente, her må hele elementet hentes inn, og derfor er det mulig å predefinere disse. Dette er mest aktuelt for SI-enheter. Eksempelet med areal er litt uheldig da «km²» ikke er en korrekt SI-enhet.
- 4. Forenkling av parentes
- Kvalifikatorer bruker en standardform, men de burde forenkles på samme vis som i brødtekst. Typisk forenkles startdatoen på et ekteskap til året, og navnet på et barn er kun fornavnet. Dette skaper imidlertid tvetydighet. Hvis to ekteskap treffer på samme året så må presisjonen økes med måned eller full dato. Tilsvarende for barn, har de forskjellig etternavn må dette angis. Vi kan unngå problemet ved å plassere fullform i en hoverboble, men det fungerer kun for html-formatet.
- 5. Angivelse av perioder
- Perioder angis normalt som «startdato–sluttdato», men det får vi ikke til med standardformatet. Dette er et eksempel på et unntak fra normalt utlegg, og egenskapene skal tas ut av datasettet og håndteres spesielt.
- 6. Ingen verdi og ukjent verdi
- Oppføringer med «ingen verdi» og «ukjent verdi» kan tilpasses egenskapen, slik at navnene blir mer naturlige. Hvis oppføringen for barn (P40) har «ukjent verdi» så blir det isteden vist «ukjent barn» i siste eksempelet.
Notater[rediger kilde]
Typisk kall i wikikode
{{#invoke:Statements|text|P40|from=Q11959015}}
Typisk testkall i consol
=mw.dumpObject(p.getFormattedValues(mw.getCurrentFrame(),'P2046', 'areal',true,'Q1028'))
Formatering av store tall
=mw.message.newRawMessage('Format: $1'):numParams(mw.wikibase.getBestStatements('Q4115189','P2067')[1].mainsnak.datavalue.value.amount):plain()