I don't understand what are you trying to do so I really don't have a good answer for you.
Aleksey On 1/29/18 12:33 AM, Mikhail Goloborodko wrote: > Alexey, > > Thank you! > I'am new to libxml2. Would appretiate if you advice how to achieve this. > May be I need a callback for in Reader or Writer? > > Mikhail > > On Sun, Jan 28, 2018 at 10:02 PM, Aleksey Sanin <alek...@aleksey.com > <mailto:alek...@aleksey.com>> wrote: > > I am not sure what is the suggest algorithm to "rewrite namespace > prefixes". Regardless, this is not part of C14N spec and something > you will have to do yourself. > > Aleksey > > On 1/28/18 3:19 AM, Mikhail Goloborodko wrote: > > Hi All, > > > > I will appreciate if somebody could help on how to normalize and > > canonicalize XML. > > > > For example > > <?xml version="1.0" encoding="WINDOWS-1251"?> > > <ed:N1 attr="4583001999 <tel:4583001999>" xmlns:ed="urn:ru:ed:v2.0"> > > </ed:N> > > > > I need to get > > > > <n1:N1 xmlns:n1="urn:cbr-ru:ed:v2.0" attr="4583001999"></n1:N1> > > > > And for > > > > <?xml version="1.0" encoding="WINDOWS-1251"?> > > <N1 attr="4583001999" xmlns="urn:ru:ed:v2.0"> > > <N2 attr="value"></N2> > > </N1> > > > > I need > > > > <n1:N1 xmlns:n1="urn:ru:ed:v2.0"> attr="4583001999"<n1:N2 > > attr="value"></n1:N2></n1:N1> > > > > In other words I need to remove whitespaces and rewrite namespace > prefixes > > I use > > string src; > > xmlChar * canon; > > xmlDocPtr xDoc = xmlReadMemory(src.data(), src.size(), nullptr, > nullptr, > > XML_PARSE_NOBLANKS); > > int bytes = xmlC14NDocDumpMemory(xDoc, nullptr, 0, nullptr, 0, & > canon); > > > > It removes whitespaces, need help with namespace prefix rewrite. > > > > Thank you in advance. > > > > On Sun, Jan 28, 2018 at 12:41 AM, Mikhail Goloborodko > > <mgoloboro...@gmail.com <mailto:mgoloboro...@gmail.com> > <mailto:mgoloboro...@gmail.com <mailto:mgoloboro...@gmail.com>>> wrote: > > > > Hi, > > > > I need help on how to normalize and canonicalize XML. > > For example > > <?xml version="1.0" encoding="WINDOWS-1251"?> > > <ed:N1 attr="4583001999 <tel:4583001999>" > xmlns:ed="urn:ru:ed:v2.0"> > > </ed:N> > > > > I need to get > > > > <n1:N1 xmlns:n1="urn:cbr-ru:ed:v2.0" attr="4583001999"></n1:N1> > > > > And for > > > > <?xml version="1.0" encoding="WINDOWS-1251"?> > > <N1 attr="4583001999" xmlns="urn:ru:ed:v2.0"> > > <N2 attr="value"></N2> > > </N1> > > > > I need > > > > <n1:N1 attr="4583001999" xmlns="urn:ru:ed:v2.0"><n1:N2 > > attr="value"></n1:N2></n1:N1> > > > > In other words I need to remove whitespaces and rewrite namespace > > prefixes > > I use > > string src; > > xmlChar * canon; > > xmlDocPtr xDoc = xmlReadMemory(src.data(), src.size(), nullptr, > > nullptr, XML_PARSE_NOBLANKS); > > int bytes = xmlC14NDocDumpMemory(xDoc, nullptr, 0, nullptr, 0, > & canon); > > > > It clearly removes whitespace, need help with namespace prefix > rewrite. > > > > Thank you in advance. > > > > Mikhail > > > > > > > > > > _______________________________________________ > > xml mailing list, project page http://xmlsoft.org/ > > xml@gnome.org <mailto:xml@gnome.org> > > https://mail.gnome.org/mailman/listinfo/xml > <https://mail.gnome.org/mailman/listinfo/xml> > > > > _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org https://mail.gnome.org/mailman/listinfo/xml