public Field convert( GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context) { String name = fieldDef.getString("Name"); String namespace = ""; if (fieldDef.isDefined("Ns")) namespace = fieldDef.getString("Ns"); Field[] fields = parseFieldInstructions(fieldDef, templateRegistry, context); boolean optional = fieldDef.getBool("Optional"); Group group = new Group(new QName(name, namespace), fields, optional); if (fieldDef.isDefined("TypeRef")) { GroupValue typeRef = fieldDef.getGroup("TypeRef"); String typeRefName = typeRef.getString("Name"); String typeRefNs = ""; // context.getNamespace(); if (typeRef.isDefined("Ns")) typeRefNs = typeRef.getString("Ns"); group.setTypeReference(new QName(typeRefName, typeRefNs)); } if (fieldDef.isDefined("AuxId")) { group.setId(fieldDef.getString("AuxId")); } return group; }