xslt.h revision 0a06b01de629d811f25150dd5cf77401c1b6823c
/*
* Code for handling XSLT extensions
*
* Authors:
* Ted Gould <ted@gould.cx>
*
* Copyright (C) 2006-2007 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"
#include "libxml/tree.h"
#include "libxslt/xslt.h"
#include "libxslt/xsltInternals.h"
namespace Inkscape {
namespace XML {
class Node;
}
}
namespace Inkscape {
namespace Extension {
namespace Implementation {
class XSLT : public Implementation {
private:
std::string _filename;
xmlDocPtr _parsedDoc;
xsltStylesheetPtr _stylesheet;
Glib::ustring solve_reldir(Inkscape::XML::Node *reprin);
public:
XSLT (void);
bool load(Inkscape::Extension::Extension *module);
void unload(Inkscape::Extension::Extension *module);
bool check(Inkscape::Extension::Extension *module);
SPDocument *open(Inkscape::Extension::Input *module,
gchar const *filename);
void save(Inkscape::Extension::Output *module, SPDocument *doc, gchar const *filename);
};
} /* 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 :