TBX Namespaces

As of the current ISO 30042 Draft, TBX files adhering to DCT style (Data Category as Tag) will make use of namespaces to import data categories from TBX dialects.  While the exact technical details of how this feature will work in TBX are still being worked out, this page will provide examples of how these namespace-integrated TBX files may look and how they can be validated.  The downloadable package includes a TBX file and accompanying NVDL and RNG files.

   TBX Namespace Package

"TBX-Core" Namespace

The "TBX-Core" namespace is the default namespace of a TBX file.  It represents the Core structure as defined in the standard, minus the meta-data elements which do not appear in DCT style TBX.  The following elements are included in the core namespace for the moment:

  • tbx, tbxHeader (and all possible children)*, text, body, conceptEntry, langSec, termSec, term, note, termCompGrp, termCompSec, termComp, and back (and all possible children)**.
    • *this includes elements such as p, ept, bpt, hi, foregin, etc.
    • **this includes elements such as refObjectSec, refObject, item, etc.

Although TBX files can use only the core, the amount of data categories available for describing terminology is severely limited to only "term" and "note".  It is not recommended practice that a TBX file rely solely on the core namespace.  Instead, it is best to include a dialect namespace or combination of dialect namespaces.

Namespace URN:

urn:iso:std:iso:30042:ed-3

Simple Example:

<tbx type="TBX-Core" style="DCT" xmlns="urn:iso:std:iso:30042:ed-3">
    <tbxHeader>[...]</tbxHeader>
    <text>
        <body>
            <conceptEntry id="c01">
                <langSec xml:lang="en">
                    <termSec>
                        <term>keyboard</term>
                        <note>This is a note about "keyboard"</note>
                    </termSec>
                </langSec>
            </conceptEntry>
        </body>
    </text>
</tbx>

Validating this Namespace

This demonstration gives only an RNG file, however XSD will be supported soon.

<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:xlink="http://www.w3.org/1999/xlink"
 datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://www.iso.org/ns/TBX">
 <!--
Schema generated from ODD source 2017-06-01T10:25:14Z. .
TEI Edition: Version 2.8.0. Last updated on
 6th April 2015, revision 13197
TEI Edition Location: http://www.tei-c.org/Vault/P5/Version 2.8.0/
 
