<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
         xmlns:tei="http://www.tei-c.org/ns/1.0"
         xmlns:teix="http://www.tei-c.org/ns/Examples"
         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"><!--Schema generated 2025-08-28T16:49:00Z
Edition: P5 Version 4.10.1. Last updated on
        28th August 2025, revision 3cd82e7a3
This material is dual-licensed.
[http://creativecommons.org/licenses/by/3.0/] Distributed under a Creative Commons Attribution 3.0 Unported License.  [http://www.opensource.org/licenses/BSD-2-Clause] Copyright 2025 TEI Consortium. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright holder or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. TEI material can be licensed differently depending on the use you intend to make of it. Hence it is made available under both the CC+BY and BSD-2 licences. The CC+BY licence is generally appropriate for usages which treat TEI content as data or documentation. The BSD-2 licence is generally appropriate for usage of TEI content in a software environment. For further information or clarification, please contact the  TEI
          Consortium . Dictionaries--><!--Definitions from module dictionaries--><!--Set global predeclared macros--><!--Set predeclared macros--><!--0. predeclared macros--><!--1. classes-->
   <define name="model.entryLike">
      <choice>
         <ref name="superEntry"/>
         <ref name="entry"/>
         <ref name="entryFree"/>
      </choice>
   </define>
   <define name="model.entryLike_alternation">
      <choice>
         <ref name="superEntry"/>
         <ref name="entry"/>
         <ref name="entryFree"/>
      </choice>
   </define>
   <define name="model.entryLike_sequence">
      <ref name="superEntry"/>
      <ref name="entry"/>
      <ref name="entryFree"/>
   </define>
   <define name="model.entryLike_sequenceOptional">
      <optional>
         <ref name="superEntry"/>
      </optional>
      <optional>
         <ref name="entry"/>
      </optional>
      <optional>
         <ref name="entryFree"/>
      </optional>
   </define>
   <define name="model.entryLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="superEntry"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="entry"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="entryFree"/>
      </zeroOrMore>
   </define>
   <define name="model.entryLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="superEntry"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="entry"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="entryFree"/>
      </oneOrMore>
   </define>
   <define name="att.entryLike.attributes">
      <ref name="att.entryLike.attribute.type"/>
      <ref name="att.typed.attribute.subtype"/>
   </define>
   <define name="att.entryLike.attribute.type">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                    name="type"
                    a:defaultValue="main">
            <a:documentation>indicates type of entry, in dictionaries with multiple types.
Suggested values include: 1] main; 2] hom (homograph); 3] xref (cross reference); 4] affix; 5] abbr (abbreviation); 6] supplemental; 7] foreign</a:documentation>
            <choice>
               <value>main</value>
               <a:documentation>a main entry (default).</a:documentation>
               <value>hom</value>
               <a:documentation>(homograph) groups information relating to one homograph within an entry.</a:documentation>
               <value>xref</value>
               <a:documentation>(cross reference) a reduced entry whose only function is to point to another main entry (e.g. for forms of an irregular verb or for variant spellings: was pointing to be, or esthete to aesthete).</a:documentation>
               <value>affix</value>
               <a:documentation>an entry for a prefix, infix, or suffix.</a:documentation>
               <value>abbr</value>
               <a:documentation>(abbreviation) an entry for an abbreviation.</a:documentation>
               <value>supplemental</value>
               <a:documentation>a supplemental entry (for use in dictionaries which issue supplements to their main work in which they include updated information about entries).</a:documentation>
               <value>foreign</value>
               <a:documentation>an entry for a foreign word in a monolingual dictionary.</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </choice>
         </attribute>
      </optional>
   </define>
   <define name="att.lexicographic.attributes">
      <ref name="att.datcat.attributes"/>
      <ref name="att.lexicographic.normalized.attributes"/>
      <ref name="att.lexicographic.attribute.expand"/>
      <ref name="att.lexicographic.attribute.split"/>
      <ref name="att.lexicographic.attribute.value"/>
      <ref name="att.lexicographic.attribute.location"/>
      <ref name="att.lexicographic.attribute.mergedIn"/>
      <ref name="att.lexicographic.attribute.opt"/>
   </define>
   <define name="att.lexicographic.attribute.expand">
      <optional>
         <attribute name="expand">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(expand) gives an expanded form of information presented more concisely in the dictionary.</a:documentation>
            <data type="string"/>
         </attribute>
      </optional>
   </define>
   <define name="att.lexicographic.attribute.split">
      <optional>
         <attribute name="split">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(split) gives the list of split values for a merged form.</a:documentation>
            <data type="string"/>
         </attribute>
      </optional>
   </define>
   <define name="att.lexicographic.attribute.value">
      <optional>
         <attribute name="value">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(value) gives a value which lacks any realization in the printed source text.</a:documentation>
            <data type="string"/>
         </attribute>
      </optional>
   </define>
   <define name="att.lexicographic.attribute.location">
      <optional>
         <attribute name="location">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(location) indicates an <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;anchor&gt;</code> element typically elsewhere in the document, but possibly in another document, which is the original location of this component.</a:documentation>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.lexicographic.attribute.mergedIn">
      <optional>
         <attribute name="mergedIn">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(merged into) gives a reference to another element, where the original appears as a merged form.</a:documentation>
            <data type="anyURI">
               <param name="pattern">\S+</param>
            </data>
         </attribute>
      </optional>
   </define>
   <define name="att.lexicographic.attribute.opt">
      <optional>
         <attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
                    name="opt"
                    a:defaultValue="false">
            <a:documentation>(optional) indicates whether the element is optional or not.</a:documentation>
            <data type="boolean"/>
         </attribute>
      </optional>
   </define>
   <define name="model.morphLike">
      <choice>
         <ref name="gram"/>
         <ref name="gen"/>
         <ref name="number"/>
         <ref name="case"/>
         <ref name="per"/>
         <ref name="tns"/>
         <ref name="mood"/>
         <ref name="iType"/>
      </choice>
   </define>
   <define name="model.morphLike_alternation">
      <choice>
         <ref name="gram"/>
         <ref name="gen"/>
         <ref name="number"/>
         <ref name="case"/>
         <ref name="per"/>
         <ref name="tns"/>
         <ref name="mood"/>
         <ref name="iType"/>
      </choice>
   </define>
   <define name="model.morphLike_sequence">
      <ref name="gram"/>
      <ref name="gen"/>
      <ref name="number"/>
      <ref name="case"/>
      <ref name="per"/>
      <ref name="tns"/>
      <ref name="mood"/>
      <ref name="iType"/>
   </define>
   <define name="model.morphLike_sequenceOptional">
      <optional>
         <ref name="gram"/>
      </optional>
      <optional>
         <ref name="gen"/>
      </optional>
      <optional>
         <ref name="number"/>
      </optional>
      <optional>
         <ref name="case"/>
      </optional>
      <optional>
         <ref name="per"/>
      </optional>
      <optional>
         <ref name="tns"/>
      </optional>
      <optional>
         <ref name="mood"/>
      </optional>
      <optional>
         <ref name="iType"/>
      </optional>
   </define>
   <define name="model.morphLike_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="gram"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="gen"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="number"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="case"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="per"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="tns"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="mood"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="iType"/>
      </zeroOrMore>
   </define>
   <define name="model.morphLike_sequenceRepeatable">
      <oneOrMore>
         <ref name="gram"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="gen"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="number"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="case"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="per"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="tns"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="mood"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="iType"/>
      </oneOrMore>
   </define>
   <define name="model.lexicalRefinement">
      <choice>
         <ref name="gramGrp"/>
         <ref name="pos"/>
         <ref name="subc"/>
         <ref name="colloc"/>
         <ref name="usg"/>
         <ref name="lbl"/>
      </choice>
   </define>
   <define name="model.lexicalRefinement_alternation">
      <choice>
         <ref name="gramGrp"/>
         <ref name="pos"/>
         <ref name="subc"/>
         <ref name="colloc"/>
         <ref name="usg"/>
         <ref name="lbl"/>
      </choice>
   </define>
   <define name="model.lexicalRefinement_sequence">
      <ref name="gramGrp"/>
      <ref name="pos"/>
      <ref name="subc"/>
      <ref name="colloc"/>
      <ref name="usg"/>
      <ref name="lbl"/>
   </define>
   <define name="model.lexicalRefinement_sequenceOptional">
      <optional>
         <ref name="gramGrp"/>
      </optional>
      <optional>
         <ref name="pos"/>
      </optional>
      <optional>
         <ref name="subc"/>
      </optional>
      <optional>
         <ref name="colloc"/>
      </optional>
      <optional>
         <ref name="usg"/>
      </optional>
      <optional>
         <ref name="lbl"/>
      </optional>
   </define>
   <define name="model.lexicalRefinement_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="gramGrp"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="pos"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="subc"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="colloc"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="usg"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="lbl"/>
      </zeroOrMore>
   </define>
   <define name="model.lexicalRefinement_sequenceRepeatable">
      <oneOrMore>
         <ref name="gramGrp"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="pos"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="subc"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="colloc"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="usg"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="lbl"/>
      </oneOrMore>
   </define>
   <define name="model.gramPart">
      <choice>
         <ref name="model.morphLike"/>
         <ref name="model.lexicalRefinement"/>
      </choice>
   </define>
   <define name="model.gramPart_alternation">
      <choice>
         <ref name="model.morphLike_alternation"/>
         <ref name="model.lexicalRefinement_alternation"/>
      </choice>
   </define>
   <define name="model.gramPart_sequence">
      <ref name="model.morphLike_sequence"/>
      <ref name="model.lexicalRefinement_sequence"/>
   </define>
   <define name="model.gramPart_sequenceOptional">
      <optional>
         <ref name="model.morphLike_sequenceOptional"/>
      </optional>
      <optional>
         <ref name="model.lexicalRefinement_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.gramPart_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="model.morphLike_sequenceOptionalRepeatable"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.lexicalRefinement_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.gramPart_sequenceRepeatable">
      <oneOrMore>
         <ref name="model.morphLike_sequenceRepeatable"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.lexicalRefinement_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.formPart">
      <choice>
         <ref name="form"/>
         <ref name="orth"/>
         <ref name="pron"/>
         <ref name="hyph"/>
         <ref name="syll"/>
         <ref name="stress"/>
         <ref name="model.gramPart"/>
      </choice>
   </define>
   <define name="model.formPart_alternation">
      <choice>
         <ref name="form"/>
         <ref name="orth"/>
         <ref name="pron"/>
         <ref name="hyph"/>
         <ref name="syll"/>
         <ref name="stress"/>
         <ref name="model.gramPart_alternation"/>
      </choice>
   </define>
   <define name="model.formPart_sequence">
      <ref name="form"/>
      <ref name="orth"/>
      <ref name="pron"/>
      <ref name="hyph"/>
      <ref name="syll"/>
      <ref name="stress"/>
      <ref name="model.gramPart_sequence"/>
   </define>
   <define name="model.formPart_sequenceOptional">
      <optional>
         <ref name="form"/>
      </optional>
      <optional>
         <ref name="orth"/>
      </optional>
      <optional>
         <ref name="pron"/>
      </optional>
      <optional>
         <ref name="hyph"/>
      </optional>
      <optional>
         <ref name="syll"/>
      </optional>
      <optional>
         <ref name="stress"/>
      </optional>
      <optional>
         <ref name="model.gramPart_sequenceOptional"/>
      </optional>
   </define>
   <define name="model.formPart_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="form"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="orth"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="pron"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="hyph"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="syll"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="stress"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="model.gramPart_sequenceOptionalRepeatable"/>
      </zeroOrMore>
   </define>
   <define name="model.formPart_sequenceRepeatable">
      <oneOrMore>
         <ref name="form"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="orth"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="pron"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="hyph"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="syll"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="stress"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="model.gramPart_sequenceRepeatable"/>
      </oneOrMore>
   </define>
   <define name="model.ptrLike.form">
      <choice>
         <ref name="oRef"/>
         <ref name="pRef"/>
      </choice>
   </define>
   <define name="model.ptrLike.form_alternation">
      <choice>
         <ref name="oRef"/>
         <ref name="pRef"/>
      </choice>
   </define>
   <define name="model.ptrLike.form_sequence">
      <ref name="oRef"/>
      <ref name="pRef"/>
   </define>
   <define name="model.ptrLike.form_sequenceOptional">
      <optional>
         <ref name="oRef"/>
      </optional>
      <optional>
         <ref name="pRef"/>
      </optional>
   </define>
   <define name="model.ptrLike.form_sequenceOptionalRepeatable">
      <zeroOrMore>
         <ref name="oRef"/>
      </zeroOrMore>
      <zeroOrMore>
         <ref name="pRef"/>
      </zeroOrMore>
   </define>
   <define name="model.ptrLike.form_sequenceRepeatable">
      <oneOrMore>
         <ref name="oRef"/>
      </oneOrMore>
      <oneOrMore>
         <ref name="pRef"/>
      </oneOrMore>
   </define>
   <!--2. elements-->
   <define name="case">
      <element name="case">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(case) contains grammatical case information given by a dictionary for a given form. []</a:documentation>
         <ref name="case.content"/>
         <ref name="case.localattributes"/>
      </element>
   </define>
   <define name="case.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="case.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="colloc">
      <element name="colloc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(collocate) contains any sequence of words that co-occur with the headword with significant frequency. []</a:documentation>
         <ref name="colloc.content"/>
         <ref name="colloc.localattributes"/>
      </element>
   </define>
   <define name="colloc.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="colloc.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
   </define>
   <define name="def">
      <element name="def">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(definition) contains definition text in a dictionary entry. []</a:documentation>
         <ref name="def.content"/>
         <ref name="def.localattributes"/>
      </element>
   </define>
   <define name="def.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="def.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="dictScrap">
      <element name="dictScrap">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(dictionary scrap) encloses a part of a dictionary entry in which other phrase-level dictionary elements are freely combined. [ ]</a:documentation>
         <ref name="dictScrap.content"/>
         <ref name="dictScrap.localattributes"/>
      </element>
   </define>
   <define name="dictScrap.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="model.entryPart"/>
            <ref name="model.morphLike"/>
            <ref name="model.phrase"/>
            <ref name="model.inter"/>
            <ref name="model.global"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="dictScrap.localattributes">
      <ref name="att.global.attributes"/>
      <empty/>
   </define>
   <define name="entry">
      <element name="entry">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(entry) contains a single structured entry in any kind of lexical resource, such as a dictionary or lexicon. [ ]</a:documentation>
         <ref name="entry.content"/>
         <ref name="entry.localattributes"/>
      </element>
   </define>
   <define name="entry.content">
      <oneOrMore>
         <choice>
            <ref name="hom"/>
            <ref name="sense"/>
            <ref name="pc"/>
            <ref name="model.entryPart.top"/>
            <ref name="model.global"/>
            <ref name="model.ptrLike"/>
         </choice>
      </oneOrMore>
   </define>
   <define name="entry.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.entryLike.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
   </define>
   <define name="entryFree">
      <element name="entryFree">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(unstructured entry) contains a single unstructured entry in any kind of lexical resource, such as a dictionary or lexicon. [ ]</a:documentation>
         <ref name="entryFree.content"/>
         <ref name="entryFree.localattributes"/>
      </element>
   </define>
   <define name="entryFree.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="model.entryPart"/>
            <ref name="model.morphLike"/>
            <ref name="model.phrase"/>
            <ref name="model.inter"/>
            <ref name="model.global"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="entryFree.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.entryLike.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
   </define>
   <define name="etym">
      <element name="etym">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(etymology) encloses the etymological information in a dictionary entry. []</a:documentation>
         <ref name="etym.content"/>
         <ref name="etym.localattributes"/>
      </element>
   </define>
   <define name="etym.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="model.global"/>
            <ref name="model.inter"/>
            <ref name="model.phrase"/>
            <ref name="def"/>
            <ref name="etym"/>
            <ref name="gramGrp"/>
            <ref name="lbl"/>
            <ref name="usg"/>
            <ref name="xr"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="etym.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
   </define>
   <define name="form">
      <element name="form">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(form information group) groups all the information on the written and spoken forms of one headword. []</a:documentation>
         <ref name="form.content"/>
         <ref name="form.localattributes"/>
      </element>
   </define>
   <define name="form.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="model.phrase"/>
            <ref name="model.inter"/>
            <ref name="model.formPart"/>
            <ref name="model.global"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="form.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies form as simple, compound, etc.
