Gebruiker:Bmulckhu/kladblok41

Uit TheaterEncyclopedie
Ga naar: navigatie, zoeken

Voor waarden die ingelezen zijn vanuit een extern bestand, is het vaak gewenst om deze later definitief vast te leggen in de wiki zelf.

Voorbeelden :


Procedure

  1. Ontwikkelen van het sjabloon voor substitutie (zie ook Gebruiker:Bmulckhu/kladblok40)
  2. Selecteren van de pagina's waarop substitutie moet plaatsvinden (bijv. door het plaatsen van een administratieve categorie, zoiets als Categorie:Persoonspagina voor substitutie Wikidata ID
  3. Zoek & Vervang van "leeg" infobox-sjabloonveld door veld met substitutiesjabloon via de pagina Speciaal:Tekstvervangen en Optioneel filter met de administratieve categorie.

Deze procedure moet nog worden getest. Het is namelijk niet zeker dat na een zoek en vervang actie de gewenste substitutie ook daadwerkelijk wordt doorgevoerd. Mogelijk is dat pas bij de eerstvolgende save-actie van de betreffende pagina !!

Test van Procedure 1 - Zoeken en vervangen door nummer m.b.v. Regex

Gebruik Speciaal:TekstVervangen als volgt

Oorspronkelijke tekst:

({{[T|t]est[\s|_]infobox\n)((\|.*?=(.*?)\n)*?)(\|qnummer=\n)((\|.*?=(.*?)\n)*?)}}

Vervangen tekst:

$1$2|qnummer=9876\n$6}}

NB: Regex aanvinken en categorie: Testpagina_substitutie

Resultaat: OK, maar met probleem dat de newline in de vervangende tekst wordt weergegeven als \n

Resultaat bij ingevuld veld: OK; indien het veld qnummer= reeds een waarde bevat (op dezelfde of op de volgende regel) dan wordt de pagina niet geselecteerd voor susbstitutie (dit is dus zoals gewenst !).

Test van Procedure 2 - Zoeken en vervangen door substitutie-sjabloon m.b.v. Regex

Oorspronkelijke tekst als bij Test-1

Vervangen tekst:

$1$2|qnummer={{subst:Eigenschap substitutie|qnummer}}$6
}}

Resultaat:

{{Test_infobox
|parameter1=pagina
|qnummer=
[[:123456|123456]]
}}

Dit lijkt erop, maar er zijn nog twee problemen:

  1. Een newline na "qnummer="
  2. De waarde wordt weergegeven als een paginalink (wat technisch correct is, maar niet wenselijk: alleen tekst is gewenst)

Test van Procedure 3 - Zoeken en vervangen door substitutie-sjabloon m.b.v. Regex

Na:

  1. Aanpassing van het Sjabloon:Eigenschap substitutie (eigenschap vervangen door platte tekst - geen links), nogmaals getest:
  2. Toevoegen van een extra sjabloon-parameter na de te vervangen parameter

Oorspronkelijke tekst als bij Test-1

Vervangen tekst:

$1$2|qnummer={{subst:Eigenschap substitutie|qnummer}}
$6}}

Resultaat:

{{Test_infobox
|parameter1=pagina
|qnummer=
123456
|parameter3=blalbla
}}

NB: De newline na "qnummer=" is niet gewenst, maar veroorzaakt geen probleem. Het wordt veroorzaakt door {{#show:...}} in het Sjabloon:Eigenschap substitutie.

Test van procedure nr. 4 - Foutbestendigheid

Reeds ingevulde velden worden overgeslagen door de Regex-selectie; zie ook eerste test.

Tekstvervangen gebruikt zoals bij "Test 3", maar nu (foutief !) zonder dat er een semantisch waarde beschikbaar is

Resultaat:

{{Test_infobox
|parameter1=pagina
|qnummer=

|parameter3=blalbla
}}

NB: OK. Er wordt wel een lege regel toegevoegd - dit is in principe niet gewenst, maar verstoort de juiste werking niet.

Praktijktest : Beroepen

Voor het eerst - met succes - uitgetest op de geïmporteerde lijst van Beroepen; zie: TE:Gegevens_delen_met_Wikimedia/Beroepen. Daarbij is tevens een correctie toegepast voor de toegevoegde regeleinden.