-->
 <!---->
 <sch:ns xmlns:sch="http://purl.oclc.org/dsdl/schematron" prefix="tei"
 uri="http://www.tei-c.org/ns/1.0"/>
 <define name="entity.basicText">
 <zeroOrMore>
 <choice>
 <text/>
 <ref name="hi"/>
 </choice>
 </zeroOrMore>
 </define>
 <define name="entity.noteText">
 <zeroOrMore>
 <choice>
 <text/>
 <ref name="hi"/>
 <ref name="foreign"/>
 <ref name="bpt"/>
 <ref name="ept"/>
 <ref name="ph"/>
 </choice>
 </zeroOrMore>
 </define>
 <define name="entity.auxInfo">
 <zeroOrMore>
 <ref name="note"/>
 </zeroOrMore>
 <ref name="foreign-node"/>
 </define>
 <define name="entity.noteLinkInfo">
 <zeroOrMore>
 <choice>
 <ref name="note"/>
 </choice>
 </zeroOrMore>
 </define>
 <define name="idlang.attributes">
 <ref name="id.attributes"/>
 <ref name="lang.attributes"/>
 </define>
 <define name="idtype.attributes">
 <ref name="id.attributes"/>
 <ref name="idtype.attribute.type"/>
 </define>
 <define name="idtype.attribute.type">
 <optional>
 <attribute name="type">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
 the type of the meta data-category.</a:documentation>
 <text/>
 </attribute>
 </optional>
 </define>
 <define name="id.attributes">
 <ref name="id.attribute.id"/>
 </define>
 <define name="id.attribute.id">
 <optional>
 <attribute name="id">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 </attribute>
 </optional>
 </define>
 <define name="target-IDREF.attributes">
 <ref name="target-IDREF.attribute.target"/>
 </define>
 <define name="target-IDREF.attribute.target">
 <optional>
 <attribute name="target">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 </attribute>
 </optional>
 </define>
 <define name="lang.attributes">
 <ref name="lang.attribute.xmllang"/>
 </define>
 <define name="lang.attribute.xmllang">
 <optional>
 <attribute name="xml:lang">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
 the language of the element content. The allowed values are found in IETF RFC 4646 or
 its successor. This attribute is optional for elements that use this attribute class.
 For a description, see the information at the tbx element.</a:documentation>
 <text/>
 </attribute>
 </optional>
 </define>
 <define name="hi">
 <element name="hi">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Highlights a
 segment of text and optionally points to another element.</a:documentation>
 <text/>
 <ref name="target-IDREF.attributes"/>
 <ref name="lang.attributes"/>
 <optional>
 <attribute name="type">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 <choice>
 <value>entailedTerm</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(entailedTerm) A term, found in the content of a text element such as , that
 is defined in another terminological entry in the same terminological
 collection.</a:documentation>
 <value>hotkey</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(hotkey) A key or a combination of keys on a computer keyboard that, when
 pressed at one time, performs a task (such as starting an application) as an
 alternative to using a mouse or other input device. Hotkeys are supported by
 many operating systems and applications (the hotkey is indicated by an
 ampersand in the term and by an underscore in the visual display). This type of
 hi element allows a hotkey to be identified as such in a text field such as a
 context sentence. To identify a hotkey for the head term of an entry, use the
 lionHotkey value of the type attribute on a termNote.</a:documentation>
 <value>italics</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(italics) Indicates that the content enclosed in the hi element must be
 rendered in italics.</a:documentation>
 <value>bold</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(bold) Indicates that the content enclosed in the hi element must be rendered
 in boldface.</a:documentation>
 <value>superscript</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(superscript) Indicates that the content enclosed in the hi element must be
 rendered in superscript.</a:documentation>
 <value>subscript</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(subscript) Indicates that the content enclosed in the hi element must be
 rendered in subscript.</a:documentation>
 <value>math</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(math) Indicates that the content enclosed in the hi element is mathematical
 in nature.</a:documentation>
 </choice>
 </attribute>
 </optional>
 <empty/>
 </element>
 </define>
 <define name="foreign">
 <element name="foreign">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Used to mark
 a segment of text that is in a different language from the surrounding
 text.</a:documentation>
 <ref name="entity.noteText"/>
 <ref name="idlang.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="bpt">
 <element name="bpt">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The bpt tag
 encloses the beginning tag of a tag pair.</a:documentation>
 <text/>
 <optional>
 <attribute name="i">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 <text/>
 </attribute>
 </optional>
 <optional>
 <attribute name="type">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 <text/>
 </attribute>
 </optional>
 <empty/>
 </element>
 </define>
 <define name="ept">
 <element name="ept">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The ept tag
 encloses the beginning tag of a tag pair.</a:documentation>
 <text/>
 <optional>
 <attribute name="i">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 <text/>
 </attribute>
 </optional>
 <empty/>
 </element>
 </define>
 <define name="ph">
 <element name="ph">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Placeholder
 - Used to encapsulate markup codes that do not occur in logical pairs with other codes.
 Examples include the XHTML and tags. This element should not be used to encapsulate
 codes that occur in pairs (such as the XHTML and tags), which should instead be
 encapuslated with bpt and ept.</a:documentation>
 <text/>
 <optional>
 <attribute name="type">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 <text/>
 </attribute>
 </optional>
 <empty/>
 </element>
 </define>
 <define name="conceptEntry">
 <element name="conceptEntry">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The root
 element of a terminological entry. It shall contain at least one language
 section.</a:documentation>
 <ref name="entity.auxInfo"/>
 <oneOrMore>
 <ref name="langSec"/>
 </oneOrMore>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="date">
 <element name="date">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A date in
 ISO format. Permissible date values comply with ISO 8601 and shall use the format
 yyyy-mm-dd. The date element is used with terminology management data-categories in a
 transacGrp element.</a:documentation>
 <ref name="date"/>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="langSec">
 <element name="langSec">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A nesting
 element that contains all the information in a terminological entry pertaining to one
 language, including all the termSec elements (terms and associated information) for that
 language.</a:documentation>
 <ref name="entity.auxInfo"/>
 <oneOrMore>
 <ref name="termSec"/>
 </oneOrMore>
 <attribute name="xml:lang">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
 the language of the language section. This attribute is required for the langSec
 element. See also the description on the tbx element.</a:documentation>
 <text/>
 </attribute>
 <empty/>
 </element>
 </define>
 <define name="note">
 <element name="note">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Any kind of
 note. </a:documentation>
 <ref name="entity.noteText"/>
 <ref name="idlang.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="term">
 <element name="term">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The term
 that is being described in a termSec. This element, as well as other term-like elements
 such as those mentioned in the table Types of terms, relations to terms in section 9,
 can contain a hi element to allow a limited amount of inline markup. This is intended to
 handle markup requirements in special cases such as may be required for terms that
 represent scientific concepts. However, it is strongly recommended to use inline markup
 only when necessary to represent the term in its base form. Do not use the hi element
 for presentational styles chosen for esthetic purposes.</a:documentation>
 <ref name="entity.basicText"/>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="termComp">
 <element name="termComp">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A term
 component. It includes the text of a part of a word (such as a morpheme or a syllable)
 or one of the words making up a multi-word term. The type of term component will depend
 on the value of the type attribute of the termCompSec element.</a:documentation>
 <text/>
 <ref name="idlang.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="termCompGrp">
 <element name="termCompGrp">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A grouping
 element that includes one termComp plus additional elements describing the term
 component, such as notes, administrative information, and cross
 references.</a:documentation>
 <ref name="termComp"/>
 <zeroOrMore>
 <empty/>
 </zeroOrMore>
 <ref name="entity.noteLinkInfo"/>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="termCompSec">
 <element name="termCompSec">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A grouping
 element that contains at least one termComp element (usually more) or at least one
 termCompGrp element plus optionally some additional information about the term
 components. This element is designed to contain the components of a term. The value of
 the type attribute indicates what type of term components it contains.</a:documentation>
 <ref name="entity.auxInfo"/>
 <oneOrMore>
 <choice>
 <ref name="termComp"/>
 <ref name="termCompGrp"/>
 </choice>
 </oneOrMore>
 <ref name="id.attributes"/>
 <attribute name="type">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
 the type of the termCompSec, such as hyphenation. The value indicates on what basis
 the term components were identified, such as by hyphenation parts or by
 syllables.</a:documentation>
 <choice>
 <value>hyphenation</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(Hyphenation) The termComp elements contain the parts of a term as it would be
 hyphenated, such as at the end of a line, according to a given set of
 rules.</a:documentation>
 <value>lemma</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(Lemma) The termComp elements contain the base form of the term or of the
 individual words that it comprises. A base form of a word or term, sometimes
 called a lemma, is the form that is used as the formal dictionary entry for the
 term. For nouns, the base form is frequently the nominative singular form (in
 languages that show variation by case). For adjectives it is the positive form of
 the adjective, as opposed to the comparative, and in some languages it is
 uninflected, whereas in others it is the masculine singular. For verbs, it is
 generally the infinitive.</a:documentation>
 <value>morphologicalElement</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(Morphological element) The termComp elements contain the individual morphemes
 that comprise the term. .</a:documentation>
 <value>syllabification</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(Syllabification) The termComp elements contain the individual syllables that
 comprise the term.</a:documentation>
 <value>termElement</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Term
 element) The termComp elements contain any other logically significant portion of
 the term.</a:documentation>
 </choice>
 </attribute>
 <empty/>
 </element>
 </define>
 <define name="termSec">
 <element name="termSec">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A term
 information group. A grouping element that contains child elements describing a term. It
 is often referred to as the term section.</a:documentation>
 <ref name="term"/>
 <ref name="entity.auxInfo"/>
 <zeroOrMore>
 <ref name="termCompSec"/>
 </zeroOrMore>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="foreign-attributes">
 <zeroOrMore>
 <attribute>
 <anyName>
 <except>
 <nsName ns=""/>
 <nsName ns="http://www.w3.org/XML/1998/namespace"/>
 </except>
 </anyName>
 </attribute>
 </zeroOrMore>
 </define>
 <define name="foreign-elements">
 <zeroOrMore>
 <element>
 <anyName>
 <except>
 <nsName ns=""/>
 <nsName ns="http://www.iso.org/ns/TBX"/>
 </except>
 </anyName>
 <ref name="anything"/>
 </element>
 </zeroOrMore>
 </define>
 <define name="anything">
 <zeroOrMore>
 <choice>
 <element>
 <anyName/>
 <ref name="anything"/>
 </element>
 <attribute>
 <anyName/>
 </attribute>
 <text/>
 </choice>
 </zeroOrMore>
 </define>
 <define name="foreign-node">
 <zeroOrMore>
 <choice>
 <ref name="foreign-elements"/>
 <ref name="foreign-attributes"/>
 </choice>
 </zeroOrMore>
 </define>
 <define name="tbx">
 <element name="tbx">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The root
 element of a TBX document instance.</a:documentation>
 <ref name="tbxHeader"/>
 <ref name="text"/>
 <attribute name="type">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
 the type of tbx document. If the type attribute value TBX is used, then the TBX
 document instance shall adhere to the default XCS file. If the TBX document instance
 adheres to another XCS file, then the type attribute value can consist of TBX- plus
 another word associated with the XCS file, such as 'TBX-Basic'.</a:documentation>
 <text/>
 </attribute>
 <attribute name="style">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
 the style of tbx document, whether it is Data Category as Tag (DCT) or Data Category
 as Attribute (DCA). The allowed values are either 'dca' or 'dct'.</a:documentation>
 <choice>
 <value>dca</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Data
 Category as Attribute</a:documentation>
 <value>dct</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Data
 Category as Tag</a:documentation>
 </choice>
 </attribute>
 <attribute name="xml:lang">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
 the default language of the entire tbx element content. The allowed values of the
 xml:lang attribute are found in IETF RFC 4646 or its successor, as indicated in IETF
 BCP 47. This attribute is required for the tbx element.</a:documentation>
 <text/>
 </attribute>
 <empty/>
 </element>
 </define>
 <define name="tbxHeader">
 <element name="tbxHeader">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A grouping
 element that contains child elements which describe the TBX document
 instance.</a:documentation>
 <ref name="fileDesc"/>
 <optional>
 <ref name="encodingDesc"/>
 </optional>
 <optional>
 <ref name="revisionDesc"/>
 </optional>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="p">
 <element name="p">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Paragraph
 text that is contained by the tbxHeader. By using a type attribute, it can also contain
 essential information about the content or location of the XCS file.</a:documentation>
 <ref name="entity.noteText"/>
 <ref name="idlang.attributes"/>
 <optional>
 <attribute name="type">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 <choice>
 <value>DCSName</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The
 name of the XCS file that constrains the content of the TBX document
 instance.</a:documentation>
 <value>XCSURI</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The
 URI of the XCS file that constrains the content of the TBX document
 instance.</a:documentation>
 <value>XCSContent</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The
 content of an XCS file, embedded directly in the TBX document instance. Note
 that this content cannot be validated by the TBX DTD and therefore should be
 removed from the TBX document instance, or commented out, prior to such
 validation. </a:documentation>
 </choice>
 </attribute>
 </optional>
 <empty/>
 </element>
 </define>
 <define name="fileDesc">
 <element name="fileDesc">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A nesting
 element containing child elements that describe the TBX document
 instance.</a:documentation>
 <optional>
 <ref name="titleStmt"/>
 </optional>
 <optional>
 <ref name="publicationStmt"/>
 </optional>
 <oneOrMore>
 <ref name="sourceDesc"/>
 </oneOrMore>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="titleStmt">
 <element name="titleStmt">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A nesting
 element containing the title and any notes about the TBX document
 instance.</a:documentation>
 <ref name="title"/>
 <zeroOrMore>
 <ref name="note"/>
 </zeroOrMore>
 <ref name="idlang.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="title">
 <element name="title">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The title of
 the TBX document instance.</a:documentation>
 <text/>
 <ref name="idlang.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="publicationStmt">
 <element name="publicationStmt">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Any
 information pertaining to the publication of the TBX document
 instance.</a:documentation>
 <oneOrMore>
 <ref name="p"/>
 </oneOrMore>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="sourceDesc">
 <element name="sourceDesc">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Any
 information about the source of the TBX document instance.</a:documentation>
 <oneOrMore>
 <ref name="p"/>
 </oneOrMore>
 <ref name="idlang.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="encodingDesc">
 <element name="encodingDesc">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Includes a p
 element that itself contains a pointer to the XCS file and, if the TBX file is not in
 unicode, any information about the encoding.</a:documentation>
 <oneOrMore>
 <ref name="p"/>
 </oneOrMore>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="revisionDesc">
 <element name="revisionDesc">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Information
 about any revisions that have been carried out on the content of the TBX document
 instance or on the source database from which it is derived.</a:documentation>
 <oneOrMore>
 <ref name="change"/>
 </oneOrMore>
 <ref name="idlang.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="change">
 <element name="change">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Information
 about one particular change event in the revision history of a TBX document
 instance.</a:documentation>
 <oneOrMore>
 <ref name="p"/>
 </oneOrMore>
 <ref name="idlang.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="text">
 <element name="text">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The element
 of a TBX document instance that occurs after the tbx element. This element is provided
 to maintain compatibility with the TEI.</a:documentation>
 <ref name="body"/>
 <optional>
 <ref name="back"/>
 </optional>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="body">
 <element name="body">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A nesting
 element that contains terminological entries (conceptEntry).</a:documentation>
 <oneOrMore>
 <ref name="conceptEntry"/>
 </oneOrMore>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="back">
 <element name="back">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The root
 element of the back matter of a TBX document instance.</a:documentation>
 <zeroOrMore>
 <ref name="refObjectSec"/>
 </zeroOrMore>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="refObjectSec">
 <element name="refObjectSec">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A list of
 objects that are referenced in the back matter of a TBX document
 instance.</a:documentation>
 <oneOrMore>
 <ref name="refObject"/>
 </oneOrMore>
 <ref name="id.attributes"/>
 <attribute name="type">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 <text/>
 </attribute>
 <empty/>
 </element>
 </define>
 <define name="refObject">
 <element name="refObject">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An element
 in the back matter of a TBX document instance that contains a series of items that
 describe one referenced object.</a:documentation>
 <oneOrMore>
 <choice>

 <ref name="itemGrp"/>
 <ref name="item"/>
 </choice>
 </oneOrMore>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="item">
 <element name="item">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">One
 descriptor of an object in the back matter of a TBX document instance.</a:documentation>
 <ref name="entity.noteText"/>
 <ref name="idtype.attributes"/>
 <empty/>
 </element>
 </define>
 <define name="itemGrp">
 <element name="itemGrp">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains one
 item element as well as additional child elements for associated administrative
 information.</a:documentation>
 <ref name="item"/>
 <ref name="entity.noteLinkInfo"/>
 <ref name="id.attributes"/>
 <empty/>
 </element>
 </define>
 <start>
 <choice>
 <ref name="tbx"/>
 </choice>
 </start>
