X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fgdome_xslt%2FC%2Fgdome_xslt%2Fgdome_xslt.c;fp=helm%2FDEVEL%2Fgdome_xslt%2FC%2Fgdome_xslt%2Fgdome_xslt.c;h=0000000000000000000000000000000000000000;hb=869549224eef6278a48c16ae27dd786376082b38;hp=3c5dc42e2151670a5be31fa2211dc96d9e072b9f;hpb=89262281b6e83bd2321150f81f1a0583645eb0c8;p=helm.git diff --git a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.c b/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.c deleted file mode 100644 index 3c5dc42e2..000000000 --- a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.c +++ /dev/null @@ -1,154 +0,0 @@ -/* This file implements a XSLT engine working on Gdome documents. In fact, - * it just maps Gdome documents to libxml documents back and forth, and - * applyes the transformation on libxml documents using libxlt. - * - * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT - * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT) - * - * Copyright (C) 2002: - * Claudio Sacerdoti Coen - * Stefano Zacchiroli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * For more information, please send an email to {sacerdot,zack}@cs.unibo.it - */ - -#include -#include -#include -#include -#include -#include -#include -#include "gdome_xslt.h" - -// Begin of Gdome internals exposed -typedef struct _Gdome_xml_Document Gdome_xml_Document; -struct _Gdome_xml_Document { - GdomeDocument super; - const GdomeDocumentVtab* vtab; - int refcnt; - xmlDocPtr n; - GdomeAccessType accessType; -}; - -GdomeNode* gdome_xml_n_mkref(xmlNode* n); -// End of Gdome internals exposed - -// Begin of the abstraction of Gdome internals. Uses the Gdome internals exposed -xmlDocPtr libxml_of_gdome(GdomeDocument* doc) -{ - return ((Gdome_xml_Document*)doc)->n; -} - -GdomeDocument* gdome_of_libxml(xmlDocPtr n) -{ - return (GdomeDocument*)gdome_xml_n_mkref((xmlNode*)n); -} -// End of the abstraction of Gdome internals. Uses the Gdome internals exposed. - - - -// From now on no Gdome internal should be used directly. - -xsltStylesheetPtr processStylesheet(GdomeDocument* style) -{ - xmlDocPtr style_copy; - xmlDocPtr style_libxml; - - if (style == NULL) { - return NULL; - } - style_libxml = libxml_of_gdome(style); - style_copy = xmlCopyDoc(style_libxml, 1); - style_copy->URL = xmlStrdup(style_libxml->URL); - - xsltSetGenericDebugFunc(NULL, NULL); - - return xsltParseStylesheetDoc(style_copy); -} - -GdomeDocument* applyStylesheet(GdomeDocument* source, xsltStylesheetPtr style_libxslt, const char** params) -{ - xmlDocPtr source_libxml; - xmlDocPtr output_libxml; - - if (source == NULL) return NULL; - source_libxml = libxml_of_gdome(source); - - xsltSetGenericDebugFunc(NULL, NULL); - - output_libxml = xsltApplyStylesheet(style_libxslt, - source_libxml, - params); - - if (output_libxml == NULL) return NULL; - - return gdome_of_libxml(output_libxml); -} - -/***************** serialization functions *****************/ - -int saveResultToFilename (const char* name, - GdomeDocument* result, - xsltStylesheetPtr style_libxslt, - int compression) -{ - xmlDocPtr result_libxml; - - if (result == NULL) return -1; - result_libxml = libxml_of_gdome(result); - - xsltSetGenericDebugFunc(NULL, NULL); - - return xsltSaveResultToFilename(name, - result_libxml, - style_libxslt, - compression); -} - -int saveResultToFile (FILE* file, - GdomeDocument* result, - xsltStylesheetPtr style_libxslt) -{ - xmlDocPtr result_libxml; - - if (result == NULL) return -1; - result_libxml = libxml_of_gdome(result); - - xsltSetGenericDebugFunc(NULL, NULL); - - return xsltSaveResultToFile(file, - result_libxml, - style_libxslt); -} - -int saveResultToFd (int fd, - GdomeDocument* result, - xsltStylesheetPtr style_libxslt) -{ - xmlDocPtr result_libxml; - - if (result == NULL) return -1; - result_libxml = libxml_of_gdome(result); - - xsltSetGenericDebugFunc(NULL, NULL); - - return xsltSaveResultToFd(fd, - result_libxml, - style_libxslt); -} -