Skip to content

XML Schema Reference

dictionary
└── entry
├── ety
│ ├── pronunciation
│ │ └── url
│ └── sense
│ ├── group
│ │ └── definition …
│ ├── definition
│ │ ├── example
│ │ │ ├── translation …
│ │ │ └── pronunciation …
│ │ └── note
│ │ └── example …
│ ├── tag …
│ ├── translation …
│ └── form
│ └── tag …
└── media …

Repeatable child elements can appear in any order. Unless otherwise noted, elements with a minimum of 0 can be omitted.


Attribute Type Required
id string No
name string No
Element Min Max
<entry> 0 unbounded

Attribute Type Required
term string Yes
see entry term No
rank unsigned integer No
Element Min Max
<ety> 0 unbounded
<media> 0 unbounded

see identifies another entry by its term. When redirect following is enabled, an entry without etymologies can use it to redirect lookup to the referenced entry. rank stores source-specific frequency or importance data; ODict does not prescribe whether larger or smaller numbers are more important.


Attribute Type Required
id string No
description string No
Element Min Max
<pronunciation> 0 unbounded
<sense> 0 unbounded

Attribute Type Required
pos string No
lemma string No

The lemma attribute identifies the headword that is the canonical form for this sense. Its value should match the term of another <entry>.

Because lemma belongs to <sense>, a single entry can link different senses to different headwords. For example, the verb sense of “saw” is a form of “see”, while the noun sense is already its own lemma:

<entry term="saw">
<ety>
<sense pos="v" lemma="see">
<definition value="The past tense of see" />
</sense>
<sense pos="n">
<definition value="A tool with a toothed blade" />
</sense>
</ety>
</entry>
<entry term="see">
<ety>
<sense pos="v">
<form kind="past-tense" term="saw" />
<definition value="To perceive with the eyes" />
</sense>
</ety>
</entry>

ODict preserves the lemma reference on the sense for applications to inspect. It does not redirect a lookup automatically. Use see on <entry> when one entry should redirect to another, and use <form> on the lemma’s sense to describe the relationship in the other direction.

Element Min Max
<group> 0 unbounded
<definition> 0 unbounded
<tag> 0 unbounded
<translation> 0 unbounded
<form> 0 unbounded

Forms describe terms related to a particular sense, such as inflections, conjugations, plurals, comparatives, and superlatives.

Attribute Type Required
term entry term Yes
kind string No
Element Min Max
<tag> 0 unbounded

ODict recognizes conjugation, inflection, plural, singular, comparative, and superlative as standard kind values. Custom strings are also accepted.

<sense pos="v">
<form kind="conjugation" term="ran">
<tag>past-tense</tag>
</form>
<form kind="conjugation" term="running">
<tag>present-participle</tag>
</form>
<definition value="To move swiftly on foot" />
</sense>

Attribute Type Required
id string No
description string Yes
Element Min Max
<definition> 0 unbounded

Attribute Type Required
id string No
value string Yes
Element Min Max
<example> 0 unbounded
<note> 0 unbounded

Attribute Type Required
id string No
value string Yes
Element Min Max
<example> 0 unbounded

Attribute Type Required
value string Yes
Element Min Max
<translation> 0 unbounded
<pronunciation> 0 unbounded

Translations can be attached directly to a sense or to an example.

Attribute Type Required
lang string Yes
value string Yes

Use a language code such as en, fr, or zh-Hant for lang.


A tag is a text-only child of <sense> or <form>. Tags are open-ended labels for grammatical features, register, dialect, usage, or other source-specific metadata.

<sense pos="n">
<tag>informal</tag>
<definition value="A person, especially a man" />
</sense>

Attribute Type Required
kind string No
value string Yes
Element Min Max
<url> 0 unbounded

ODict recognizes ipa, pinyin, hiragana, romaji, katakana, yale, jyutping, bopomofo, and hepburn as standard kind values. Custom strings are also accepted.


<url> attaches a media resource to a pronunciation.

Attribute Type Required
src string Yes
type string No
description string No

<media> attaches an image, audio file, video, or other resource directly to an entry. It has the same attributes as <url>, but is an entry child rather than a pronunciation child.

Attribute Type Required
src string Yes
type string No
description string No

For both <media> and <url>, src accepts an http:// or https:// URL, or a relative path beginning with ./ or /. The optional type value is a MIME type.

<entry term="cat">
<ety>
<sense pos="n">
<definition value="A small domesticated mammal" />
</sense>
</ety>
<media
src="./images/cat.jpg"
type="image/jpeg"
description="A domestic cat"
/>
</entry>

The pos attribute on <sense> accepts the following values. You can also pass any custom string, which will be treated as a custom part of speech.