Suggested values include: 1] simple; 2] lemma; 3] variant; 4] compound; 5] derivative; 6] inflected; 7] phrase</a:documentation>
            <choice>
               <value>simple</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">single free lexical item</a:documentation>
               <value>lemma</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the headword itself</a:documentation>
               <value>variant</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">a variant form</a:documentation>
               <value>compound</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">word formed from simple lexical items</a:documentation>
               <value>derivative</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">word derived from headword</a:documentation>
               <value>inflected</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">word in other than usual dictionary form</a:documentation>
               <value>phrase</value>
               <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">multiple-word lexical item</a:documentation>
               <data type="token">
                  <param name="pattern">[^\p{C}\p{Z}]+</param>
               </data>
            </choice>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="gen">
      <element name="gen">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(gender) identifies the morphological gender of a lexical item, as given in the dictionary. []</a:documentation>
         <ref name="gen.content"/>
         <ref name="gen.localattributes"/>
      </element>
   </define>
   <define name="gen.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="gen.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="gram">
      <element name="gram">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(grammatical information) within an entry in a dictionary or a terminological data file, contains grammatical information relating to a term, word, or form. []</a:documentation>
         <ref name="gram.content"/>
         <ref name="gram.localattributes"/>
      </element>
   </define>
   <define name="gram.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="gram.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies grammatical information provided by <code xmlns="http://www.w3.org/1999/xhtml"
                     xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;gram&gt;</code> according to some convenient and shared typology, ideally one defined in an external reference taxonomy, such as the <a xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0"
                  href="https://www.clarin.eu/content/clarin-concept-registry">CLARIN Concept
          Registry</a>.
