nineml 要素の直下には namespace 要素を置くことができる。 namespace 要素は、新たな名前空間を作って、配下の定義をその名前空間に所属するようにする。
namespace 要素はいくつも置くことができるが、入れ子にすることはできない。 階層型の名前空間を作る場合は、"." 区切りの名前を指定する。
namespace 要素を置けない以外は nineml 要素と同等であり、定数やメッセージを定義することができる。 nineml はルート名前空間を作る namespace だとみなすこともできる。
<?xml version='1.0'>
<nineml>
<namespace name="nine.match">
<messageDef kind="1">
<message name="LoginRequest" type="0">
<field name="value" type="string"/>
</message>
</messageDef>
</namespace>
</nineml>