Code

r11467@tres: ted | 2006-04-19 21:49:02 -0700
authorgouldtj <gouldtj@users.sourceforge.net>
Tue, 2 May 2006 05:26:13 +0000 (05:26 +0000)
committergouldtj <gouldtj@users.sourceforge.net>
Tue, 2 May 2006 05:26:13 +0000 (05:26 +0000)
 Adding in the basic support for having an xslt implementation.

src/extension/implementation/Makefile_insert
src/extension/implementation/xslt.cpp [new file with mode: 0644]
src/extension/implementation/xslt.h [new file with mode: 0644]
src/extension/system.cpp

index 5d70216d2eae2e7fcf7db8fad44ac214861fe3a4..0600c05f20d9206e99e04884fe1e86d0437698a8 100644 (file)
@@ -8,6 +8,8 @@ extension/implementation/clean:
 
 extension_implementation_libimplementation_a_SOURCES = \
        extension/implementation/implementation.cpp     \
-       extension/implementation/implementation.h       \
+       extension/implementation/implementation.h \
        extension/implementation/script.cpp     \
-       extension/implementation/script.h
+       extension/implementation/script.h \
+       extension/implementation/xslt.cpp \
+       extension/implementation/xslt.h
diff --git a/src/extension/implementation/xslt.cpp b/src/extension/implementation/xslt.cpp
new file mode 100644 (file)
index 0000000..3301679
--- /dev/null
@@ -0,0 +1,52 @@
+/** \file
+ * Code for handling XSLT extensions.
+ */
+/*
+ * Authors:
+ *   Ted Gould <ted@gould.cx>
+ *
+ * Copyright (C) 2006 Authors
+ *
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "xslt.h"
+
+
+/* Namespaces */
+namespace Inkscape {
+namespace Extension {
+namespace Implementation {
+
+/* Real functions */
+/**
+    \return    A XSLT object
+    \brief     This function creates a XSLT object and sets up the
+               variables.
+
+*/
+XSLT::XSLT(void) :
+    Implementation()
+{
+}
+
+
+}  /* Implementation  */
+}  /* module  */
+}  /* Inkscape  */
+
+
+/*
+  Local Variables:
+  mode:c++
+  c-file-style:"stroustrup"
+  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+  indent-tabs-mode:nil
+  fill-column:99
+  End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
diff --git a/src/extension/implementation/xslt.h b/src/extension/implementation/xslt.h
new file mode 100644 (file)
index 0000000..822f401
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Code for handling XSLT extensions
+ *
+ * Authors:
+ *   Ted Gould <ted@gould.cx>
+ *
+ * Copyright (C) 2006 Authors
+ *
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+
+#ifndef __INKSCAPE_EXTENSION_IMPEMENTATION_XSLT_H__
+#define __INKSCAPE_EXTENSION_IMPEMENTATION_XSLT_H__
+
+#include "implementation.h"
+
+namespace Inkscape {
+namespace XML {
+class Node;
+}
+}
+
+
+namespace Inkscape {
+namespace Extension {
+namespace Implementation {
+
+class XSLT : public Implementation {
+private:
+
+public:
+    XSLT (void);
+
+};
+
+}  /* Inkscape  */
+}  /* Extension  */
+}  /* Implementation  */
+#endif /* __INKSCAPE_EXTENSION_IMPEMENTATION_XSLT_H__ */
+
+/*
+  Local Variables:
+  mode:c++
+  c-file-style:"stroustrup"
+  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+  indent-tabs-mode:nil
+  fill-column:99
+  End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
index f6208936995f7426288d850f1b165830f51f54e2..81bf3075e2cf204a315f0c116331876a465004de 100644 (file)
@@ -25,6 +25,7 @@
 #include "patheffect.h"
 #include "print.h"
 #include "implementation/script.h"
+#include "implementation/xslt.h"
 /* #include "implementation/plugin.h" */
 
 namespace Inkscape {
@@ -326,6 +327,7 @@ build_from_reprdoc(Inkscape::XML::Document *doc, Implementation::Implementation
 {
     enum {
         MODULE_EXTENSION,
+        MODULE_XSLT,
         /* MODULE_PLUGIN, */
         MODULE_UNKNOWN_IMP
     } module_implementation_type = MODULE_UNKNOWN_IMP;
@@ -365,6 +367,8 @@ build_from_reprdoc(Inkscape::XML::Document *doc, Implementation::Implementation
             module_functional_type = MODULE_PATH_EFFECT;
         } else if (!strcmp(element_name, "script")) {
             module_implementation_type = MODULE_EXTENSION;
+        } else if (!strcmp(element_name, "xslt")) {
+            module_implementation_type = MODULE_XSLT;
 #if 0
         } else if (!strcmp(element_name, "plugin")) {
             module_implementation_type = MODULE_PLUGIN;
@@ -384,6 +388,11 @@ build_from_reprdoc(Inkscape::XML::Document *doc, Implementation::Implementation
                 imp = static_cast<Implementation::Implementation *>(script);
                 break;
             }
+            case MODULE_XSLT: {
+                Implementation::XSLT *xslt = new Implementation::XSLT();
+                imp = static_cast<Implementation::Implementation *>(xslt);
+                break;
+            }
 #if 0
             case MODULE_PLUGIN: {
                 Implementation::Plugin *plugin = new Implementation::Plugin();