[xml] Canonical XML



Daniel,

Please find attached a simplified version of C14N API. I hope
you'll approve it. The implementation for whole XML document is
pretty much done but I run into some problems with a case when
a part of XML document is specified using XPath expression.
It turns out that libxml has no full XPath implementation:
        1) "parent::ietf:e1" does not include any e1 namespaces
        2) namespaces from the parent element are not included
        in the child's namespaces axis
        3) default attributes from inner DTD are not included
        in the result nodes set
As far as I can understand, all these areas are marked as TODO in
the xpath.c file. Do you have any plans to implement this stuff
soon? Do I need to file a bug about this as a reminder?


Thanks,

Aleksey.
/*
 * http://www.w3.org/TR/2001/REC-xml-c14n-20010315
 * Author: aleksey aleksey com
 */
#ifndef __XML_C14N_H__
#define __XML_C14N_H__    

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */ 

#include <libxml/tree.h>
#include <libxml/xpath.h> 

/*
 * XML Document Canonization
 */
int             xmlC14NDocSaveTo        (xmlDocPtr doc,
                                         xmlNodeSetPtr nodes,
                                         int with_comments, 
                                         xmlOutputBufferPtr buf);

int             xmlC14NDocDumpMemory    (xmlDocPtr doc,
                                         xmlNodeSetPtr nodes,
                                         int with_comments, 
                                         xmlChar **doc_txt_ptr);

int             xmlC14NDocSave          (xmlDocPtr doc,
                                         xmlNodeSetPtr nodes,
                                         int with_comments, 
                                         const char* filename,
                                         int compression);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __XML_C14N_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]