Sample values include: 1] pos (part of speech); 2] gen (gender); 3] num (number); 4] animate; 5] proper</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="gramGrp">
      <element name="gramGrp">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(grammatical information group) groups morpho-syntactic information about a lexical item, e.g. <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;pos&gt;</code>, <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;gen&gt;</code>, <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;number&gt;</code>, <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;case&gt;</code>, or <code xmlns="http://www.w3.org/1999/xhtml"
                  xmlns:rng="http://relaxng.org/ns/structure/1.0">&lt;iType&gt;</code> (inflectional class). []</a:documentation>
         <ref name="gramGrp.content"/>
         <ref name="gramGrp.localattributes"/>
      </element>
   </define>
   <define name="gramGrp.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="model.phrase"/>
            <ref name="model.inter"/>
            <ref name="model.gramPart"/>
            <ref name="model.global"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="gramGrp.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
   </define>
   <define name="hom">
      <element name="hom">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(homograph) groups information relating to one homograph within an entry. []</a:documentation>
         <ref name="hom.content"/>
         <ref name="hom.localattributes"/>
      </element>
   </define>
   <define name="hom.content">
      <zeroOrMore>
         <choice>
            <ref name="sense"/>
            <ref name="pc"/>
            <ref name="model.entryPart.top"/>
            <ref name="model.global"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="hom.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="hyph">
      <element name="hyph">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(hyphenation) contains a hyphenated form of a dictionary headword, or hyphenation information in some other form. []</a:documentation>
         <ref name="hyph.content"/>
         <ref name="hyph.localattributes"/>
      </element>
   </define>
   <define name="hyph.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="hyph.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.notated.attributes"/>
      <empty/>
   </define>
   <define name="iType">
      <element name="iType">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(inflectional class) indicates the inflectional class associated with a lexical item. []</a:documentation>
         <ref name="iType.content"/>
         <ref name="iType.localattributes"/>
      </element>
   </define>
   <define name="iType.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="iType.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the type of indicator used to specify the inflection class, when it is necessary to distinguish between the usual abbreviated indications (e.g. inv) and other kinds of indicators, such as special codes referring to conjugation patterns, etc.
