User talk:David Nemeskey/CG XML brainstorming
Jump to navigation
Jump to search
An alternative (draft) proposal[edit]
<xmlcg>
<!-- DELIMITERS = "<.>" "<!>" "<?>" "<;>" "<...>" (sent);-->
<section-delims>
<delim word="."/>
<delim word="!"/>
<delim word="?"/>
<delim word=";"/>
<delim word="..."/>
<delim tags="sent"/>
</section-delims>
<section-sets>
<def-set n="art"> <!-- LIST Art = det ; -->
<set-item tags="det"/>
</def-set>
<def-set n="def-art"> <!-- LIST DefArt = (det def) ; -->
<set-item tags="det.def"/>
</def-set>
<def-set n="ind-art"> <!-- LIST IndArt = (det ind) ; -->
<set-item tags="det.ind"/>
</def-set>
<def-set n="dem"> <!-- LIST Dem = "az" "ez" "amaz" "emez" ;-->
<set-item lemma="az"/>
<set-item lemma="ez"/>
<set-item lemma="amaz"/>
<set-item lemma="emez"/>
</def-set>
<def-set n="noun"><!--LIST Noun = n np ;-->
<set-item tags="n"/>
<set-item tags="np"/>
</def-set>
<def-set n="verb"><!--LIST Verb = vblex vbser vbmod ;-->
<set-item tags="vbser"/>
<set-item tags="vblex"/>
<set-item tags="vbmod"/>
</def-set>
<def-set n="verb-not-ser"><!--LIST VerbNotSer = vblex vbmod ;-->
<minus>
<set n="verb"/><set-item tags="vbser"/>
</minus>
</def-set>
<def-set n="punct"><!--LIST Punct = cm sent quot ; # guio, apos?-->
<set-item tags="cm"/>
<set-item tags="sent"/>
<set-item tags="quot"/>
<set-item tags="guio"/>
</def-set>
<def-set n="poss"><!--LIST Poss = px1ss px2ss px3ss px1ps px2ps px3ps px1sp px2sp px3sp px1pp px2pp px3pp ;-->
<set-item tags="px1ss"/><set-item tags="px2ss"/><set-item tags="px1ps"/>
<set-item tags="px1ps"/><set-item tags="px2ps"/><set-item tags="px1ps"/>
<set-item tags="px1sp"/><set-item tags="px2sp"/><set-item tags="px1ps"/>
<set-item tags="px1pp"/><set-item tags="px2pp"/><set-item tags="px1ps"/>
</def-set>
<def-set n="vbser"><!--LIST VbSer = "van" "lehet" "volt" "nincs" ;-->
<set-item lemma="van"/><set-item lemma="lehet"/>
<set-item lemma="volt"/><set-item lemma="nincs"/>
</def-set>
<def-set n="past-adv"><!--LIST PastAdv = "tegnap" "múltkor" "régen" ;-->
<set-item lemma="tegnap"/>
<set-item lemma="múltkor"/>
<set-item lemma="régen"/>
</def-set>
<def-set n="post-first"><!--LIST PostFirst = "alá" ;-->
<set-item lemma="alá"/>
</def-set>
<def-set n="np-part"><!--LIST NpPart = det num adv adj ;-->
<set-item tags="det"/>
<set-item tags="num"/>
<set-item tags="adv"/>
<set-item tags="adj"/>
</def-set>
<def-set n="np-part-from-adj"><!--LIST NpPart = adv adj ;-->
<set-item tags="adv"/>
<set-item tags="adj"/>
</def-set>
<def-set n="np-conj">
<set-item lemma="és"/>
<set-item lemma="vagy"/>
<set-item tags="cm"/>
</def-set>
<def-set n="conj">
<set-item lemma="és"/>
<set-item lemma="vagy"/>
<set-item tags="cm"/>
</def-set>
<def-set n="meta-verb">
<set-item lemma="akar"/>
<set-item lemma="szeret"/>
<set-item lemma="imád"/>
</def-set>
<def-set n="an-p">
<set-item tags="pxs"/>
<set-item tags="pxp"/>
</def-set>
</section-sets>
<section-rules>
<rule target="az">
<select>
<set-item tags="det"/>
</select>
<match pos="1">
<set>
<set-item tags="adj"/>
<set-item tags="n"/>
</set>
</match>
</rule>
<!--SELECT ("az" prn tem) IF (*1 Verb + (past) BARRIER Verb) (NOT 1 PastAdv) (NOT -1 PastAdv);-->
<rule target="akkor">
<not>
<match pos="-1">
<set n="past-adv"/>
</match>
</not>
<select>
<set-item lemma="az" tags="prn.*.tem"/>
</select>
<match from="1">
<and><set n="verb"/>
<set><set-item tags="past"/></set></and>
<barrier>
<set n="verb"/>
</barrier>
</match>
<not>
<match pos="1">
<set n="past-adv"/>
</match>
</not>
</rule>
<!--SELECT ("ez" prn tem) IF (1C VerbNotSer);-->
<rule target="ekkor">
<select>
<set-item lemma="ez" tags="prn.*.tem"/>
</select>
<match pos="1" careful>
<set n="verb-not-ser"/>
</match>
</rule>
<!--SELECT ("válasz" n acc) IF (*1 ("kap") + VerbNotSer BARRIER Verb);-->
<rule>
<select>
<set-item lemma="válasz" tags="n.*.acc"/>
</select>
<match from="1">
<and><set n="verb-not-ser"/>
<set><set-item lemma="kap"/></set></and>
<barrier>
<set n="verb"/>
</barrier>
</match>
</rule>
<!--SELECT ("válasz" n acc) IF (*-1 ("kap") + VerbNotSer BARRIER Verb);-->
<rule>
<match from="-1">
<and><set n="verb-not-ser"/>
<set><set-item lemma="kap"/></set></and>
<barrier>
<set n="verb"/>
</barrier>
</match>
<select>
<set-item lemma="válasz" tags="n.*.acc"/>
</select>
</rule>
<!--SELECT (det) IF (*1 Noun BARRIER (*) - (adj) - (num));-->
<rule>
<select>
<set-item tags="det"/>
</select>
<match from="1">
<set n="noun"/>
<barrier>
<minus><set n="*"/>
<set><set-item tags="adj"/><set-item tags="num"/></set>
</minus>
</barrier>
</match>
</rule>
<!--SELECT (np) IF (NOT -1 (>>>));-->
<rule>
<select>
<set-item tags="np"/>
</select>
<not>
<match pos="-1">
<bos/>
</match>
</not>
</rule>
</section-rules>
</xmlcg>