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

Reply via email to