If you want to generate a termbase in XML and import it to Multiterm, you should be able to validate it before the import. Are such schemas publicly available?
If you want to generate a termbase in XML and import it to Multiterm, you should be able to validate it before the import. Are such schemas publicly available?
Presumably you are generating the MT XML from another tool, in which case the best place to ask questions like this would be the Language Developers forums here:
https://community.sdl.com/developers-more/developers/language-developers/f/sdk_qa
The scheme is available in the SDK. I did want to give you the link but it seems to be broken, probably because we are updating all the developer documentation at the moment for release in a couple of weeks. So here it is:
===========
This schema describes the following elements and attributes:
Elements | Attributes | Element-specific Attributes |
---|---|---|
<concept> <conceptGrp> <date> <descrip> <descripGrp> <language> <languageGrp> <mtf> (document element) <system> <term> <termGrp> <transac> <transacGrp> <xref> |
Blink Clink datatype Glink id lang Plink Slink Tlink type Ulink |
<system type> <transac type> |
Document conventions:
syntax: | <concept >
|
|||
content: | ui4 datatype | |||
order: | Ignored when a datatype is specified. | |||
parents: | conceptGrp | |||
childen: | No children allowed when a datatype is specified. | |||
attributes: | (none) | |||
model: | Treated as closed when a datatype is specified. | |||
source: |
<ElementType name="concept" content="textOnly" model="closed" dt:type="ui4"> <description>Primary element of a conceptGrp. Content is the entry number.</description> </ElementType> |
syntax: | <conceptGrp >
|
||||||||||||||||||
content: | eltOnly | ||||||||||||||||||
order: | many | ||||||||||||||||||
parents: | mtf | ||||||||||||||||||
childen: | concept, descripGrp, languageGrp, system, transacGrp | ||||||||||||||||||
attributes: | (none) | ||||||||||||||||||
model: | closed | ||||||||||||||||||
source: |
<ElementType name="conceptGrp" content="eltOnly" order="many" model="closed"> <description>The container for one concept. A concept has concept-level, language-independent fields, and at least one language group, which contains at least one term. </description> <element type="concept" minOccurs="1" maxOccurs="1"/> <!-- contains concept-level info and languages --> <element type="system" minOccurs="0" maxOccurs="*"/> <element type="transacGrp" minOccurs="0" maxOccurs="*"/> <element type="descripGrp" minOccurs="0" maxOccurs="*"/> <element type="languageGrp" minOccurs="1" maxOccurs="*"/> </ElementType> |
syntax: | <date >
|
|||
content: | dateTime datatype | |||
order: | Ignored when a datatype is specified. | |||
parents: | transacGrp | |||
childen: | No children allowed when a datatype is specified. | |||
attributes: | (none) | |||
model: | Treated as closed when a datatype is specified. | |||
source: |
<ElementType name="date" content="textOnly" dt:type="dateTime" model="closed"> <description>A date in ISO-8601:1988 format, as implemented by MSXML2.</description> </ElementType> |
syntax: | <descrip
|
|||||||||||||||||||||||
content: | mixed | |||||||||||||||||||||||
order: | many (default) | |||||||||||||||||||||||
parents: | descripGrp | |||||||||||||||||||||||
childen: | xref | |||||||||||||||||||||||
attributes: | Clink, Glink, Plink, Slink, Tlink, type, Ulink | |||||||||||||||||||||||
model: | closed | |||||||||||||||||||||||
source: |
<ElementType name="descrip" content="mixed" model="closed"> <description>Contains a descriptive, free-text element like a definition or a subject field. Content is formatted text, and the tag can carry a link attribute (link to concept, term, subject tree, graphics file, URL). </description> <element type="xref" minOccurs="0" maxOccurs="*"/> <attribute type="type" required="yes"/> <attribute type="Clink"/> <attribute type="Glink"/> <attribute type="Plink"/> <attribute type="Slink"/> <attribute type="Tlink"/> <attribute type="Ulink"/> </ElementType> |
syntax: | <descripGrp >
|
||||||||||||
content: | eltOnly | ||||||||||||
order: | many | ||||||||||||
parents: | conceptGrp, descripGrp, languageGrp, termGrp | ||||||||||||
childen: | descrip, descripGrp, transacGrp | ||||||||||||
attributes: | (none) | ||||||||||||
model: | closed | ||||||||||||
source: |
<ElementType name="descripGrp" content="eltOnly" order="many" model="closed"> <description>Contains a descriptive element, and optionally a source, transactional info, and a note. </description> <element type="descrip" minOccurs="1" maxOccurs="1"/> <element type="transacGrp" minOccurs="0" maxOccurs="*"/> <element type="descripGrp" minOccurs="0" maxOccurs="*"/> </ElementType> |
syntax: | <language
|
||||
content: | empty | ||||
order: | seq | ||||
parents: | languageGrp | ||||
childen: | (none) | ||||
attributes: | lang, type | ||||
model: | open (default) | ||||
source: |
<ElementType name="language" content="empty" order="seq"> <description>A language specifier. The type attribute holds the "name" of the language as specified in the database definition, the lang attribute the locale in the form "en_us". </description> <attribute type="type" required="yes"/> <attribute type="lang" required="yes"/> </ElementType> |
syntax: | <languageGrp >
|
|||||||||||||||
content: | eltOnly | |||||||||||||||
order: | many | |||||||||||||||
parents: | conceptGrp | |||||||||||||||
childen: | descripGrp, language, termGrp, transacGrp | |||||||||||||||
attributes: | (none) | |||||||||||||||
model: | closed | |||||||||||||||
source: |
<ElementType name="languageGrp" content="eltOnly" order="many" model="closed"> <description>The container for information about all terms in one language.</description> <element type="language" minOccurs="1" maxOccurs="1"/> <element type="transacGrp" minOccurs="0" maxOccurs="*"/> <element type="descripGrp" minOccurs="0" maxOccurs="*"/> <element type="termGrp" minOccurs="1" maxOccurs="*"/> </ElementType> |
syntax: | <mtf >
|
||||||
content: | eltOnly | ||||||
order: | seq | ||||||
parents: | No parents found. This is probably the document element. | ||||||
childen: | conceptGrp | ||||||
attributes: | (none) | ||||||
model: | closed | ||||||
source: |
<ElementType name="mtf" content="eltOnly" order="seq" model="closed"> <description>The root node of an MTF document. A document must contain at least one concept. </description> <element type="conceptGrp" minOccurs="1" maxOccurs="*"/> </ElementType> |
syntax: | <system
|
|||||
content: | textOnly | |||||
order: | many (default) | |||||
parents: | conceptGrp | |||||
childen: | No children allowed when content is textOnly. | |||||
attributes: | type | |||||
model: | closed | |||||
source: |
<ElementType name="system" content="textOnly" model="closed"> <description>Contains system-maintained information like the old entry class and the approval status of a concept, language or term. The type attribute can be one of "entryClass" and "status". </description> <AttributeType name="type" dt:type="enumeration" dt:values="entryClass status" required="yes"> <description>A system tag can be of type entryClass (values 1-8, inherited from old MTW databases) or type status (values: new, reviewed, approved).</description> </AttributeType> <attribute type="type" required="yes"/> </ElementType> |
syntax: | <term >
|
|||
content: | textOnly | |||
order: | many (default) | |||
parents: | termGrp | |||
childen: | No children allowed when content is textOnly. | |||
attributes: | (none) | |||
model: | closed | |||
source: |
<ElementType name="term" content="textOnly" model="closed"> <description>Contains a term as plain text. Note: we have requests for storing formatted terms containing sub- and superscript for mathematical and chemical formulae. This should be decided soon, IMHO it's doable. </description> </ElementType> |
syntax: | <termGrp >
|
||||||||||||
content: | eltOnly | ||||||||||||
order: | many | ||||||||||||
parents: | languageGrp | ||||||||||||
childen: | descripGrp, term, transacGrp | ||||||||||||
attributes: | (none) | ||||||||||||
model: | closed | ||||||||||||
source: |
<ElementType name="termGrp" content="eltOnly" order="many" model="closed"> <description>Groups one term and all its associated information, which can be descriptions, source references, notes, and transactional information. </description> <element type="term" minOccurs="1" maxOccurs="1"/> <element type="transacGrp" minOccurs="0" maxOccurs="*"/> <element type="descripGrp" minOccurs="0" maxOccurs="*"/> </ElementType> |
syntax: | <transac
|
|||||||
content: | textOnly | |||||||
order: | many (default) | |||||||
parents: | transacGrp | |||||||
childen: | No children allowed when content is textOnly. | |||||||
attributes: | Plink, type | |||||||
model: | closed | |||||||
source: |
<ElementType name="transac" content="textOnly" model="closed"> <description>Contains a transaction type and responsible person. The type can be one of origination, modification. The content of the tag is the textual representation of the associated person link (Plink), i.e., the person's user id. </description> <AttributeType name="type" dt:type="enumeration" dt:values="origination modification" required="yes"> <description>A transac tag can be of type origination (the associated field has been created) or type modification (the associated field has been modified).</description> </AttributeType> <attribute type="type" required="yes"/> <attribute type="Plink"/> </ElementType> |
syntax: | <transacGrp >
|
|||||||||
content: | eltOnly | |||||||||
order: | many | |||||||||
parents: | conceptGrp, descripGrp, languageGrp, termGrp | |||||||||
childen: | date, transac | |||||||||
attributes: | (none) | |||||||||
model: | closed | |||||||||
source: |
<ElementType name="transacGrp" content="eltOnly" order="many" model="closed"> <description>Contains a transaction and date, and optionally a note.</description> <element type="transac" minOccurs="1" maxOccurs="1"/> <element type="date" minOccurs="1" maxOccurs="1"/> </ElementType> |
syntax: | <xref
|
|||||
content: | textOnly | |||||
order: | many (default) | |||||
parents: | descrip | |||||
childen: | No children allowed when content is textOnly. | |||||
attributes: | Tlink | |||||
model: | closed | |||||
source: |
<ElementType name="xref" content="textOnly" model="closed"> <description>Contains a descriptive, free-text element like a definition or a subject field. Content is formatted text, and the tag can carry a link attribute (link to concept, term, subject tree, graphics file, URL). </description> <attribute type="Tlink" required="yes"/> </ElementType> |
syntax: | [ Blink = string ] |
required: | no |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="Blink" dt:type="string" required="no"> <description>Link to a bibliographic entry (stored in the same database).</description> </AttributeType> |
syntax: | [ Clink = string ] |
required: | no |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="Clink" dt:type="string" required="no"> <description>Link to a concept (stored in the same database). The link target is an entrynumber.</description> </AttributeType> |
syntax: | [ datatype = string ] |
required: | no (default) |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="datatype" dt:type="string"/> |
syntax: | [ Glink = string ] |
required: | no |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="Glink" dt:type="string" required="no"> <description>Link to a graphics file (not stored in the database). The link target is a filename.</description> </AttributeType> |
syntax: | [ id = string ] |
required: | no (default) |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="id" dt:type="string"/> |
syntax: | [ lang = string ] |
required: | no (default) |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="lang" dt:type="string"/> |
syntax: | [ Plink = string ] |
required: | no |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="Plink" dt:type="string" required="no"> <description>Link to a user (stored in user manager). The link target is the user name (user id).</description> </AttributeType> |
syntax: | [ Slink = string ] |
required: | no |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="Slink" dt:type="string" required="no"> <description>Link to node in a pick-tree (Subject value).</description> </AttributeType> |
syntax: | [ Tlink = string ] |
required: | no |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="Tlink" dt:type="string" required="no"> <description>Link to a term (stored in the same database). The link target is "index:term".</description> </AttributeType> |
syntax: | [ type = string ] |
required: | no (default) |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="type" dt:type="string"/> |
syntax: | type = enumeration: entryClass | status |
required: | yes |
datatype: | enumeration |
values: | entryClass | status |
elements: | system |
source: |
<AttributeType name="type" dt:type="enumeration" dt:values="entryClass status" required="yes"> <description>A system tag can be of type entryClass (values 1-8, inherited from old MTW databases) or type status (values: new, reviewed, approved).</description> </AttributeType> |
syntax: | type = enumeration: origination | modification |
required: | yes |
datatype: | enumeration |
values: | origination | modification |
elements: | transac |
source: |
<AttributeType name="type" dt:type="enumeration" dt:values="origination modification" required="yes"> <description>A transac tag can be of type origination (the associated field has been created) or type modification (the associated field has been modified).</description> </AttributeType> |
syntax: | [ Ulink = string ] |
required: | no |
datatype: | string |
elements: | MTF |
source: |
<AttributeType name="Ulink" dt:type="string" required="no"> <description>Link to a URL. The link target is specified in standard URL syntax.</description> </AttributeType> |
<Schema name="MTF" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:html="">www.w3.org/.../REC-html40"> <!-- DESCRIPTION --> <!-- This schema describes the structure of a MultiTerm XML file. Copyright (C) 2000-2003 TRADOS Ireland Ltd., Dublin. ;; ;; See msdn.microsoft.com/.../xmls0390.htm for ;; the schema documentation. ;; --> <!-- HISTORY --> <!-- ;; 05-May-2000 Cornelis van der Laan ;; Removed <xref>, <termNote>, <admin>. ;; ;; 18-Jan-2000 Cornelis van der Laan ;; Removed TMX tags, because they apply to the exchange format TBX, ;; not to the database-internal format we describe here. ;; Added <xref> tag to <descrip> and <note> fields. ;; Added mandatory type attribute to the <language> tag. ;; ;; 10-04-2001 Milosavljevic Milosh ;; ;; Added <xref> back to <descrip> tags. ;; Added <descripGrp> inside of <descripGrp> tags. ;; Remove <sourceGrp> and <noteGrp> tags. ;; Remove attribute lang from <descrip> ;; ;;17-07-2003 Michael Wetzel ;; ;; Bug fix: Changed element content of <descrip>element from ;; "textOnly" to "mixed", since it can contain <xref> elements ;; ;; --> <!-- DEFAULT ATTRIBUTES --> <!-- These attributes can in general be applied to all elements. Note: 'type' is defined here, but for many elements, it will be overridden in favor of a restricted-value version specific to that element's requirements. --> <AttributeType name="id" dt:type="string"/> <AttributeType name="lang" dt:type="string"/> <AttributeType name="type" dt:type="string"/> <AttributeType name="datatype" dt:type="string"/> <!-- LINK ATTRIBUTES --> <!-- · CLink: link points to a concept · BLink: link points to a bibliographical entry · TLink: link points to a term · PLink: link points to a person · GLink: link points to a graphics or other binary data object · SLink: link pointing to a (non-leaf-)node of a pick-tree · ULink: universal link points to any external entity using URL syntax --> <AttributeType name="Blink" dt:type="string" required="no"> <description>Link to a bibliographic entry (stored in the same database).</description> </AttributeType> <AttributeType name="Clink" dt:type="string" required="no"> <description>Link to a concept (stored in the same database). The link target is an entrynumber.</description> </AttributeType> <AttributeType name="Glink" dt:type="string" required="no"> <description>Link to a graphics file (not stored in the database). The link target is a filename.</description> </AttributeType> <AttributeType name="Plink" dt:type="string" required="no"> <description>Link to a user (stored in user manager). The link target is the user name (user id).</description> </AttributeType> <AttributeType name="Slink" dt:type="string" required="no"> <description>Link to node in a pick-tree (Subject value).</description> </AttributeType> <AttributeType name="Tlink" dt:type="string" required="no"> <description>Link to a term (stored in the same database). The link target is "index:term".</description> </AttributeType> <AttributeType name="Ulink" dt:type="string" required="no"> <description>Link to a URL. The link target is specified in standard URL syntax.</description> </AttributeType> <!-- MULTITERM ELEMENTS (IN HIERARCHICAL ORDER) --> <!-- start element --> <ElementType name="mtf" content="eltOnly" order="seq" model="closed"> <description>The root node of an MTF document. A document must contain at least one concept. </description> <element type="conceptGrp" minOccurs="1" maxOccurs="*"/> </ElementType> <!-- concept container --> <ElementType name="conceptGrp" content="eltOnly" order="many" model="closed"> <description>The container for one concept. A concept has concept-level, language-independent fields, and at least one language group, which contains at least one term. </description> <element type="concept" minOccurs="1" maxOccurs="1"/> <!-- contains concept-level info and languages --> <element type="system" minOccurs="0" maxOccurs="*"/> <element type="transacGrp" minOccurs="0" maxOccurs="*"/> <element type="descripGrp" minOccurs="0" maxOccurs="*"/> <element type="languageGrp" minOccurs="1" maxOccurs="*"/> </ElementType> <ElementType name="concept" content="textOnly" model="closed" dt:type="ui4"> <description>Primary element of a conceptGrp. Content is the entry number.</description> </ElementType> <ElementType name="system" content="textOnly" model="closed"> <description>Contains system-maintained information like the old entry class and the approval status of a concept, language or term. The type attribute can be one of "entryClass" and "status". </description> <AttributeType name="type" dt:type="enumeration" dt:values="entryClass status" required="yes"> <description>A system tag can be of type entryClass (values 1-8, inherited from old MTW databases) or type status (values: new, reviewed, approved).</description> </AttributeType> <attribute type="type" required="yes"/> </ElementType> <ElementType name="transacGrp" content="eltOnly" order="many" model="closed"> <description>Contains a transaction and date, and optionally a note.</description> <element type="transac" minOccurs="1" maxOccurs="1"/> <element type="date" minOccurs="1" maxOccurs="1"/> </ElementType> <ElementType name="date" content="textOnly" dt:type="dateTime" model="closed"> <description>A date in ISO-8601:1988 format, as implemented by MSXML2.</description> </ElementType> <ElementType name="transac" content="textOnly" model="closed"> <description>Contains a transaction type and responsible person. The type can be one of origination, modification. The content of the tag is the textual representation of the associated person link (Plink), i.e., the person's user id. </description> <AttributeType name="type" dt:type="enumeration" dt:values="origination modification" required="yes"> <description>A transac tag can be of type origination (the associated field has been created) or type modification (the associated field has been modified).</description> </AttributeType> <attribute type="type" required="yes"/> <attribute type="Plink"/> </ElementType> <ElementType name="descripGrp" content="eltOnly" order="many" model="closed"> <description>Contains a descriptive element, and optionally a source, transactional info, and a note. </description> <element type="descrip" minOccurs="1" maxOccurs="1"/> <element type="transacGrp" minOccurs="0" maxOccurs="*"/> <element type="descripGrp" minOccurs="0" maxOccurs="*"/> </ElementType> <ElementType name="descrip" content="mixed" model="closed"> <description>Contains a descriptive, free-text element like a definition or a subject field. Content is formatted text, and the tag can carry a link attribute (link to concept, term, subject tree, graphics file, URL). </description> <element type="xref" minOccurs="0" maxOccurs="*"/> <attribute type="type" required="yes"/> <attribute type="Clink"/> <attribute type="Glink"/> <attribute type="Plink"/> <attribute type="Slink"/> <attribute type="Tlink"/> <attribute type="Ulink"/> </ElementType> <ElementType name="xref" content="textOnly" model="closed"> <description>Contains a descriptive, free-text element like a definition or a subject field. Content is formatted text, and the tag can carry a link attribute (link to concept, term, subject tree, graphics file, URL). </description> <attribute type="Tlink" required="yes"/> </ElementType> <ElementType name="languageGrp" content="eltOnly" order="many" model="closed"> <description>The container for information about all terms in one language.</description> <element type="language" minOccurs="1" maxOccurs="1"/> <element type="transacGrp" minOccurs="0" maxOccurs="*"/> <element type="descripGrp" minOccurs="0" maxOccurs="*"/> <element type="termGrp" minOccurs="1" maxOccurs="*"/> </ElementType> <ElementType name="language" content="empty" order="seq"> <description>A language specifier. The type attribute holds the "name" of the language as specified in the database definition, the lang attribute the locale in the form "en_us". </description> <attribute type="type" required="yes"/> <attribute type="lang" required="yes"/> </ElementType> <ElementType name="termGrp" content="eltOnly" order="many" model="closed"> <description>Groups one term and all its associated information, which can be descriptions, source references, notes, and transactional information. </description> <element type="term" minOccurs="1" maxOccurs="1"/> <element type="transacGrp" minOccurs="0" maxOccurs="*"/> <element type="descripGrp" minOccurs="0" maxOccurs="*"/> </ElementType> <ElementType name="term" content="textOnly" model="closed"> <description>Contains a term as plain text. Note: we have requests for storing formatted terms containing sub- and superscript for mathematical and chemical formulae. This should be decided soon, IMHO it's doable. </description> </ElementType> </Schema>
Paul Filkin | RWS Group
________________________
Design your own training!
You've done the courses and still need to go a little further, or still not clear?
Tell us what you need in our Community Solutions Hub
Hi Paul,
many thanks for your excellent feedback which gives me precisely the information I was looking for. Though I did hope that there is a W3C XML Schema available which I could immediately use, I may deduce the necessary information from the XDR schema you are using.
Have a nice weekend!
Best regards,
Wolfgang