TEI Customization for the FreeDict project (basic), version 0.10 maintained by Piotr Bański (bansp in the domain of o2.pl) FreeDict

This file is released as part of the FreeDict package (https://freedict.org/). It is licensed under the GNU Public License version 2.0 or later.

Initial version created with Roma, the ODD generator, version 3.6.

This file is the basic schema for Freedict dictionaries encoded in TEI P5.

ODD for FreeDict dictionaries, basic level of conformance.

This is the ODD driver for generating schemas and documentation for dictionaries in the FreeDict project (see https://freedict.org/). It is meant primarily for dictionaries with a basic structure. More advanced dictionaries require an extended ODD schema. See a TEI Conference and Members' Meeting presentation by Piotr Bański and Beata Wójtowicz, which should be available from https://www.lib.umich.edu/spo/teimeeting09/program.html.

: Require at least one licence paragraph in availability. Allow normal TEI model.p-like content before and after that required licence paragraph, instead of only plain-text p paragraphs. Allow multiple licence refs inside the required paragraph (oneOrMore refs), not just a single one. Restrict edition to FreeDict version strings, based on semantic versioning: major.minor, major.minor.patch, and the three-part form with SemVer build metadata. : Added the cell, row, and table elements, to handle front matter better. : Added further Schematron constraints on the contents of tagUsage: when the rend on an ancestor is set to anchored, the ana attributes are traced to the FreeDict ontology interface (off by default, because it needs a checkout of the shared/ directory. See kha-deu for an example in action. Commented out the 'figures' module, until it is ever? needed. Removed tagUsage from the att.typed class added earlier in v. 0.8, because I decided to forcefully abuse the elements and attributes involved (mostly namespace, n and rend). TODO: extend this system for subcat elements. : Added Schematron constraints on tagUsage (so this may be the beginning of the end of DTDs for Freedict, and consequently the xinclude extension will be able to go); added tagUsage to the att.typed class (need to distinguish between tags used in the gramGroup describing the source language forms from those describing the target language (inside cit); added gramGrp to the att.typed class (in order to be able to talk about 'discharged' grammatical properties, in elements that trigger agreement on other elements (think noun classes)); Took out module "iso-fs" - I think it was here while I still thought of ontology interfaces being plugged more directly into dictionaries, not via tagUsage (or maybe I'm forgetting something now...). : Added the xinclude extension from the approoriate Roma template, changed it to be able to occur as a child of front (I can't validate xinclusions with xmllint if a DTD is used, so this is for the sake of DTDs only) : Added the "iso-fs" and "analysis" modules, the latter for the sake of @ana only... Changed the responsibility type from the Roma-generated author to respStmt and called myself a maintainer. Made the changelog dates machine-readable. Added the linking module (merged changes by Stuart Yeates). This is to enable the corresp attributes. Commited to the Freedict CVS (still in version 0.3). Properly re-titled and described. Added the "figures" module, for tables in the front matter. Removed dictScrap and entryFree and the mysterious header elements that cause Sanity Checker warnings. Removed numbered divs (with a view towards tailoring this ODD for all FreeDict dictionaries). [0-9]+\.[0-9]+(\.[0-9]+(\+[0-9A-Za-z][0-9A-Za-z\-]*(\.[0-9A-Za-z][0-9A-Za-z\-]*)*)?|-fd[0-9]+)? Make sure that the content of gramGrp (of various sorts) corresponds to whatever is defined in tagUsage *if* it is defined there. The values of gramGrp/ must belong to the set identified in tagUsage for this element. The values of cit[@type='trans']/gramGrp/ must belong to the set identified in tagUsage for this element, in the 'equiv' section. The values of gramGrp[@type='agr']/ must belong to the set identified in tagUsage for this element, in the 'agr' section. if this is an anchored description, for each item check if it identifies a resource in the FreeDict ontology interface The @ana attributes should identify a resource fragment in the FreeDict ontology interface. The W3C XInclude element pointer to the resource being included xml