Sample values include: 1] abbrev; 2] verbTable</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="lang">
      <element name="lang">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language name) contains the name of a language mentioned in etymological or other linguistic discussion. []</a:documentation>
         <ref name="lang.content"/>
         <ref name="lang.localattributes"/>
      </element>
   </define>
   <define name="lang.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="lang.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="lbl">
      <element name="lbl">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(label) contains a label for a form, example, translation, or other piece of information, e.g. abbreviation for, contraction of, literally, approximately, synonyms:, etc. [  ]</a:documentation>
         <ref name="lbl.content"/>
         <ref name="lbl.localattributes"/>
      </element>
   </define>
   <define name="lbl.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="lbl.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the label using any convenient typology.</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="mood">
      <element name="mood">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(mood) contains information about the grammatical mood of verbs (e.g. indicative, subjunctive, imperative). []</a:documentation>
         <ref name="mood.content"/>
         <ref name="mood.localattributes"/>
      </element>
   </define>
   <define name="mood.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="mood.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="number">
      <element name="number">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number) indicates grammatical number associated with a form, as given in a dictionary. [ ]</a:documentation>
         <ref name="number.content"/>
         <ref name="number.localattributes"/>
      </element>
   </define>
   <define name="number.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="number.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="oRef">
      <element name="oRef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(orthographic-form reference) in a dictionary example, indicates a reference to the orthographic form(s) of the headword. []</a:documentation>
         <ref name="oRef.content"/>
         <ref name="oRef.localattributes"/>
      </element>
   </define>
   <define name="oRef.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="oRef"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="oRef.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.notated.attributes"/>
      <ref name="att.pointing.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the kind of typographic modification made to the headword in the reference.
