static const char rcsid[] = "@(#)$$";
 static int verbose = 0;
 static char *file = NULL;
+static int jdl = 0;
 
 static struct option const long_options[] = {
        { "file", required_argument, 0, 'f' },
+       { "jdl", no_argument, 0, 'j' },
         { "help", no_argument, 0, 'h' },
         { "verbose", no_argument, 0, 'v' },
         { "version", no_argument, 0, 'V' },
                 "-h, --help                 display this help and exit\n"
                 "-V, --version              output version information and exit\n"
                 "-v, --verbose              print extensive debug output to stderr\n"
-                "-f, --file <file>          dump file to process\n\n",
+                "-f, --file <file>          dump file to process\n"
+               "-j, --jdl                  prit also JDL in the XML\n\n",
                 program_name);
 }
 
        /* get arguments */
        while ((opt = getopt_long(argc,argv,
                "f:" /* file */
+               "j"  /* jdl */
                "h"  /* help */
                "v"  /* verbose */
                "V",  /* version */
                        case 'V': fprintf(stdout,"%s:\t%s\n",argv[0],rcsid); return(0);
                        case 'v': verbose = 1; break;
                        case 'f': file = optarg; break;
+                       case 'j': jdl = 1; break;
                        case 'h':
                        default:
                                usage(argv[0]); return(0);
                        fprintf(stdout,"\t</fullStatusHistory>\n");
                        free_attrs(attrval);
                }
+               if (jdl) {
+                       plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_JDL, &attrval);
+                       if (attrval) {
+                               fprintf(stdout,"\t<JDL>%s</JDL>\n", attrval->value);
+                               free_attrs(attrval);
+                       }
+               }
 
                fprintf(stdout,"</lbd:jobRecord>\n");