XER support

diff --git a/tests/43-recursion-OK.asn1.-P b/tests/43-recursion-OK.asn1.-P
index 1f93524..9c5945d 100644
--- a/tests/43-recursion-OK.asn1.-P
+++ b/tests/43-recursion-OK.asn1.-P
@@ -53,15 +53,18 @@
 static asn1_SET_OF_specifics_t asn1_DEF_t_member1_specs = {
 	sizeof(struct t_member1),
 	offsetof(struct t_member1, _ber_dec_ctx),
+	0,	/* XER encoding is XMLDelimitedItemList */
 };
 static /* Use -fall-defs-global to expose */
 asn1_TYPE_descriptor_t asn1_DEF_t_member1 = {
 	"t-member1",
+	SET_OF_free,
+	SET_OF_print,
 	SET_OF_constraint,
 	SET_OF_decode_ber,
 	SET_OF_encode_der,
-	SET_OF_print,
-	SET_OF_free,
+	0,				/* Not implemented yet */
+	SET_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
 	asn1_DEF_t_member1_tags,
 	sizeof(asn1_DEF_t_member1_tags)
@@ -90,15 +93,18 @@
 static asn1_SET_OF_specifics_t asn1_DEF_t_member2_specs = {
 	sizeof(struct t_member2),
 	offsetof(struct t_member2, _ber_dec_ctx),
+	0,	/* XER encoding is XMLDelimitedItemList */
 };
 static /* Use -fall-defs-global to expose */
 asn1_TYPE_descriptor_t asn1_DEF_t_member2 = {
 	"t-member2",
+	SEQUENCE_OF_free,
+	SEQUENCE_OF_print,
 	SEQUENCE_OF_constraint,
 	SEQUENCE_OF_decode_ber,
 	SEQUENCE_OF_encode_der,
-	SEQUENCE_OF_print,
-	SEQUENCE_OF_free,
+	0,				/* Not implemented yet */
+	SEQUENCE_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
 	asn1_DEF_t_member2_tags,
 	sizeof(asn1_DEF_t_member2_tags)
@@ -161,11 +167,13 @@
 };
 asn1_TYPE_descriptor_t asn1_DEF_Test_structure_1 = {
 	"Test-structure-1",
+	SEQUENCE_free,
+	SEQUENCE_print,
 	SEQUENCE_constraint,
 	SEQUENCE_decode_ber,
 	SEQUENCE_encode_der,
-	SEQUENCE_print,
-	SEQUENCE_free,
+	0,				/* Not implemented yet */
+	SEQUENCE_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
 	asn1_DEF_Test_structure_1_tags,
 	sizeof(asn1_DEF_Test_structure_1_tags)
@@ -238,15 +246,18 @@
 static asn1_SET_OF_specifics_t asn1_DEF_or_specs = {
 	sizeof(struct or),
 	offsetof(struct or, _ber_dec_ctx),
+	1,	/* XER encoding is XMLValueList */
 };
 static /* Use -fall-defs-global to expose */
 asn1_TYPE_descriptor_t asn1_DEF_or = {
 	"or",
+	SET_OF_free,
+	SET_OF_print,
 	SET_OF_constraint,
 	SET_OF_decode_ber,
 	SET_OF_encode_der,
-	SET_OF_print,
-	SET_OF_free,
+	0,				/* Not implemented yet */
+	SET_OF_encode_xer,
 	0,	/* Use generic outmost tag fetcher */
 	asn1_DEF_or_tags,
 	sizeof(asn1_DEF_or_tags)
@@ -307,11 +318,13 @@
 };
 asn1_TYPE_descriptor_t asn1_DEF_Choice_1 = {
 	"Choice-1",
+	CHOICE_free,
+	CHOICE_print,
 	CHOICE_constraint,
 	CHOICE_decode_ber,
 	CHOICE_encode_der,
-	CHOICE_print,
-	CHOICE_free,
+	0,				/* Not implemented yet */
+	CHOICE_encode_xer,
 	CHOICE_outmost_tag,
 	0,	/* No effective tags (pointer) */
 	0,	/* No effective tags (count) */