</grammar>
TBX-Basic Namespace

The TBX-Basic namespace allows the use of the data categories which are included in TBX-Basic.  Such data categories include (but are not limited to): "subjectField", "partOfSpeech", "grammaticalGender", "transactionType", etc.  Note that since DCT does not use the meta-data elements ("descrip", "transac", "termNote", etc.), these are not available in the TBX-Basic namespace.

Namespace URI:

(Note that the TBX-Basic namespace is a URI)

http://www.tbxinfo.net/ns/dcs/basic

Simple Example

<tbx type="TBX-Basic" style="DCT" xmlns="urn:iso:std:iso:30042:ed-3" xmlns:basic="http://www.tbxinfo.net/ns/dct/basic">
    <tbxHeader>[...]</tbxHeader>
    <text>
        <body>
            <conceptEntry id="c01">
                <basic:subjectField>technology</basic:subjectField>
                <transacGrp>
                    <basic:transactionType>origination</basic:transactionType>
                    <basic:responsibility>John Doe</basic:responsibility>
                </transacGrp>
                <langSec xml:lang="en">
                    <termSec>
                        <term>keyboard</term>
                        <basic:partOfSpeech>noun</basic:partOfSpeech>
                        <note>This is a note about "keyboard"</note>
                    </termSec>
                </langSec>
            </conceptEntry>
        </body>
    </text>
