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" 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>> 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" 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 > 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