summaryrefslogtreecommitdiffstats
path: root/umbrello/umbrello/docgenerators/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'umbrello/umbrello/docgenerators/main.cpp')
-rw-r--r--umbrello/umbrello/docgenerators/main.cpp94
1 files changed, 94 insertions, 0 deletions
diff --git a/umbrello/umbrello/docgenerators/main.cpp b/umbrello/umbrello/docgenerators/main.cpp
new file mode 100644
index 00000000..d4b6fc4e
--- /dev/null
+++ b/umbrello/umbrello/docgenerators/main.cpp
@@ -0,0 +1,94 @@
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * copyright (C) 2002-2006 *
+ * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> *
+ ***************************************************************************/
+
+#include <unistd.h>
+
+#include <libxml/xmlmemory.h>
+#include <libxml/debugXML.h>
+#include <libxml/HTMLtree.h>
+#include <libxml/xmlIO.h>
+#include <libxml/DOCBparser.h>
+#include <libxml/xinclude.h>
+#include <libxml/catalog.h>
+#include <libxslt/xslt.h>
+#include <libxslt/xsltInternals.h>
+#include <libxslt/transform.h>
+#include <libxslt/xsltutils.h>
+
+// kde includes
+#include <kaboutdata.h>
+#include <kapplication.h>
+#include <kcmdlineargs.h>
+#include <kconfig.h>
+#include <klocale.h>
+#include <ktip.h>
+#include <kdebug.h>
+#include <kwin.h>
+
+#include "version.h"
+
+extern int xmlLoadExtDtdDefaultValue;
+
+static const char description[] =
+ I18N_NOOP("Umbrello UML Modeller autonomous code generator");
+// INSERT A DESCRIPTION FOR YOUR APPLICATION HERE
+
+
+static KCmdLineOptions options[] =
+{
+ { "+[File]", I18N_NOOP("File to transform"), 0 },
+ { "xslt <url>", I18N_NOOP("The XSLT file to use"), 0},
+ // INSERT YOUR COMMANDLINE OPTIONS HERE
+ KCmdLineLastOption
+};
+
+int main(int argc, char *argv[])
+{
+ xsltStylesheetPtr cur = NULL;
+ xmlDocPtr doc, res;
+
+ const char *params[16 + 1];
+ int nbparams = 0;
+ params[nbparams] = NULL;
+
+ KAboutData aboutData( "umbodoc", I18N_NOOP("Umbrello UML Modeller autonomous code generator"),
+ UMBRELLO_VERSION, description, KAboutData::License_GPL,
+ I18N_NOOP("(c) 2006 Gael de Chalendar (aka Kleag), (c) 2002-2006 Umbrello UML Modeller Authors"), 0,
+ "http://uml.sf.net/");
+ aboutData.addAuthor("Gael de Chalendar (aka Kleag)",0, "kleag@free.fr");
+ aboutData.addAuthor(I18N_NOOP("Umbrello UML Modeller Authors"), 0, "uml-devel@lists.sourceforge.net");
+ KCmdLineArgs::init( argc, argv, &aboutData );
+ KCmdLineArgs::addCmdLineOptions( options ); // Add our own options.
+
+ KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
+
+ QCStringList xsltOpt = args->getOptionList("xslt");
+ if (xsltOpt.size() > 0)
+ {
+ QString xsltFile(xsltOpt.last());
+
+ xmlSubstituteEntitiesDefault(1);
+ xmlLoadExtDtdDefaultValue = 1;
+ cur = xsltParseStylesheetFile((const xmlChar *)xsltFile.latin1());
+ doc = xmlParseFile(args->url( 0 ).url().latin1());
+ res = xsltApplyStylesheet(cur, doc, params);
+ xsltSaveResultToFile(stdout, res, cur);
+
+ xsltFreeStylesheet(cur);
+ xmlFreeDoc(res);
+ xmlFreeDoc(doc);
+
+ xsltCleanupGlobals();
+ xmlCleanupParser();
+ }
+ return(0);
+}
+