</tbx>

Validating this Namespace

Currently there is an RNG to demonstrate this. However, XSD will be supported soon.

<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:xlink="http://www.w3.org/1999/xlink"
 datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
 ns="http://www.tbxinfo.net/ns/dct/basic">
 <!--
Schema generated from ODD source 2017-06-21T11:36:21Z. .
TEI Edition: Version 2.8.0. Last updated on
 6th April 2015, revision 13197
TEI Edition Location: http://www.tei-c.org/Vault/P5/Version 2.8.0/
 
-->
 <!---->
 <sch:ns xmlns:sch="http://purl.oclc.org/dsdl/schematron" prefix="tei"
 uri="http://www.tei-c.org/ns/1.0"/>
 <define name="admin">
 <choice>
 <ref name="customerSubset"/>
 <ref name="projectSubset"/>
 <ref name="source"/>
 </choice>
 </define>
 <define name="descrip">
 <choice>
 <ref name="context"/>
 <ref name="definition"/>
 <ref name="subjectField"/>
 </choice>
 </define>
 <define name="ref">
 <ref name="crossReference"/>
 </define>
 <define name="termNote">
 <choice>
 <ref name="administrativeStatus"/>
 <ref name="geographicalUsage"/>
 <ref name="grammaticalGender"/>
 <ref name="partOfSpeech"/>
 <ref name="termLocation"/>
 <ref name="termType"/>
 </choice>
 </define>
 <define name="transac">
 <ref name="transactionType"/>
 </define>
 <define name="transacNote">
 <ref name="responsibility"/>
 </define>
 <define name="xref">
 <choice>

 <ref name="xGraphic"/>
 </choice>
 </define>
 <define name="entity.noteText">
 <zeroOrMore>
 <choice>
 <text/>
 </choice>
 </zeroOrMore>
 </define>
 <define name="entity.noteLinkInfo">
 <zeroOrMore>
 <choice>
 <ref name="admin"/>
 <ref name="adminGrp"/>
 <ref name="transacGrp"/>

 <ref name="ref"/>
 <ref name="xref"/>
 </choice>
 </zeroOrMore>
 </define>
 <define name="customerSubset">
 <element name="customerSubset">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(customerSubset) An identifier that indicates that the parent element to which it
 applies is associated with a specific customer. The content shall be in
 plainText.</a:documentation>
 <ref name="entity.noteText"/>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="projectSubset">
 <element name="projectSubset">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(projectSubset) An identifier assigned to a term, record, or entry to indicate that it
 is related to or used in a project. The content shall be in plainText, and preferably
 one of a predefined set of picklist values.</a:documentation>
 <ref name="entity.noteText"/>
 <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
 xmlns:sch="http://www.ascc.net/xml/schematron" name="projectSubset">
 <sch:rule context="projectSubset">
 <sch:assert test=".=not(*)">The project subset must be expressed in
 plainText.</sch:assert>
 </sch:rule>
 </sch:pattern>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="source">
 <element name="source">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(source) A
 complete citation of the source of the information in the parent
 element.</a:documentation>
 <ref name="entity.noteText"/>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="adminGrp">
 <element name="adminGrp">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An element
 that contains a group of elements that contain administrative
 information.</a:documentation>
 <ref name="admin"/>
 <zeroOrMore>
 <choice>

 <ref name="ref"/>
 <ref name="xref"/>
 </choice>
 </zeroOrMore>
 <ref name="id.attributes"/>
 
 </element>
 </define>
 <define name="context">
 <element name="context">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(context)
 Contexts must be authentic, that is, they must be obtained from an existing source, and
 not created by the terminologist. Contexts are documented very frequently in terminology
 collections. Contexts can provide information for determining term usage and
 collocations. In TBX, the context is a term-related data-category. A context can be
 further categorized according to context type.</a:documentation>
 <ref name="entity.noteText"/>
 <pattern xmlns="http://www.ascc.net/xml/schematron"
 name="TBX-Basic-context-context-constraint-3">
 <sch:rule xmlns="http://www.tei-c.org/ns/1.0"
 xmlns:sch="http://www.ascc.net/xml/schematron" context="context">
 <sch:assert test="parent::termSec or parent::descripGrp/parent::termSec">A context
 sentence can only occur at the term (termSec) level.</sch:assert>
 </sch:rule>
 </pattern>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="definition">
 <element name="definition">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(definition)
 A representation of a concept by a descriptive statement which serves to differentiate
 that concept from related concepts.</a:documentation>
 <ref name="entity.noteText"/>
 <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
 xmlns:sch="http://www.ascc.net/xml/schematron" name="definition">
 <sch:rule context="definition">
 <sch:assert
 test="parent::conceptEntry or parent::langSec or parent::termSec or parent::descripGrp/parent::conceptEntry or parent::descripGrp/parent::langSec or parent::descripGrp/parent::termSec"
 > A definition must occur at the conceptEntry level, the langSec level, or the
 term (termSec) level.</sch:assert>
 </sch:rule>
 </sch:pattern>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="subjectField">
 <element name="subjectField">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(subjectField) A field of special knowledge. Subject fields can be expressed in
 multiple levels, for example: Subject field (level 1): disease, Subject field (level 2):
 cancer, Subject field (level 3): non-Hodgkin's lymphoma. Subject fields shall be
 expressed in plainText, and preferably be selected from a defined set of picklist
 values. Subject fields shall be specified at the concept (conceptEntry)
 level.</a:documentation>
 <ref name="entity.noteText"/>
 <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
 xmlns:sch="http://www.ascc.net/xml/schematron" name="subjectField">
 <sch:rule context="subjectField">
 <sch:assert
 test="(.=not(*)) and (parent::conceptEntry or parent::descripGrp/parent::conceptEntry)"
 > A subject field must be a plainText value. Subject fields usually occur at the
 conceptEntry level.</sch:assert>
 </sch:rule>
 </sch:pattern>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="descripGrp">
 <element name="descripGrp">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Contains one
 descrip element as well as additional child elements for associated administrative
 information.</a:documentation>
 <ref name="descrip"/>
 <zeroOrMore>
 <choice>
 <ref name="admin"/>
 <ref name="adminGrp"/>
 <ref name="transacGrp"/>

 <ref name="ref"/>
 <ref name="xref"/>
 </choice>
 </zeroOrMore>
 <ref name="id.attributes"/>
 
 </element>
 </define>
 <define name="crossReference">
 <element name="crossReference">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(crossReference) A pointer to another related location, such as another entry or
 another term. The ref element with a type attribute value of cross-reference shall also
 have a target attribute to point to the identifier of the entry or
 term.</a:documentation>
 <text/>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="administrativeStatus">
 <element name="administrativeStatus">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(administrativeStatus) The status of a term within a certain working environment. The
 data-category administrativeStatus should be linked, through a target attribute, to a
 refObject in the back matter that identifies the administrative organization that
 determined the status. The element termNote when its type attribute has the value
 administrativeStatus shall contain one of the following values: * admittedTerm-admn-sts
 * deprecatedTerm-admn-sts * legalTerm-admn-sts * preferredTerm-admn-sts *
 regulatedTerm-admn-sts * standardizedTerm-admn-sts * supersededTerm-admn-sts The status
 of terms with respect to a standardization process is covered by
 normativeAuthorization.</a:documentation>
 <ref name="IDLangTgtDtyp.attributes"/>
 <choice>
 <value>admittedTerm-admn-sts</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(admittedTerm-admn-sts) </a:documentation>
 <value>deprecatedTerm-admn-sts</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(deprecatedTerm-admn-sts) </a:documentation>
 <value>legalTerm-admn-sts</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(legalTerm-admn-sts) </a:documentation>
 <value>preferredTerm-admn-sts</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(preferredTerm-admn-sts) </a:documentation>
 <value>regulatedTerm-admn-sts</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(regulatedTerm-admn-sts) </a:documentation>
 <value>standardizedTerm-admn-sts</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(standardizedTerm-admn-sts) </a:documentation>
 <value>supersededTerm-admn-sts</value>
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(supersededTerm-admn-sts) </a:documentation>
 </choice>
 
 </element>
 </define>
 <define name="geographicalUsage">
 <element name="geographicalUsage">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(geographicalUsage) A code identifying any specific geographical area where the term is
 used, for instance, to differentiate between UK English and US English. Preferred values
 are language codes combined with geographical codes, from IETF RFC 4646 or its
 successor, as identified in IETF BCP 47. For example: en-US for American English. The
 element content shall be expressed in plainText. </a:documentation>
 <ref name="entity.noteText"/>
 <sch:pattern xmlns="http://www.tei-c.org/ns/1.0"
 xmlns:sch="http://www.ascc.net/xml/schematron" name="geographicalUsage">
 <sch:rule context="geographicalUsage">
 <sch:assert test=".=not(*)">The geographical usage must be expressed in plainText.
 </sch:assert>
 </sch:rule>
 </sch:pattern>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="grammaticalGender">
 <element name="grammaticalGender">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(grammaticalGender) The gender of the word. The value of the termNote element when it
 has a type attribute value of grammaticalGender shall be one of: masculine, feminine,
 neuter, or otherGender.</a:documentation>
 <choice>
 <value>masculine</value>
 <value>feminine</value>
 <value>neuter</value>
 <value>otherGender</value>
 </choice>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="partOfSpeech">
 <element name="partOfSpeech">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(partOfSpeech) A category assigned to a word based on its grammatical and semantic
 properties. For example: noun, verb, or adjective. The element content shall be
 expressed in plainText, and preferably be limited to a set of picklist values. Only one
 value shall be permitted for each term in a given entry. For example, the following
 values are permitted in the TBX-Basic TML: * noun * verb * adjective * adverb *
 properNoun * other</a:documentation>
 <ref name="IDLangTgtDtyp.attributes"/>
 <choice>
 <value>noun</value>
 <value>verb</value>
 <value>adjective</value>
 <value>adverb</value>
 <value>properNoun</value>
 <value>other</value>
 </choice>
 </element>
 </define>
 <define name="termLocation">
 <element name="termLocation">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(termLocation) A location in a document, computer file, or other information medium,
 where the term frequently occurs, such as a user interface object (in software), a
 packaging element, a component in an industrial process, and so forth. The element
 content shall be expressed in plainText, and preferably be restricted to a set of
 picklist values. The following picklist values are recommended for software user
 interface locations in a Windows environment. * checkBox * comboBox * comboBoxElement *
 dialogBox * groupBox * informativeMessage * interactiveMessage * menuItem * progressBar
 * pushButton * radioButton * slider * spinBox * tab * tableText * textBox * toolTip *
 user-definedType</a:documentation>
 <choice>
 <ref name="entity.noteText"/>
 <choice>
 <value>checkBox</value>
 <value>comboBox</value>
 <value>comboBoxElement</value>
 <value>dialogBox</value>
 <value>groupBox</value>
 <value>informativeMessage</value>
 <value>interactiveMessage</value>
 <value>menuvalue</value>
 <value>progressBar</value>
 <value>pushButton</value>
 <value>radioButton</value>
 <value>slider</value>
 <value>spinBox</value>
 <value>tab</value>
 <value>tableText</value>
 <value>textBox</value>
 <value>toolTip</value>
 <value>user-definedType</value>
 </choice>
 </choice>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="termType">
 <element name="termType">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(termType) A
 categorization of a term with respect to formal representations of terms or where or how
 they are used, for example, acronym. The content of the termNote element when it has a
 type attribute value of termType shall be one of the following: * abbreviation * acronym
 * clippedTerm * commonName * entryTerm * equation * formula * fullForm * initialism *
 internationalism * internationalScientificTerm * logicalExpression * partNumber *
 phraseologicalUnit * transcribedForm * transliteratedForm * shortForm * shortcut * sku *
 standardText * string * symbol * synonym * synonymousPhrase * variantRefer to ISO 12620
 for definitions of the above term types. The value shortcut refers to a string that acts
 as a keyboard shortcut on computers, for example, Ctrl + V is a term that represents a
 keyboard shortcut for the concept of paste.</a:documentation>
 <choice>
 <value>abbreviation</value>
 <value>acronym</value>
 <value>clippedTerm</value>
 <value>commonName</value>
 <value>entryTerm</value>
 <value>equation</value>
 <value>formula</value>
 <value>fullForm</value>
 <value>initialism</value>
 <value>internationalism</value>
 <value>internationalScientificTerm</value>
 <value>logicalExpression</value>
 <value>partNumber</value>
 <value>phraseologicalUnit</value>
 <value>transcribedForm</value>
 <value>transliteratedForm</value>
 <value>shortForm</value>
 <value>shortcut</value>
 <value>sku</value>
 <value>standardText</value>
 <value>string</value>
 <value>symbol</value>
 <value>synonym</value>
 <value>synonymousPhrase</value>
 <value>variant</value>
 </choice>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="termNoteGrp">
 <element name="termNoteGrp">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A grouping
 element that contains one termNote element, and auxiliary information such as
 administrative information, transaction information, notes and cross references. It does
 not allow any descrip elements. It can only appear at the term (termSec) level and
 below.</a:documentation>
 <ref name="termNote"/>
 <ref name="entity.noteLinkInfo"/>
 <ref name="id.attributes"/>
 
 </element>
 </define>
 <define name="transactionType">
 <element name="transactionType">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(transactionType) A record that indicates the stage of the entry within the overall
 process of creation, approval, and use of a terminology entry.</a:documentation>
 <choice>
 <value>origination</value>
 <value>input</value>
 <value>modification</value>
 <value>check</value>
 <value>approval</value>
 <value>withdrawl</value>
 <value>standardization</value>
 <value>exportation</value>
 <value>importation</value>
 <value>proposal</value>
 <value>userAccess</value>
 </choice>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="transacGrp">
 <element name="transacGrp">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">An element
 that includes child elements that provide information about a transaction. </a:documentation>
 <ref name="transac"/>
 <zeroOrMore>
 <choice>
 <ref name="transacNote"/>


 <ref name="ref"/>
 <ref name="xref"/>
 </choice>
 </zeroOrMore>
 <ref name="id.attributes"/>
 
 </element>
 </define>
 <define name="responsibility">
 <element name="responsibility">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
 >(responsibility) The name of a person or entity associated with a terminology
 management transaction. The transacNote element with a type attribute value of
 responsibility can also have a target attribute to point to the identifier of a
 bibliographic entry in a refObject that contains information about the person or
 entity.</a:documentation>
 <text/>
 <ref name="IDLangTgtDtyp.attributes"/>
 
 </element>
 </define>
 <define name="xGraphic">
 <element name="xGraphic">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(xGraphic)
 External graphic file.</a:documentation>
 <text/>
 <ref name="id.attributes"/>
 <attribute name="target">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The URI
 of the external object.</a:documentation>
 <text/>
 </attribute>
 
 </element>
 </define>
 <define name="id.attributes">
 <ref name="id.attribute.id"/>
 </define>
 <define name="id.attribute.id">
 <optional>
 <attribute name="id">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 </attribute>
 </optional>
 </define>
 <define name="target-IDREF.attributes">
 <ref name="target-IDREF.attribute.target"/>
 </define>
 <define name="target-IDREF.attribute.target">
 <optional>
 <attribute name="target">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"/>
 </attribute>
 </optional>
 </define>
 <define name="lang.attributes">
 <ref name="lang.attribute.xmllang"/>
 </define>
 <define name="lang.attribute.xmllang">
 <optional>
 <attribute name="xml:lang">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Indicates
 the language of the element content. The allowed values are found in IETF RFC 4646 or
 its successor. This attribute is optional for elements that use this attribute class.
 For a description, see the information at the tbx element.</a:documentation>
 <text/>
 </attribute>
 </optional>
 </define>
 <define name="IDLangTgtDtyp.attributes">
 <ref name="lang.attributes"/>
 <ref name="id.attributes"/>
 <ref name="target-IDREF.attributes"/>
 <ref name="IDLangTgtDtyp.attribute.datatype"/>
 </define>
 <define name="IDLangTgtDtyp.attribute.datatype">
 <optional>
 <attribute name="datatype">
 <a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">The data
 type of plainText, or what is known as PCDATA.</a:documentation>
 <text/>
 </attribute>
 </optional>
 </define>
 <start>
 <choice>
 <ref name="adminGrp"/>
 <ref name="descripGrp"/>
 <ref name="transacGrp"/>
 <ref name="termNoteGrp"/>
 <ref name="admin"/>
 <ref name="descrip"/>
 <ref name="termNote"/>
 <ref name="ref"/>
 <ref name="transacNote"/>
 <ref name="xref"/>
 </choice>
 </start>
</grammar>
Validating with Namespaces

The DCT TBX Namespace file can be validated using a Namespace-based Validation Dispatching Language (NVDL) file.  NVDL allows elements from different namespaces to be validated.  The following NVDL uses the RNG files above:

 

<?xml version="1.0" encoding="UTF-8"?>
<rules startMode="root" xmlns="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0"
    xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">
    <mode name="root">
        <namespace ns="http://www.iso.org/ns/TBX">
            <validate
                schema="TBX_ISO30042-Core.rng">
                <mode>
                    <namespace ns="http://www.tbxinfo.net/ns/dct/basic">
                        <validate
                            schema="out/TBX_ISO30042-Basic%20-%20DCT.rng"/>
                        
                    </namespace>
                </mode>
            </validate>
        </namespace>
        <anyNamespace>
            <reject/>
        </anyNamespace>
    </mode>
</rules>