Code Label
art article
abv abbreviation
adf adfix
adj adjective
phr_adj adjective phrase
adv adverb
phr_adv adverbial phrase
aff affix
aux auxiliary
aux_adj auxiliary adjective
aux_v auxiliary verb
chr character
cf circumfix
cls classifier
conj conjunction
conj_c coordinating conjunction
contr contraction
cop copula
ctr counter
det determiner
expr expression
inf infix
intf interfix
intj interjection
vi intransitive verb
name name
n noun
num numeric
part particle
phr phrase
postp postposition
pref prefix
prep preposition
phr_prep prepositional phrase
pron pronoun
propn proper noun
prov proverb
punc punctuation
conj_s subordinating conjunction
suff suffix
sym symbol
vt transitive verb
un unknown
v verb
Code Label
adj_pn pre-noun adjectival (rentaishi)
adj_kari ‘kari’ adjective (archaic)
adj_ku ‘ku’ adjective (archaic)
adj_nari archaic/formal form of na-adjective
adj_na adjectival nouns or quasi-adjectives (keiyodoshi)
adj_shiku ‘shiku’ adjective (archaic)
adj_t ‘taru’ adjective
adj_ix adjective (keiyoushi) - yoi/ii class
n_adv adverbial noun (fukushitekimeishi)
adv_to adverb taking the ‘to’ particle
adj_no nouns which may take the genitive case particle ‘no’
n_pref noun, used as a prefix
n_suf noun, used as a suffix
nt noun (temporal) (jisoumeishi)
adj_f noun or verb acting prenominally
v5b Godan verb with ‘bu’ ending
v5g Godan verb with ‘gu’ ending
v5k Godan verb with ‘ku’ ending
v5m Godan verb with ‘mu’ ending
v5n Godan verb with ‘nu’ ending
v5r Godan verb with ‘ru’ ending
v5r_i Godan verb with ‘ru’ ending (irregular verb)
v5aru Godan verb - -aru special class
v5k_s Godan verb - Iku/Yuku special class
v5s Godan verb with ‘su’ ending
v5t Godan verb with ‘tsu’ ending
v5u Godan verb with ‘u’ ending
v5uru Godan verb - Uru old class verb (old form of Eru)
v5u_s Godan verb with ‘u’ ending (special class)
v1 Ichidan verb
v1s Ichidan verb - kureru special class
vz Ichidan verb - zuru verb (alternative form of -jiru verbs)
vk Kuru verb - special class
v2b_s Nidan verb (lower class) with ‘bu’ ending (archaic)
v2b_k Nidan verb (upper class) with ‘bu’ ending (archaic)
v2d_s Nidan verb (lower class) with ‘dzu’ ending (archaic)
v2d_k Nidan verb (upper class) with ‘dzu’ ending (archaic)
v2g_s Nidan verb (lower class) with ‘gu’ ending (archaic)
v2g_k Nidan verb (upper class) with ‘gu’ ending (archaic)
v2h_s Nidan verb (lower class) with ‘hu/fu’ ending (archaic)
v2h_k Nidan verb (upper class) with ‘hu/fu’ ending (archaic)
v2k_s Nidan verb (lower class) with ‘ku’ ending (archaic)
v2k_k Nidan verb (upper class) with ‘ku’ ending (archaic)
v2m_s Nidan verb (lower class) with ‘mu’ ending (archaic)
v2m_k Nidan verb (upper class) with ‘mu’ ending (archaic)
v2n_s Nidan verb (lower class) with ‘nu’ ending (archaic)
v2r_s Nidan verb (lower class) with ‘ru’ ending (archaic)
v2r_k Nidan verb (upper class) with ‘ru’ ending (archaic)
v2s_s Nidan verb (lower class) with ‘su’ ending (archaic)
v2t_s Nidan verb (lower class) with ‘tsu’ ending (archaic)
v2t_k Nidan verb (upper class) with ‘tsu’ ending (archaic)
v2a_s Nidan verb with ‘u’ ending (archaic)
v2w_s Nidan verb (lower class) with ‘u’ ending and ‘we’ conjugation (archaic)
v2y_s Nidan verb (lower class) with ‘yu’ ending (archaic)
v2y_k Nidan verb (upper class) with ‘yu’ ending (archaic)
v2z_s Nidan verb (lower class) with ‘zu’ ending (archaic)
vn irregular nu verb
vr irregular ru verb, plain form ends with -ri
vs_c su verb - precursor to the modern suru
vs noun or participle which takes the aux. verb suru
vs_i suru verb - included
vs_s suru verb - special class
v_unspec verb unspecified
v4b Yodan verb with ‘bu’ ending (archaic)
v4g Yodan verb with ‘gu’ ending (archaic)
v4h Yodan verb with ‘hu/fu’ ending (archaic)
v4k Yodan verb with ‘ku’ ending (archaic)
v4m Yodan verb with ‘mu’ ending (archaic)
v4n Yodan verb with ‘nu’ ending (archaic)
v4r Yodan verb with ‘ru’ ending (archaic)
v4s Yodan verb with ‘su’ ending (archaic)
v4t Yodan verb with ‘tsu’ ending (archaic)