Term base in SDL MultiTerm XML format
Below you can see the SDL MultiTerm format of term bases exported through WS API. The following settings are used:
- File format: XML
- Encoding: UTF-16
- Images are not exported through WS API
- Both QTerm and memoQ term bases can be exported to MultiTerm XML
- QTerm custom fields are not exported. To export these metadata fields, use the TBX export format.
Warning
The format of MultiTerm XML files might have different format if they have been exported from QTerm.
Structure
The output of the TBX export is an XML file the content of XDL and XDT files are returned as string parameters.
XDL
XDL file is a layout definition file for SDL MultiTerm. You can find a sample here. As memoQ term bases are of fixed structure (and custom fields from QTerm term bases are not exported), XDL files always have the same format, and only language information can change according to the languages of the term base. Below you can see the changing part of the XDT.
Current languages appear in <LocalizationXML>
element listed between the two empty label (<label field=""/>
). The value of the field will be the long name, the label's value will be the English display name of the language.
<LocalizationXML>
<label field="Created by">Created by</label>
<label field="Created on">Created at</label>
<label field="Modified by">Modified by</label>
<label field="Modified on">Modified at</label>
<label field="Entry class">Entry class</label>
<label field="Entry number">Entry number</label>
<label field="Entry level">Entry level</label>
<label field=""/>
<label field="English (United States)">English (United States)</label>
<label field="German (Germany)">German (Germany)</label>
<label field="Hungarian">Hungarian</label>
<label field="Term">Term</label>
<label field=""/>
<label field="ID">Entry ID</label>
<label field="Note">Note</label>
<label field="Project">Project</label>
<label field="Client">Client</label>
<label field="Domain">Domain</label>
<label field="Subject">Subject</label>
<label field="Definition">Term definition</label>
<label field="Usage example">Example of use</label>
<label field="Forbidden term">Forbidden term</label>
<label field="Part of speech">Part of speech</label>
<label field="Number (grammar)">Number (grammar)</label>
<label field="Gender (grammar)">Gender (grammar)</label>
<label field="Image">Image</label>
</LocalizationXML>
Note
QTerm term bases do not have a built-in Note field (represented by the <label field="Note">
element, so that will not be present in the exported XML file.
XDT
XDT is a definition file for SDL MultiTerm that describes the scheme of the term base. You can find a sample here. As memoQ term bases are of fixed structure (and custom fields from QTerm term bases are no exported), XDT files always have the same format, and only language information can change according to the languages of the term base. Below you can see the changing part of the XDT part.
Current languages appear in the <Languages>
element, where <ItemLocale>
contains the two-letter language code, and <ItemText>
the long name of the language.
<Languages>
<ItemLocale>EN</ItemLocale>
<ItemText>English</ItemText>
<ItemLocale>HU</ItemLocale>
<ItemText>Hungarian</ItemText>
</Languages>
Language-level information in the XML file is captured within the <languageGr>
element, which has <language>
child nodes. The XDT defines the possible values of the lang
and the type
attributes of the <language>
elements.
The type attribute has the type "languages" and contains the long name of languages; the lang
attribute refers to the target locale and it has the type "locales", and contains the two-letter language codes. Please see the example below.
<ElementType ID="8" name="languageGrp" content="eltOnly" order="many">
<description/>
<Occurences>
<Level minOccurs="0" maxOccurs="*"/>
</Occurences>
<ElementType ID="9" name="language" content="empty" order="many">
<description/>
<Occurences>
<Level minOccurs="1" maxOccurs="1"/>
</Occurences>
<AttributeType name="type" type="languages" values="English|Hungarian">
<description/>
<Occurences>
<Level minOccurs="1" maxOccurs="1"/>
<Level minOccurs="0" maxOccurs="*"/>
</Occurences>
</AttributeType>
<AttributeType name="lang" type="locales" values="EN-US|HU">
<description/>
<Occurences>
<Level minOccurs="1" maxOccurs="1"/>
<Level minOccurs="0" maxOccurs="*"/>
</Occurences>
</AttributeType>
</ElementType>
XML
The content of the term base is exported to the XML file.
In the following example, you can see the representation of an entry from a QTerm term base.
<conceptGrp>
<concept>0</concept>
<system type="entryClass">0</system>
<transacGrp>
<transac type="origination">admin</transac>
<date>2016-04-03T12:31:31</date>
</transacGrp>
<transacGrp>
<transac type="modification">admin</transac>
<date>2018-10-11T15:01:31</date>
</transacGrp>
<descripGrp>
<descrip type="ID">0</descrip>
</descripGrp>
<descripGrp>
<descrip type="Client">RemoteCooking</descrip>
</descripGrp>
<descripGrp>
<descrip type="Domain">Culinary</descrip>
</descripGrp>
<descripGrp>
<descrip type="Project">CulinaryTB</descrip>
</descripGrp>
<languageGrp>
<language type="English (United States)" lang="EN-US"/>
<descripGrp>
<descrip type="Definition">a list of the dishes that may be ordered (as in a restaurant) or that are to be served (as at a banquet)</descrip>
</descripGrp>
<termGrp>
<term>menu</term>
<transacGrp>
<transac type="origination">admin</transac>
<date>2016-04-03T12:31:31</date>
</transacGrp>
<transacGrp>
<transac type="modification">admin</transac>
<date>2018-10-11T15:01:31</date>
</transacGrp>
</termGrp>
</languageGrp>
<languageGrp>
<language type="Hungarian" lang="HU"/>
<descripGrp>
<descrip type="Definition">menü, ételsor</descrip>
</descripGrp>
<termGrp>
<term>menü</term>
<transacGrp>
<transac type="origination">admin</transac>
<date>2016-04-03T12:31:31</date>
</transacGrp>
<transacGrp>
<transac type="modification">admin</transac>
<date>2018-10-11T15:01:31</date>
</transacGrp>
</termGrp>
</languageGrp>
</conceptGrp>
Note
The value of the <concept>
element stands for the index of the given entry, between 0 and the count of the entries - 1.
<conceptGrp>
has a child element called <system>
. Its value is always 0.
Entry level fields
The following entry level fields are present in a MultiTerm XML both when exporting memoQ or QTerm term bases. Their order is not bound. A field is exported if it has a value.
The content of an entry is located within <conceptGrp>
.
Properties specified in the <descrip>
elements within <descripGrp>
define the ID, the metadata and the note of a term base entry:
<descripGrp>
<descrip type="Client">RemoteCooking</descrip>
</descripGrp>
Entry level property | Value of the type attribute |
Value type of the <descript> element |
Description |
---|---|---|---|
Id | ID | Number | The id of the TB entry. |
Subject | Subject | Text | The subject of the TB entry. |
Domain | Domain | Text | The domain of the TB entry. |
Client | Client | Text | The client of the TB entry. |
Project | Project | Text | The project of the TB entry. |
Note | Note | Text | The note of the TB entry. |
Note
QTerm term bases do not have a built-in Note
field, and a custom field with the same name will not be exported to MultiTerm XML by the WS API export.
Properties specified in the <transac>
elements within <transacGrp>
define the creation and modification dates and the creator/modifier of a term bas entry:
<transacGrp>
<transac type="origination">admin</transac>
<date>2016-04-03T12:31:31</date>
</transacGrp>
<transacGrp>
<transac type="modification">admin</transac>
<date>2018-10-11T15:01:31</date>
</transacGrp>
Entry level property | Element | Value of the type attribute |
Value tpye of the <transac> element |
Description |
---|---|---|---|---|
Creator | transac | origination | Text | The creator of the TB entry. |
Created | date | DateTime | The creation UTC date of the TB entry. In format yyyy-MM-ddThh:mm:ss . |
|
Modifier | transac | modification | Text | The last modifier of the TB entry. |
Modified | date | DateTime | The UTC date of the TB entry's last modification. In format yyyy-MM-ddThh:mm:ss . |
QTerm term bases might have custom fields at the entry level, but these fields are exported to the XML only by manual export of the term base.
<descripGrp>
<descrip type="Status">https://memoq.com</descrip>
</descripGrp>
Entry level property | Value of type attribute |
Value type of the <descript> element |
Description | |
---|---|---|---|---|
Custom metadata fields | [FieldName] | Custom values | Custom fields of a QTerm term base are exported to MultiTerm only by manual export. A custom metadata field could be of types: Text | Number | True/False | Date | Picklist (single)| Picklist (multiple) |
Language level fields
The following language level fields are present in a MultiTerm XML both when exporting standard memoQ or QTerm term bases. Their order is not bound. A field is exported if it has a value.
The language level content can be found within the <languageGrp>
element. The name of the language and its two-letter language code is described by the attributes of the <language>
element: <language type="English (United States)" lang="EN-US"/>
<languageGrp>
<language type="English (United States)" lang="EN-US"/>
<descripGrp>
<descrip type="Definition">a list of the dishes that may be ordered (as in a restaurant) or that are to be served (as at a banquet)</descrip>
</descripGrp>
<descripGrp>
<descrip type="Forbidden term">menu</descrip>
</descripGrp>
<termGrp>
...
</languageGrp>
Note
If a term base is exported through WS API, forbidden terms are exported at the language level. Only the text of the term is exported, no other properties.
memoQ term bases contain only the definition and the forbidden terms at the language level, both properties are represented as <descripGrp>
elements.
<descripGrp>
<descrip type="Definition">a list of the dishes that may be ordered (as in a restaurant) or that are to be served (as at a banquet).</descrip>
</descripGrp>
Language level property | Value of the type attribute |
Value type of the <descrip> element |
Description |
---|---|---|---|
Definition | Definition | Text | The definition of the language. |
Forbidden term | Forbidden term | Text | Forbidden term for the given entry/language. |
QTerm term bases might have custom fields at the language level, but these fields are exported to the XML only by manual export of the term base.
<descripGrp>
<descrip type="SourceDef">https://memoq.com</descrip>
</descripGrp>
Language level property | Value of type attribute |
Value type of the <descript> element |
Description | |
---|---|---|---|---|
Custom metadata fields | [FieldName] | Custom values | Custom fields of a QTerm term base are exported to MultiTerm only by manual export. A custom metadata field could be of types: Text | Number | True/False | Date | Picklist (single)| Picklist (multiple) |
Term level fields
The following term level fields are present in a MultiTerm XML both when exporting standard memoQ or QTerm term bases. Their order is not bound. A field is exported if it has a value.
The term level content is described within the <termGrp>
element. Multiple <termGrp>
can be present if there are multiple terms for a language.
<termGrp>
<term>menu</term>
<transacGrp>
<transac type="origination">admin</transac>
<date>2016-04-03T12:31:31</date>
</transacGrp>
<transacGrp>
<transac type="modification">admin</transac>
<date>2018-10-11T15:01:31</date>
</transacGrp>
<descripGrp>
<descrip type="Part of speech">N</descrip>
</descripGrp>
</termGrp>
The text of the term can be found as the value of <term>
element.
Properties specified as <descrip>
elements (within <descripGrp>
) describe usage, grammatical information, case sensitivity and matching condition of the term:
<descripGrp>
<descrip type="Part of speech">N</descrip>
</descripGrp>
Term level property | Value of the type attribute |
Value type of the <descrip> element |
Description |
---|---|---|---|
Example | Usage example | Text | An example of use of the term. |
Grammar part of speech | Part of speech | N | Adj | Adv | V | X | The grammatical category of the term (single picklist, possible values: Noun, Adjective, Adverb, Verb, Other). |
Number | Number (grammar) | Sg | Pl | The grammatical number of the term (single picklist, possible values: Singular or Plural). |
Gender | Gender (grammar) | Masc | Fem | N | The grammatical gender of the term (picklist, possible values: Masculine, Feminine or Neuter). |
Matching | PartialTreshold | None | Half | Any | Custom | Defines the degree to which partial matches are allowed against this term (single picklist, possible values: Exact, 50% prefix, Fuzzy or Custom). Manual export only. |
Case sensitivity | CaseSense | Strict | Near | Insensitive | Defines the case sensitivity level of the term (single picklist, possible values: Sensitive, Permissive or Insensitive). Manual export only. |
Forbidden | Forbidden | True | False | Defines if the term is forbidden (True) or not (False). The default value is False. This property is presented at the term level only in case of manual export. |
Note
If a term base is exported through WS API, forbidden terms are exported at the language level. In this case, only the text of the term is exported, no other properties. When the term base is exported manually the forbidden term property is shown at the term level:
Note
If a term base is exported through WS API, Matching
and Case sensitivity
properties will not be exported.
Note
QTerm term bases do not have built-in Grammar part of speech
, Number
and Example
properties, so those will not be present in the exported file.
QTerm term bases might have custom fields at the term level, but these fields are exported to the XML only by manual export of the term base.
<descripGrp>
<descrip type="SourceDef">https://memoq.com</descrip>
</descripGrp>
Term level property | Value of type attribute |
Value type of the <descript> element |
Description | |
---|---|---|---|---|
Custom metadata fields | [FieldName] | Custom values | Custom fields of a QTerm term base are exported to MultiTerm only by manual export. A custom metadata field could be of types: Text | Number | True/False | Date | Picklist (single)| Picklist (multiple) |
Properties specified in the <transac>
and <date>
elements within <transacGrp>
define the creation and modification dates and the creator/modifier of a term:
Term-level property | Element name | Value of the type attribute |
Value type | Description |
---|---|---|---|---|
Creator | transac | origination | Text | The creator of the term. |
Created | date | DateTime | The creation UTC date of the term. In format yyyy-MM-ddThh:mm:ss . |
|
Modifier | transac | modification | Text | The last modifier of the term. |
Modified | date | DateTime | The UTC date of the term's last modification. In format yyyy-MM-ddThh:mm:ss . |
MultiTerm languages
MultiTerm uses the following format of language codes in the exported XDL, XDT, MultiTerm XML files.
Three-letter lang code | Two-letter lang code | Long name |
---|---|---|
afr | AF | Afrikaans |
arm | AM | Armenian |
ara | AR | Arabic |
ara_AE | AR-AE | Arabic (UAE) |
ara_BH | AR-BH | Arabic (Bahrain) |
ara_DZ | AR-DZ | Arabic (Algeria) |
ara_EG | AR-EG | Arabic (Egypt) |
ara_IQ | AR-IQ | Arabic (Iraq) |
ara_JO | AR-JO | Arabic (Jordan) |
ara_KW | AR-KW | Arabic (Kuwait) |
ara_LB | AR-LB | Arabic (Lebanon) |
ara_LY | AR-LY | Arabic (Libya) |
ara_MA | AR-MA | Arabic (Morocco) |
ara_OM | AR-OM | Arabic (Oman) |
ara_QA | AR-QA | Arabic (Qatar) |
ara_SA | AR-SA | Arabic (Saudi Arabia) |
ara_SY | AR-SY | Arabic (Syria) |
ara_TN | AR-TN | Arabic (Tunisia) |
ara_YE | AR-YE | Arabic (Yemen) |
aze | AZ | Azeri |
bel | BE | Belarusian |
boc | SH-B2 | Bosnian |
bos | SH-B2 | Bosnian |
bul | BG | Bulgarian |
cat | CA | Catalan |
cgl | SH-B1 | Montenegrin |
cgy | SH-B1 | Montenegrin |
cze | CS | Czech |
dan | DA | Danish |
ger | DE | German |
ger_AT | DE-AT | German (Austria) |
ger_CH | DE-CH | German (Switzerland) |
ger_DE | DE-DE | German (Germany) |
ger_LI | DE-LI | German (Liechtenstein) |
ger_LU | DE-LU | German (Luxembourg) |
gre | EL | Greek |
eng | EN | English |
eng_AU | EN-AU | English (Australia) |
eng_BZ | EN-BZ | English (Belize) |
eng_CA | EN-CA | English (Canada) |
eng_CB | EN-CB | English (Caribbean) |
eng_GB | EN-GB | English (United Kingdom) |
eng_IE | EN-IE | English (Ireland) |
eng_JM | EN-JM | English (Jamaica) |
eng_NZ | EN-NZ | English (New Zealand) |
eng_TT | EN-TT | English (Trinidad) |
eng_US | EN-US | English (United States) |
eng_ZA | EN-ZA | English (South Africa) |
mar | MR | Marathi |
pan | PA | Punjabi |
pnb | PA | Punjabi |
spa | ES | Spanish |
spa_AR | ES-AR | Spanish (Argentina) |
spa_BO | ES-BO | Spanish (Bolivia) |
spa_CL | ES-CL | Spanish (Chile) |
spa_CO | ES-CO | Spanish (Colombia) |
spa_CR | ES-CR | Spanish (Costa Rica) |
spa_DO | ES-DO | Spanish (Dominican Republic) |
spa_ec | ES-EC | Spanish (Ecuador) |
spa_EM | ES-EM | Spanish (Modern Sort) |
spa_ES | ES-ES | Spanish (Spain) |
spa_GT | ES-GT | Spanish (Guatemala) |
spa_HN | ES-HN | Spanish (Honduras) |
spa_MX | ES-MX | Spanish (Mexico) |
spa_NI | ES-NI | Spanish (Nicaragua) |
spa_PA | ES-PA | Spanish (Panama) |
spa_PE | ES-PE | Spanish (Peru) |
spa_PR | ES-PR | Spanish (Puerto Rico) |
spa_PY | ES-PY | Spanish (Paraguay) |
spa_SV | ES-SV | Spanish (El Salvador) |
spa_UY | ES-UY | Spanish (Uruguay) |
spa_VE | ES-VE | Spanish (Venezuela) |
est | ET | Estonian |
baq | EU | Basque |
fas | FA | Farsi |
fin | FI | Finnish |
fao | FO | Faeroese |
fre | FR | French |
fre_BE | FR-BE | French (Belgium) |
fre_CA | FR-CA | French (Canada) |
fre_CH | FR-CH | French (Switzerland) |
fre_FR | FR-FR | French (France) |
fre_LU | FR-LU | French (Luxembourg) |
gla | GA-CT | Gaelic (Scotland) |
gle | GA-IE | Gaelic (Ireland) |
wel | GA-WA | Welsh |
glg | GL | Galician |
guj | GU | Gujarati |
hin | HI | Hindi |
hun | HU | Hungarian |
ind | ID | Indonesian |
ice | IS | Icelandic |
ita | IT | Italian |
ita_CH | IT-CH | Italian (Switzerland) |
ita_IT | IT-IT | Italian (Italy) |
heb | IW | Hebrew |
jpn | JA | Japanese |
kaz | KK | Kazakh |
kor | KO | Korean |
kir | KY | Kyrgyz |
lit | LT | Lithuanian |
lav | LV | Latvian |
mac | MK | Macedonian |
mon | MN | Mongolian |
mlt | MT | Maltese |
dut | NL | Dutch |
dut_BE | NL-BE | Dutch (Belgium) |
dut_NL | NL-NL | Dutch (Netherlands) |
nor | NO | Norwegian |
nnb | NO-NO | Norwegian (Bokmal) |
nno | NO-NY | Norwegian (Nynorsk) |
pol | PL | Polish |
por | PT | Portuguese |
por_BR | PT-BR | Portuguese (Brazil) |
por_PT | PT-PT | Portuguese (Portugal) |
rum | RO | Romanian |
rus | RU | Russian |
hrv | SH-HR | Croatian |
scr | SH-SR | Serbian (Latin) |
scc | SH-YU | Serbian (Cyrillic) |
slo | SK | Slovak |
slv | SL | Slovenian |
alb | SQ | Albanian |
swe | SV | Swedish |
swe_FI | SV-FI | Swedish (Finland) |
swe_SE | SV-SE | Swedish (Sweden) |
swa | SW | Swahili |
tha | TH | Thai |
tur | TR | Turkish |
tat | TT | Tatar |
ukr | UK | Ukrainian |
urd | UR | Urdu |
vie | VI | Vietnamese |
zho | ZH | Chinese |
zho_CN | ZH-CN | Chinese (PRC) |
zho_HK | ZH-HK | Chinese (Hongkong) |
zho_SG | ZH-SG | Chinese (Singapore) |
zho_TW | ZH-TW | Chinese (Taiwan) |
msa | MS | Malay |
ben | BN | Bengali |
tgl | TA | Tagalog |