- cur = data1_mk_node2 (dh, mem, DATA1N_tag, pn);
- cur->u.tag.tag = mt->value.string;
+ if (mt->which == D1_MAPTAG_string)
+ {
+ cur = data1_mk_node2 (dh, mem, DATA1N_tag, pn);
+ cur->u.tag.tag = mt->value.string;
+ }
+ else if (mt->which == D1_MAPTAG_numeric)
+ {
+ data1_tag *tag =
+ data1_gettagbynum(
+ dh,
+ pn->root->u.root.absyn->tagset,
+ mt->type,
+ mt->value.numeric);
+
+ if (tag && tag->names->name)
+ {
+ cur = data1_mk_tag (
+ dh, mem, tag->names->name, 0, pn);
+
+ }
+ }