Sample values include: 1] cap (capital); 2] noHyph (no hyphen)</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="orth">
      <element name="orth">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(orthographic form) gives the orthographic form of a dictionary headword. []</a:documentation>
         <ref name="orth.content"/>
         <ref name="orth.localattributes"/>
      </element>
   </define>
   <define name="orth.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="orth.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.notated.attributes"/>
      <ref name="att.partials.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the type of spelling.</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="pRef">
      <element name="pRef">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pronunciation reference) in a dictionary example, indicates a reference to the pronunciation(s) of the headword. []</a:documentation>
         <ref name="pRef.content"/>
         <ref name="pRef.localattributes"/>
      </element>
   </define>
   <define name="pRef.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="pRef"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="pRef.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.notated.attributes"/>
      <ref name="att.pointing.attributes"/>
      <empty/>
   </define>
   <define name="per">
      <element name="per">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(person) contains an indication of the grammatical person (1st, 2nd, 3rd, etc.) associated with a given inflected form in a dictionary. []</a:documentation>
         <ref name="per.content"/>
         <ref name="per.localattributes"/>
      </element>
   </define>
   <define name="per.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="per.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="pos">
      <element name="pos">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(part of speech) indicates the part of speech assigned to a dictionary headword such as noun, verb, or adjective. []</a:documentation>
         <ref name="pos.content"/>
         <ref name="pos.localattributes"/>
      </element>
   </define>
   <define name="pos.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="pos.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="pron">
      <element name="pron">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(pronunciation) contains the pronunciation(s) of the word. []</a:documentation>
         <ref name="pron.content"/>
         <ref name="pron.localattributes"/>
      </element>
   </define>
   <define name="pron.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="pron.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.notated.attributes"/>
      <ref name="att.partials.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
   </define>
   <define name="re">
      <element name="re">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(related entry) contains a dictionary entry for a lexical item related to the headword, such as a compound phrase or derived form, embedded inside a larger entry. []</a:documentation>
         <ref name="re.content"/>
         <ref name="re.localattributes"/>
      </element>
   </define>
   <define name="re.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="sense"/>
            <ref name="model.entryPart.top"/>
            <ref name="model.phrase"/>
            <ref name="model.global"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="re.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attributes"/>
      <empty/>
   </define>
   <define name="sense">
      <element name="sense">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">groups together all information relating to one word sense in a dictionary entry, for example definitions, examples, and translation equivalents. []</a:documentation>
         <ref name="sense.content"/>
         <ref name="sense.localattributes"/>
      </element>
   </define>
   <define name="sense.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="sense"/>
            <ref name="model.entryPart.top"/>
            <ref name="model.phrase"/>
            <ref name="model.global"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="sense.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <optional>
         <attribute name="level">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives the nesting depth of this sense.</a:documentation>
            <data type="nonNegativeInteger"/>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="stress">
      <element name="stress">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(stress) contains the stress pattern for a dictionary headword, if given separately. []</a:documentation>
         <ref name="stress.content"/>
         <ref name="stress.localattributes"/>
      </element>
   </define>
   <define name="stress.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="stress.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.notated.attributes"/>
      <empty/>
   </define>
   <define name="subc">
      <element name="subc">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(subcategorization) contains subcategorization information (transitive/intransitive, countable/non-countable, etc.) []</a:documentation>
         <ref name="subc.content"/>
         <ref name="subc.localattributes"/>
      </element>
   </define>
   <define name="subc.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="subc.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="superEntry">
      <element name="superEntry">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(super entry) groups a sequence of entries within any kind of lexical resource, such as a dictionary or lexicon which function as a single unit, for example a set of homographs. []</a:documentation>
         <ref name="superEntry.content"/>
         <ref name="superEntry.localattributes"/>
      </element>
   </define>
   <define name="superEntry.content">
      <choice>
         <group>
            <optional>
               <ref name="form"/>
            </optional>
            <oneOrMore>
               <ref name="entry"/>
            </oneOrMore>
         </group>
         <ref name="dictScrap"/>
      </choice>
   </define>
   <define name="superEntry.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.entryLike.attributes"/>
      <ref name="att.sortable.attributes"/>
      <empty/>
   </define>
   <define name="syll">
      <element name="syll">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(syllabification) contains the syllabification of the headword. []</a:documentation>
         <ref name="syll.content"/>
         <ref name="syll.localattributes"/>
      </element>
   </define>
   <define name="syll.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="syll.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.notated.attributes"/>
      <empty/>
   </define>
   <define name="tns">
      <element name="tns">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tense) indicates the grammatical tense associated with a given inflected form in a dictionary. []</a:documentation>
         <ref name="tns.content"/>
         <ref name="tns.localattributes"/>
      </element>
   </define>
   <define name="tns.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="tns.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <empty/>
   </define>
   <define name="usg">
      <element name="usg">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(usage) contains usage information in a dictionary entry. []</a:documentation>
         <ref name="usg.content"/>
         <ref name="usg.localattributes"/>
      </element>
   </define>
   <define name="usg.content">
      <ref name="macro.paraContent"/>
   </define>
   <define name="usg.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">classifies the usage information using any convenient typology.
