GlossaristGlossarist

ISO 30042 — TBX: Terminology Markup Framework

What this standard is

ISO 30042 defines TBX (TermBase eXchange), the XML-based markup framework for representing and exchanging terminology data. Published in 2008 (revision in 2019), TBX ensures that terminology entries can move between different terminology management systems — translation tools, termbases, glossary editors — without loss of information.

The standard defines:

  • TBX-Core — the minimal structural elements every TBX file must have
  • TBX dialects — specialized profiles for specific industries (TBX-Basic, TBX-Min, TBX-Default, TBX-xCS)
  • Data category categories — the vocabulary of fields and values that describe terms
  • XCS files (eXtensible Constraint Specification) — machine-readable declarations of which data categories a specific TBX file uses

Key concept: the three-level structure

TBX organizes terminology data in a three-level hierarchy:

  1. <termEntry> — the concept level (one entry per concept)
  2. <langSet> — the language level (one set per language)
  3. <tig> / <ntig> — the term level (one group per designation)

This mirrors the ISO 704 principle: one concept, many languages, many terms within each language.


How Glossarist implements it

GCR as TBX exchange medium

Glossarist’s native serialization format is YAML (human-readable, git-friendly). For TBX interchange, the glossarist-ruby gem provides bidirectional conversion between GCR (Glossarist Concept Representation) packages and TBX-XML.

The conversion path:

GCR YAML files  ←→  glossarist-ruby  ←→  TBX-XML

Designation type hierarchy

TBX inherits its designation type system from ISO 12620. Glossarist implements the full MECE (Mutually Exclusive, Collectively Exhaustive) hierarchy:

UML class diagram of the Glossarist Designation type hierarchy
Designation type hierarchy. Five concrete types branch from the abstract Base: expressions, abbreviations, symbols (letter and graphical), prefixes, and suffixes. All inherit normative status, geographical area, language/script/system, pronunciation, sources, term type, and relationship fields.

Term types

ISO 30042 / TBX defines a set of term type classifications (drawn from ISO 12620). Glossarist implements all of them as the term_type field on designations:

CategoryTerm type values
Orthographic / structuralfull_form, abbreviation, acronym, initialism, clipped_term, short_form, transliterated_form, transcribed_form, variant
Symbolic / formulaicsymbol, formula, equation, logical_expression
Usage / provenancecommon_name, entry_term, internationalism, international_scientific_term, part_number, phraseological_unit, shortcut, sku, standard_text, synonym, synonymous_phrase

See Term Types for the full list with examples.

Grammatical information

TBX encodes grammatical metadata (part of speech, gender, number). Glossarist implements these via grammar_info on expression designations:

TBX data categoryGlossarist fieldValues
Part of speechgrammar_info.part_of_speechnoun, verb, adjective, adverb, preposition, participle, other
Grammatical gendergrammar_info.gendermasculine, feminine, neuter, common
Grammatical numbergrammar_info.numbersingular, dual, plural

Designation-level relationships

TBX supports term-level cross-references for abbreviated and short forms. Glossarist implements these as designation-level related fields:

TBX relationshipGlossarist typeUsage
Abbreviated form referenceabbreviated_form_forLinks an abbreviation back to its full form
Short form referenceshort_form_forLinks a short form back to its full form

Language and script identification

TBX uses RFC 3066 / IETF language tags for the xml:lang attribute. Glossarist decomposes this into three ISO-standardized code systems:

Code systemStandardExamples
LanguageISO 639eng, fra, deu, jpn, ara, rus, zho
ScriptISO 15924Latn, Arab, Cyrl, Hani, Kana
Conversion systemISO 24229Hepburn, IPA, UN:rus-Cyrl:Latn:1993

This decomposition allows Glossarist to represent multi-script entries — e.g., a Japanese concept with Kanji, Kana, and Romaji variants — which map cleanly to TBX langSet elements with different xml:lang values.

Normative status mapping

TBX uses the normativeStatusCode attribute on term elements. Glossarist maps these directly:

TBX statusGlossarist normative_statusMeaning
preferredpreferredThe preferred term for this concept in this language
admittedadmittedA synonym accepted alongside the preferred term
notRecommendeddeprecatedA term that should not be used in new work
supersededsupersededA term replaced by a newer preferred term

TBX export

To export a GCR package as TBX:

# Using glossarist-ruby
glossarist convert --input concepts/ --output glossary.tbx --format tbx

The exported TBX file can then be imported into any TBX-compatible tool (SDL Trados, memoQ, Termium, etc.).