要素データの型を指定する。
type では、予約型か複合型の配列が指定可能である。
予約型には次のものがある:
| bool | 真偽値 |
| int8 | 8bit整数 |
| int16 | 16bit整数 |
| int32 | 32bit整数 |
| int64 | 64bit整数 |
| uint8 | 符号無し8bit整数 |
| uint16 | 符号無し16bit整数 |
| uint32 | 符号無し32bit整数 |
| uint64 | 符号無し64bit整数 |
| float | 単精度浮動小数点数 |
| double | 倍精度浮動小数点数 |
| string | 文字列 |
予約名に当てはまらない名前は、複合型の指定とみなされる。 複合型の名前に "." が含まれない場合は現在の名前空間の、"." がある場合はルート名前空間に属するとして扱われる。
nineml は、複合型が実際に定義されているかどうかは関知しない。 プログラム言語のコンパイル時に解決されるはずである。 典型的には、nineml で定義した構造体を指定することが多いであろう。
maxlength 属性に数値を指定した場合、データは最大 maxlength 格納できる配列として定義される。