Closed RieksJ closed 9 months ago
De waarden voor de TRRT komen overeen met hetgeen dat ooit is bedacht voor de regex, met daarbij type
toegevoegd.
Dit zijn de zes: [showtext
](type
:id
#trait
@scopetag
:vsntag
]. termType
en term
, zoals die hierboven zijn genoemd, zijn natuurlijk wel beschikbaar in de converters als eigenschappen van een MRG entry. Het lijkt me niet helemaal correct om de eigenschappen van een term direct te schrijven als moustache variabele (dus omringd door de dubbele accolades), gezien dit alleen als notatie in de converter van toepassing is en nog niet in de interpreter.
Voor de HRGT, en dus de beschikbare eigenschappen van een MRGRef, heb ik op dit moment gekozen voor hrg
, converter
, sorter
, scopetag
en vsntag
. Hierbij wordt als named capturing group eerst de waarde voor hrg
opgeslagen en wordt deze later gesplitst om ook tot scopetag
en vsntag
te komen. Iets als paramlist
zal nieuwe mogelijkheden kunnen bieden als het gaat om het toevoegen van eigenschappen aan een MRGRef die niet beschreven staan, maar daarna wel gebruikt kunnen worden in een converter. Het nadeel is hierbij dat er wel een specifieke notering vastgelegd moet worden waarin we duidelijk maken hoe de paramlist
dan weer geinterpreteerd wordt.
Door het bovenstaande verhaal zie ik wel de kracht in functionaliteit om alle named capturing groups uit een interpreter, die niet per se gedocumenteerd hoeven te zijn, ook toe te voegen als eigenschap van een term of MRGRef. Wat er op z'n plaats weer voor zorgt dat deze eigenschappen gebruikt kunnen worden in een zelfgeschreven converter. Iets als paramlist
wordt volgens mij dan onnodig.
Waar dit op neer komt is een verduidelijking van het generieke conversieproces. Op dit moment is (min of meer) beschreven dat een importer een textje vindt (een termref of mrgref), daar (moustache) variabelen uit haalt, en dat de converter op basis daarvan (en andere spullen) een replacement-tekst, en dat het gevonden tekstje dan met de replacement-tekst wordt vervangen.
Het lijkt erop dat we dit moeten verduidelijken tot iets als:
Elke tool die dit idee gebruikt (HRGT, TRRT) moet dan specificeren:
{{mrg.terminology.xxxx}}
)Mee eens?
Het volgende zou ik als een correcte beschrijving zien.
Er zou dan per tool beschreven kunnen worden wat de profielen bevatten en watvoor mogelijke verwerking er gedaan wordt (zoals showtext
naar id
omzetten en defaulttype
instellen).
Door het bovenstaande verhaal zie ik wel de kracht in functionaliteit om alle named capturing groups uit een interpreter, die niet per se gedocumenteerd hoeven te zijn, ook toe te voegen als eigenschap van een term of MRGRef. Wat er op z'n plaats weer voor zorgt dat deze eigenschappen gebruikt kunnen worden in een zelfgeschreven converter. Iets als paramlist wordt volgens mij dan onnodig.
Wat vind je verder van het bovenstaande @RieksJ? Dit zou er dus voor zorgen dat de output van de interpreter naast de standaard showtext, id, type, trait, scopetag en vsntag, in het geval van de TRRT, simpelweg alle named capturing groups beschikbaar maakt.
Dat klinkt goed. We zouden dan kunnen zeggen dat:
elke interpreter een regex is, waarmee een tekst-patroon gezocht kan worden en een zekere vz. named capturing populeert.
elke tool
elke converter op basis van een converter-profiel een tekst construeert, die de tool (waarin de converter wordt gebruikt) gebruikt om een gevonden tekst-patroon mee te vervangen.
@Ca5e Zou je de generieke documentatie hierover, en ook de specifieke documentatie van de HRGT en de TRRT willen nalopen en zien of die specificaties met de implementatie overeenkomen (d.w.z. de specs zijn compleet, consistent en zo, en de implementatie heeft geen 'extraatjes' die niet zijn gespecificeerd)?
The documentation of the TRRT, HRGT, and converter profile have just been adjusted slightly. The update is failing within the deploy workflow because the bot that commits updated MRG's doesn't have a verified signature, which now seems to be required within the repo (repository rule violations). I believe there are solutions, but this should be part of another issue. I'll close this for now as the converter profile documentation now seems adequate.
Het is de bedoeling dat voor TEv2 tools die teksten converteren, zoals de TRRT en HRGT, een 'moustache profile' is gedefinieerd, d.w.z. een verzameling van moustache-variabelen die door de interpreter van waardes worden voorzien. Voor de TRRT bevat het profiel de variabelen
{{showtext}}
,{{termType}}
,{{term}}
,{{trait}}
,{{scopetag}}
,{{vsntag}}
.Door dit te documenteren kunnen gebruikers hun eigen interpreters maken die aansluiten op bestaande converters.
De documentatie van dit profiel voor de HRGT ontbreekt op dit moment. Ik zie verschillende mogelijkheden:
{{scopetag}}
,{{vsntag}}
,{{paramlist}}
{{scopetag}}
,{{vsntag}}
,{{converter}}
,{{sort}}
@Ca5e : heb jij nog andere ideeen? Zo ja, wat zijn die? Welke van jouw/mijn ideeen zijn geimplementeerd c.q. zouden moeten zijn geimplementeerd?