Dokumentstrukturo (RelaxNG) | Revuloj RelaxNG-difino de strukturo de Voko-vortaro uzata en Reta Vortaro Enhavo ► Strukturo de artikolo ► Strukturoj de detalaj elementoj Strukturelementoj (rekte uzeblaj en XML): adm | alineo | art | aut | autoro | baz | bib | bld | ctl | dif | drv | ekz | em | epilogo | esc | fnt | frm | g | gra | ind | k | kap | ke | klr | lok | lstref | mis | mlg | mll | mrk | nac | nom | ofc | parto | pr | precipa-parto | prologo | rad | ref | refgrp | rim | sekcio | snc | sncref | sub | subart | subdrv | subsnc | sup | tezrad | titolo | tld | trd | trdgrp | ts | url | uzo | var | vortaro | vrk | vspec | Helpdifinoj (uzataj por difini la aranĝon de elementoj): indikiloj | dif-ref-parto | dif-ref | difiniloj-supl | referenciloj | tradukiloj | unua-parto | sekva-parto | tekst-stiloj | fako | art-marko | drv-marko | snc-marko | marko | prononco | La teĥnika manlibro montras al vi kiel en artikoloj kombini tiujn strukturelementojn pri la plej oftaj okazoj. . KADRA STRUKTURO DE VORTARO vortaro ▲ Radiko de la strukturarbo de vortaro. La elemento ampleksas la tutan vortaron. Ĝi entenas aŭ prologon, precipan parton kaj epilogon aŭ plurajn artikolojn. Prologo kaj epilogo estas nedevigaj. La ebleco de rekta enteno de artikolo ne estas destinita por kompletaj vortaroj, sed por eltiroj aŭ unuopa artikolo. vortaro = element vortaro { attlist-vortaro, ((prologo?, precipa-parto, epilogo?) | art+) } attlist-vortaro &= empty prologo ▲ Prologo de la vortaro. Ĝi povas enteni la titolo(j)n kaj aŭtoro(j)n de la vortaro kaj aliajn tekstojn. prologo = element prologo { attlist-prologo, (text | titolo | autoro | alineo)* } attlist-prologo &= empty epilogo ▲ Epilogo de la vortaro. Ĝi povas enhavi iun tekston aŭ plurajn alineojn. epilogo = element epilogo { attlist-epilogo, (text | alineo)* } attlist-epilogo &= empty titolo ▲ Titolo de la vortaro. Ĝi estas entenata en la prologo. Pluraj titoloj estas permesitaj. titolo = element titolo { attlist-titolo, text } attlist-titolo &= empty autoro ▲ Indiko de aŭtoro(j) de la vortaro. Ĝi estas enhavata en la prologo kaj povas okazi tie plurfoje. autoro = element autoro { attlist-autoro, text } attlist-autoro &= empty alineo ▲ Unuopa alineo en la prologo- aŭ epilogo-teksto. alineo = element alineo { attlist-alineo, (text | url)* } attlist-alineo &= empty precipa-parto ▲ Precipa parto de la vortaro. Ĝi enhavas rekte ĉiujn artikolojn aŭ sekciojn aŭ partojn. Diversaj partoj povas dividi diversajn lingvojn de la kapvortoj. Sekcioj grupigas vortojn komenciĝantajn je sama litero. precipa-parto = element precipa-parto { attlist-precipa-parto, (parto+ | sekcio+ | art+) } attlist-precipa-parto &= empty parto ▲ Vortaroparto. Ĝi estas entenata en la precipa parto. Parto normale prezentas unu lingvon en plurlingva vortaro aŭ lingvodirekton en dulingva vortaro. Ĝia atributo lng indikas la lingvon de la kapvortoj en la parto. parto = element parto { attlist-parto, (sekcio+ | art+) } attlist-parto &= attribute lng { text }? sekcio ▲ Sekcio en vortaro. Ĝi estas entenata en la precipa parto aŭ en parto de ĝi kaj normale entenas ĉiujn artikolojn, kies kapvorto komenciĝas je sama litero. La atributo lit indikas tiun komencliteron. sekcio = element sekcio { attlist-sekcio, art+ } attlist-sekcio &= attribute lit { text }? . STRUKTURO DE ARTIKOLO indikiloj ▲ Tuj post la kapvorto venas ordinare unue kelkaj indikiloj pri la gramatiko, uzo k.a. indikiloj = fnt | gra | uzo | mlg | tezrad dif-ref-parto ▲ Ĉe sinonimoj oni povas uzi referencon al alia vorto aŭ senco (dif-ref), kiu difinas ĝin. Ĝin povas suplementi indikiloj, aliaj referenciloj, rimarko, tradukiloj kaj administra noto. dif-ref-parto = indikiloj*, dif-ref, referenciloj*, rim*, tradukiloj*, adm* dif-ref ▲ Foje la difino anstataŭiĝas per difina referenco aŭ grupo da ili (refgrp). Oni uzas tiam la tipon dif. dif-ref = element refgrp { attribute tip { "dif" }, (text? & ref+) } | element ref { attribute tip { "dif" }, attribute cel { text }, (text | tld | klr | sncref)* } difiniloj-supl ▲ Post difino povas veni diversaj suplementoj kiel ekzemploj, referenciloj, bildoj (bld), rimarkoj… difiniloj-supl = referenciloj | ekz | bld | rim | adm referenciloj ▲ La referenciloj montras al rilataj vortoj kaj sencoj (refgrp, ref), vortlistoj (lstref) aŭ al interreta paĝo (url). referenciloj = ref | refgrp | lstref | url tradukiloj ▲ La nacilingvaj tradukoj de la senco aŭ derivaĵo - unuopa (trd) aŭ pluraj grupigite (trdgrp). tradukiloj = trdgrp | trd unua-parto ▲ Unua parto de teksto en artikolo, derivaĵo aŭ senco, kiu venas antaŭ subdividoj, t.e. ekz. en derivaĵo tio, kio venas antaŭ sencoj. Tio povas esti indikiloj kaj eble difino. unua-parto = indikiloj*, dif? sekva-parto ▲ Sekva parto de teksto en artikolo, derivaĵo aŭ senco venante post subdividoj, kiu ekz. en derivaĵo venas post la sencoj. Ĝi konsistas el difiniloj-supl kaj tradukiloj, sekvata de administra noto. Ĉiuj partoj povas esti forlasitaj. sekva-parto = difiniloj-supl*, tradukiloj*, adm* tekst-stiloj ▲ La unuo tekst-stiloj listigas ĉiujn strukturilojn, kiuj donas stilon al tekstoparto, ekz. emfazita, citilita (ctl), misa, altigita (sup) aŭ malaltigita (sub) teksto kaj formulo (frm). Aliaj elementoj klarigo (klr), tildo (tld), sencreferenco (sncref), nomo aŭ nacilingva esprimo same povas esti multloke, do ankaŭ ili estas listigitaj tie ĉi. tekst-stiloj = tld | sncref | klr | em | ts | sup | sub | ctl | mis| frm | nom | nac art ▲ Unuopa artikolo de la vortaro. Ĝi povas okazi en vortaro (se ne ekzistas precipa-parto), precipa-parto, parto aŭ sekcio. Tio dependas de la konkreta strukturo de la vortaro. Ĉiu artikolo entenas unue kapvorton kaj poste aŭ priskribajn elementojn aŭ plurajn derivaĵojn aŭ plurajn sencojn de la kapvorto aŭ subartikolojn. art = element art { attlist-art, art-kap, unua-parto, (subart | drv | snc)*, sekva-parto } attlist-art &= attribute mrk { art-marko } subart ▲ Subartikolo. Ĝi povas okazi en art, se la signifoj de vorto (ofte ĉe prepozicioj kaj afiksoj) estas tre diversaj. subart = element subart { attlist-subart, unua-parto, (drv | snc)*, sekva-parto } attlist-subart &= attribute mrk { drv-marko }? drv ▲ Derivaĵo ene de artikolo. Unu artikolo povas priskribi plurajn derivaĵojn de la kapvorto. Derivaĵo komenciĝas je kapvorto kaj priskribaj elementoj pri ĝi aŭ el unu aŭ pluraj sencoj aŭ el unu aŭ pluraj subdividoj subdrv. La enhavo de derivaĵo povas obei al unu el du modeloj: Ordinare komence estas unua-parto sekvata de sencoj aŭ subderivaĵoj kaj poste sekva-parto. En kelkaj okazoj ni difinas per referenco al alia vorto kaj aldonas nur indikilojn, vd. dif-ref-parto. drv = element drv { attlist-drv, drv-kap, (dif-ref-parto | ( unua-parto, (subdrv | snc)*, sekva-parto ) ) } attlist-drv &= attribute mrk { drv-marko } var ▲ Variaĵo de la vorto, ekz. meĥaniko - mekaniko, pomarbo - pomujo. Ĝi povas enhavi fontindikon k.s., sed ankaŭ rimarkojn kaj ekzemplojn, sed ĝi ne havas propran difinon. Ĝi aperas ene de kapvorto, ĉar ĝi ja estas ĝia variaĵo. art-var = element var { attlist-var, art-kap, (uzo | klr | ekz | rim)* } drv-var = element var { attlist-var, drv-kap, (uzo | klr | ekz | rim)* } attlist-var &= empty subdrv ▲ Subderivaĵo. Ĝi grupigas plurajn proksimajn sencojn, se la priskribita vorto havas tre multajn sencojn. Tio povas rezulti en pli klara strukturo de la artikolo. La subdividaĵoj estas nombrataj per A), B), … La enhavo de subderivaĵo povas obei al unu el du modeloj: Ordinare komence estas unua-parto sekvata de sencoj kaj poste sekva-parto. En kelkaj okazoj ni difinas per referenco al alia vorto kaj aldonas nur indikilojn, vd. dif-ref-parto. subdrv = element subdrv { attlist-subdrv, (dif-ref-parto | ( unua-parto, (snc)*, sekva-parto ) ) } attlist-subdrv &= attribute mrk { snc-marko }? snc ▲ Senco de unuopa vorto en artikolo. Komparu la latinajn ciferojn en la artikoloj de PIV. Per mrk (vd snc-marko) oni povas referenci sencon de alie. Per ref oni referencas al alia senco samartikola (uzata en malmultaj longaj artikoloj, ekz. “al”). Per num oni povus atribui al la senco fiksitan numeron, sed tion ni normale ne uzas, ni lasas tion al la aŭtomata numerado. La enhavo de senco povas obei al unu el du modeloj: Ordinare komence estas unua-parto eble sekvata de subsencoj kaj poste sekva-parto. En kelkaj okazoj ni difinas per referenco al alia vorto kaj aldonas nur indikilojn, vd. dif-ref-parto. snc = element snc { attlist-snc, (dif-ref-parto | ( unua-parto, (subsnc)*, sekva-parto ) ) } attlist-snc &= attribute mrk { snc-marko }?, attribute num { text }?, attribute ref { text }? subsnc ▲ Subsenco ene de senco. Ĝi redonas subtilaĵojn ene de unu senco. Ili estas nombrataj per a), b), … La enhavo de subsenco povas obei al unu el du modeloj: Ordinare komence estas unua-parto kaj poste sekva-parto. En kelkaj okazoj ni difinas per referenco al alia vorto kaj aldonas nur indikilojn, vd. dif-ref-parto. subsnc = element subsnc { attlist-subsnc, (dif-ref-parto | ( unua-parto, sekva-parto ) ) } attlist-subsnc &= attribute mrk { marko }?, attribute ref { text }? sncref ▲ Referenco al alia senco. Tiu elemento estas anstataŭigata per la numero de la referencita senco. Vi povas forlasi la atributon ref, se ekzistas parenca elemento ref, kies atributo cel montras al la referencita senco. sncref = element sncref { attlist-sncref, empty } attlist-sncref &= attribute ref { text }? . STRUKTUROJ DE DETALAJ ELEMENTOJ fako ▲ Fakoj estas tri- aŭ kvarlingvaj majusklaj etikedoj difinitaj en la listo de fakoj fako = xsd:string { pattern = "[A-Z]{3,4}" } art-marko ▲ La marko identigas la artikolon unike. Ĝi estu identa kun la dosiernomo sen la ‘.xml’. Por uzo de versiokontrolo CVS en Revo uziĝas por novaj artikoloj anstataŭe $Id$ kiun CVS etendas al kompleta versioindiko. art-marko = xsd:string { pattern = "$Id$|($Id: )?([a-z0-9_]+)(.xml)?.*" } drv-marko ▲ La marko de derivaĵo konsistas el dosiernomo, punkto kaj aldono, donanta la kapvorton, kie la radikon anstataŭ tildon oni montras per ‘0’, ekz. ‘hom.0o’, ‘berlin.B0o’. drv-marko = xsd:ID { pattern = "([a-z0-9_]+)\.[A-Za-z_]*0[A-Za-z_0]*(\.[A-Za-z_0-9]+)?" } snc-marko ▲ La marko de senco konsistas el la marko de la derivaĵo, punkto kaj identigilo de la senco, ekz. ‘ord.0o.BIO’, ‘azen.0o.figure’. snc-marko = xsd:ID { pattern = "([a-z0-9_]+)\.[A-Za-z_]*0[A-Za-z_0]*\.[A-Za-z_0-9]+" } marko ▲ La marko identigas ‘nodon’ de la vortaro, ekz. artikolon, derivaĵon, sencon aŭ rimarkon, kiun oni povas referenci de alia loko en la vortaro per la sama marko. marko = xsd:ID { pattern = "([a-z0-9_]+)\.[A-Za-z0-9\._]+" } prononco ▲ La pronco povas esti donita aŭ per latinaj literoj (kun supersignoj) per hiragano, katakano aŭ bopomofo kaj kelkaj apartaj signoj prononco = xsd:string { pattern = "[\p{IsBasicLatin}\p{IsLatin-1Supplement}\p{IsLatinExtended-A}\p{IsLatinExtended-B}]+|\p{IsBopomofo}+|[\s\p{IsHiragana}\p{IsKatakana}\p{IsCJKSymbolsandPunctuation}\p{IsHalfwidthandFullwidthForms}]+" } kap ▲ Kapvorto okazas en du kuntekstoj – komence de artikolo kaj komence de derivaĵo, en la unua kazo ĝi signas radikon en la dua kazo ĝi konsistas el iuj literoj kaj eble tildo refencanta al la kapvorto, krome en la kapvorto povas okazi fontindiko. art-kap = element kap { attlist-kap, (text | rad | ofc | fnt | tld | art-var)* } drv-kap = element kap { attlist-kap, (text | ofc | fnt | tld | drv-var)* } attlist-kap &= empty rad ▲ Radiko de kapvorto. Ĝi estas bezonata por anstaŭigo de tildoj. Sekve la “radiko” de afiksoj kaj finaĵoj estu ili mem, sen la streketoj antaŭe aŭ malantaŭe. La atributo var povas identigi radikon de variaĵo. rad = element rad { attlist-rad, text } attlist-rad &= attribute var { text }? ofc ▲ Oficialeco de la kapvorto/…