Code

Filters. New Chromolitho custom predefined filter (experimental). Some UI (notebooks...
[inkscape.git] / src / extension / implementation / xslt.h
1 /*
2  * Code for handling XSLT extensions
3  *
4  * Authors:
5  *   Ted Gould <ted@gould.cx>
6  *
7  * Copyright (C) 2006-2007 Authors
8  *
9  * Released under GNU GPL, read the file 'COPYING' for more information
10  */
12 #ifndef __INKSCAPE_EXTENSION_IMPEMENTATION_XSLT_H__
13 #define __INKSCAPE_EXTENSION_IMPEMENTATION_XSLT_H__
15 #include "implementation.h"
17 #include "libxml/tree.h"
18 #include "libxslt/xslt.h"
19 #include "libxslt/xsltInternals.h"
21 namespace Inkscape {
22 namespace XML {
23 class Node;
24 }
25 }
28 namespace Inkscape {
29 namespace Extension {
30 namespace Implementation {
32 class XSLT : public Implementation {
33 private:
34     std::string _filename;
35     xmlDocPtr _parsedDoc;
36     xsltStylesheetPtr _stylesheet;
38     Glib::ustring solve_reldir(Inkscape::XML::Node *reprin);
39 public:
40     XSLT (void);
42     bool load(Inkscape::Extension::Extension *module);
43     void unload(Inkscape::Extension::Extension *module);
45     bool check(Inkscape::Extension::Extension *module);
47     SPDocument *open(Inkscape::Extension::Input *module,
48                      gchar const *filename);
49     void save(Inkscape::Extension::Output *module, SPDocument *doc, gchar const *filename);
50 };
52 }  /* Inkscape  */
53 }  /* Extension  */
54 }  /* Implementation  */
55 #endif /* __INKSCAPE_EXTENSION_IMPEMENTATION_XSLT_H__ */
57 /*
58   Local Variables:
59   mode:c++
60   c-file-style:"stroustrup"
61   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
62   indent-tabs-mode:nil
63   fill-column:99
64   End:
65 */
66 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :