1 /*
2  * Vocabulary Document for KDE Edu
3  * SPDX-FileCopyrightText: 1999-2001 Ewald Arnold <kvoctrain@ewald-arnold.de>
4  * SPDX-FileCopyrightText: 2005, 2007 Peter Hedlund <peter.hedlund@kdemail.net>
5  * SPDX-FileCopyrightText: 2007 Frederik Gladhorn <frederik.gladhorn@kdemail.net>
6  * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8 
9 #ifndef KVTMLDEFS_H
10 #define KVTMLDEFS_H
11 
12 
13 
14 /** XML tags and attribute names */
15 
16 static const QLatin1String KV_DOCTYPE( "kvtml" ); // doctype
17 #define KV_TITLE       "title"     // doc title
18 #define KV_AUTHOR      "author"    // doc author
19 #define KV_LICENSE     "license"   // doc license
20 #define KV_DOC_REM     "remark"    // doc remark
21 #define KV_LINES       "lines"     // entries
22 #define KV_GENERATOR   "generator" // who generated the doc
23 #define KV_COLS        "cols"      // columns
24 #define KV_ENCODING    "encoding"  // document encoding  (obsolete!)
25 
26 #define KV_EXPR        "e"         // entry for one expression
27 static const QLatin1String KV_ORG( "o" );       // original expression in specified language
28 static const QLatin1String KV_TRANS( "t" );     // translated expression in specified language
29 #define KV_LANG        "l"         // language: en, de, it, fr ...
30 #define KV_QUERY       "q"         // query: org or translation
31 #define KV_O           "o"         // org
32 #define KV_T           "t"         // translation
33 #define KV_GRADE       "g"         // grade of knowledge: 0=well known, x=not known for x times
34 #define KV_LESS_MEMBER "m"         // member of lesson 1 .. x
35 #define KV_COUNT       "c"         // number of times queried
36 #define KV_SIZEHINT    "width"     // recommended column width
37 #define KV_CHARSET     "charset"   // recommended charset (obsolete!)
38 #define KV_BAD         "b"         // number of times failed
39 #define KV_DATE        "d"         // last query date
40 #define KV_DATE2       "w"         // last query date, compressed format, deprecated, currently ignored
41 #define KV_REMARK      "r"         // remark for this entry
42 #define KV_FAUX_AMI_F  "ff"        // false friend of this entry from org
43 #define KV_FAUX_AMI_T  "tf"        // false friend of this entry to org
44 #define KV_SYNONYM     "y"         // synonym (same meaning) of expr
45 #define KV_ANTONYM     "a"         // antonym (opposite) of expr
46 #define KV_PRONUNCE    "p"         // how to pronounce this expression
47 #define KV_SELECTED    "s"         // entry selected for queries
48 #define KV_INACTIVE    "i"         // entry inactive (for queries)
49 #define KV_EXPRTYPE    "t"         // type of expression
50 #define KV_EXAMPLE     "x"         // example string with word
51 #define KV_USAGE       "u"         // usage label
52 #define KV_PARAPHRASE  "h"         // paraphrase for expression
53 
54 /*
55  <type>
56   <desc no="1">My type 1</desc>
57   <desc no="2">My type 2</desc>
58  </type>
59 */
60 
61 #define KV_TYPE_GRP    "type"      // type descriptor group
62 #define KV_TYPE_DESC   "desc"      // type descriptor
63 #define KV_TYPE_NO     "no"        // type descriptor number
64 
65 /*
66  <usage>
67   <desc no="1">My usage 1</desc>
68   <desc no="2">My usage 2</desc>
69  </type>
70 */
71 
72 #define KV_USAGE_GRP    "usage"     // usage descriptor group
73 #define KV_USAGE_DESC   "desc"      // usage descriptor
74 #define KV_USAGE_NO     "no"        // usage descriptor number
75 
76 /*
77  <lesson width="138">
78   <desc no="1">Lesson #1</desc>
79   <desc no="2" query="1">Lesson #2</desc>
80  </lesson>
81 */
82 
83 #define KV_LESS_GRP    "lesson"    // lesson descriptor group
84 #define KV_LESS_CURR   "current"   // is current lesson
85 #define KV_LESS_DESC   "desc"      // lesson descriptor
86 #define KV_LESS_QUERY  "query"     // lesson contained in query
87 #define KV_LESS_NO     "no"        // lesson descriptor number
88 
89 /*
90  <tense>
91   <desc no="1">user tense #1</desc>
92   <desc no="2">user tense #2</desc>
93  </tense>
94 */
95 
96 #define KV_TENSE_GRP    "tense"     // tense descriptor group
97 #define KV_TENSE_DESC   "desc"      // tense descriptor
98 #define KV_TENSE_NO     "no"        // tense descriptor number
99 
100 /*
101  <options>
102   <sort on="1"/>
103  </options>
104 */
105 
106 #define KV_OPTION_GRP  "options"   // internal options group
107 #define KV_OPT_SORT    "sort"      // allow sorting
108 #define KV_BOOL_FLAG   "on"        // general boolean flag
109 
110 /*
111  <article>
112   <e l="de">        lang determines also lang order in entries !!
113    <fi>eine</fi>    which must NOT differ
114    <fd>die</fd>
115    <mi>ein</mi>
116    <md>der</md>
117    <ni>ein</ni>
118    <nd>das</nd>
119   </e>
120  </article>
121 */
122 
123 #define KV_ARTICLE_GRP "article"   // article descriptor group
124 static const QLatin1String KV_ART_ENTRY( "e" ); // article entry
125 #define KV_ART_FD      "fd"        // female definite
126 #define KV_ART_MD      "md"        // male definite
127 #define KV_ART_ND      "nd"        // natural definite
128 #define KV_ART_FI      "fi"        // female indefinite
129 #define KV_ART_MI      "mi"        // male indefinite
130 #define KV_ART_NI      "ni"        // natural indefinite
131 
132 /*
133  <comparison>
134    <l1>good</l1>
135    <l2>better</l2>
136    <l3>best</l3>
137  </comparison>
138 */
139 
140 #define KV_COMPARISON_GRP "comparison"   // comparison descriptor group
141 #define KV_COMP_L1        "l1"           // base form
142 #define KV_COMP_L2        "l2"           // next form
143 #define KV_COMP_L3        "l3"           // last form
144 
145 /*
146  <multiplechoice>
147    <mc1>good</mc1>
148    <mc2>better</mc2>
149    <mc3>best</mc3>
150    <mc4>best 2</mc4>
151    <mc5>best 3</mc5>
152  </multiplechoice>
153 */
154 
155 #define KV_MULTIPLECHOICE_GRP "multiplechoice"   // multiple choice descriptor group
156 #define KV_MC_1        "mc1"           // choice 1
157 #define KV_MC_2        "mc2"           // choice 2
158 #define KV_MC_3        "mc3"           // choice 3
159 #define KV_MC_4        "mc4"           // choice 4
160 #define KV_MC_5        "mc5"           // choice 5
161 
162 /*
163  <conjugation>        used in header for definition of "prefix"
164   <e l="de">          lang determines also lang order in entries !!
165    <s1>I</s1>         which must NOT differ in subsequent <e>-tags
166    <s2>you<2>
167    <s3f>he</s3f>
168    <s3m>she</s3m>
169    <s3n>it</s3n>
170    <p1>we</p1>
171    <p2>you</p2>
172    <p3f>they</p3f>
173    <p3m>they</p3m>
174    <p3n>they</p3n>
175   </e>
176  </conjugation>
177 
178  <conjugation>        and in entry for definition of tenses of (irreg.) verbs
179   <t n="sipa">
180    <s1>go</s1>
181    <s2>go</s2>
182    <s3f>goes</s3f>
183    <s3m>goes</s3m>
184    <s3n>goes</s3n>
185    <p1>go</p1>
186    <p2>go</p2>
187    <p3f>go</p3f>
188    <p3m>go</p3m>
189    <p3n>go</p3n>
190   </t>
191  </conjugation>
192 */
193 
194 #define KV_CONJUG_GRP  "conjugation" // conjugation descriptor group
195 #define KV_CON_ENTRY   "e"           // conjugation entry (header)
196 #define KV_CON_TYPE    "t"           // conjugation type  (voc entries)
197 #define KV_CON_NAME    "n"           // conjugation type name (voc entries)
198 #define KV_CON_P1S     "s1"          // 1. person singular
199 #define KV_CON_P2S     "s2"          // 2. person singular
200 #define KV_CON_P3SF    "s3f"         // 3. person singular female
201 #define KV_CON_P3SM    "s3m"         // 3. person singular male
202 #define KV_CON_P3SN    "s3n"         // 3. person singular natural
203 #define KV_CON_P1P     "p1"          // 1. person plural
204 #define KV_CON_P2P     "p2"          // 2. person plural
205 #define KV_CON_P3PF    "p3f"         // 3. person plural female
206 #define KV_CON_P3PM    "p3m"         // 3. person plural male
207 #define KV_CON_P3PN    "p3n"         // 3. person plural natural
208 #define KV_CONJ_COMMON "common"      // female contains common for all three
209 
210 
211 #endif // KVTMLDEFS_H
212