diff --git a/compiler/cpp/src/main.cc b/compiler/cpp/src/main.cc
index 7280a37..065c95f 100644
--- a/compiler/cpp/src/main.cc
+++ b/compiler/cpp/src/main.cc
@@ -26,6 +26,7 @@
 #include "generate/t_java_generator.h"
 #include "generate/t_php_generator.h"
 #include "generate/t_py_generator.h"
+#include "generate/t_xsd_generator.h"
 
 using namespace std;
 
@@ -108,6 +109,7 @@
 bool gen_cpp = false;
 bool gen_java = false;
 bool gen_py = false;
+bool gen_xsd = false;
 bool gen_php = false;
 bool gen_phpi = false;
 bool gen_recurse = false;
@@ -515,6 +517,14 @@
       py->generate_program();
       delete py;
     }
+
+    if (gen_xsd) {
+      pverbose("Generating XSD\n");
+      t_xsd_generator* xsd = new t_xsd_generator(program);
+      xsd->generate_program();
+      delete xsd;
+    }
+
   } catch (string s) {
     printf("Error: %s\n", s.c_str());
   } catch (const char* exc) {
@@ -571,6 +581,8 @@
         gen_phpi = true;
       } else if (strcmp(arg, "-py") == 0) {
         gen_py = true;
+      } else if (strcmp(arg, "-xsd") == 0) {
+        gen_xsd = true;
       } else if (strcmp(arg, "-I") == 0) {
         // An argument of "-I\ asdf" is invalid and has unknown results
         arg = argv[++i];
@@ -591,7 +603,7 @@
   }
   
   // You gotta generate something!
-  if (!gen_cpp && !gen_java && !gen_php && !gen_phpi && !gen_py) {
+  if (!gen_cpp && !gen_java && !gen_php && !gen_phpi && !gen_py && !gen_xsd) {
     fprintf(stderr, "!!! No output language(s) specified\n\n");
     usage();
   }
