nataraj: (Default)
[personal profile] nataraj
Берем простой пример

use XML::LibXML;                                                                                                                                             
                                                                                                                                                             
my $xml = "<test some_attr='bbbbb'/>";                                                                                                                       
my $parser = XML::LibXML->new();                                                                                                                             
                                                                                                                                                             
my $doc = $parser->parse_string($xml);                                                                                                                       
print $doc->toString;

Выводит он все тоже самое, но атрибут в двойных кавычках....

Кто-нибудь что-нибудь осмысленное знает про сохранность кавычек при прогонке xml'я через libxml2 ? Это вообще возможно?

А то поменял скриптом в файле какую-то ерунду, а diff больше самого файла... Неаккуратненько...

Date: 2010-12-09 10:27 pm (UTC)

Date: 2010-12-10 07:16 am (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Не решение... Костыль...

Date: 2010-12-10 09:39 am (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
Не костыль, а единственно верный последовательный путь.

Костыль -- канонизировать исходные данные и результат (в том числе убрав незначащие пробелы и расставив переносы строк по смыслу) и потом уже сравнивать текстовым diff-ом. Я так и делаю.

Date: 2010-12-10 07:35 am (UTC)
From: [identity profile] blog.vnaum.com (from livejournal.com)
> Это вообще возможно?
Ты б ещё пробелы с табуляциями попросил сохранить.
После разбора в дереве libxml2 ничего незначащего нету - ни кавычек, ни whitespace между атрибутами. Восстанавливать неоткуда.

Я б сказал - прогони всё имеющееся один раз через libxml2 для нормализации всех этих случаев, тогда последующие диффы будут значительно ровнее.

Profile

nataraj: (Default)
Swami Dhyan Nataraj

July 2024

S M T W T F S
 123456
789 10111213
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 11th, 2026 03:33 pm
Powered by Dreamwidth Studios