Sample values include: 1] geo (geographic); 2] time; 3] dom (domain); 4] register (register); 5] style; 6] plev (preference level); 7] lang (language); 8] gram (grammatical); 9] syn (synonym); 10] hyper (hypernym); 11] colloc (collocation); 12] comp (complement); 13] obj (object); 14] subj (subject); 15] verb; 16] hint</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
      <empty/>
   </define>
   <define name="xr">
      <element name="xr">
         <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cross-reference phrase) contains a phrase, sentence, or icon referring the reader to some other location in this or another text. []</a:documentation>
         <ref name="xr.content"/>
         <ref name="xr.localattributes"/>
      </element>
   </define>
   <define name="xr.content">
      <zeroOrMore>
         <choice>
            <text/>
            <ref name="model.gLike"/>
            <ref name="model.phrase"/>
            <ref name="model.inter"/>
            <ref name="usg"/>
            <ref name="lbl"/>
            <ref name="model.global"/>
         </choice>
      </zeroOrMore>
   </define>
   <define name="xr.localattributes">
      <ref name="att.global.attributes"/>
      <ref name="att.lexicographic.attributes"/>
      <ref name="att.typed.attribute.subtype"/>
      <optional>
         <attribute name="type">
            <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates the type of cross reference, using any convenient typology.
Sample values include: 1] syn (synonym); 2] etym (etymological); 3] cf (compare or consult); 4] illus (illustration)</a:documentation>
            <data type="token">
               <param name="pattern">[^\p{C}\p{Z}]+</param>
            </data>
         </attribute>
      </optional>
      <empty/>
   </define>
   <!--3. macros-->
</grammar>
