nataraj: (Default)
[personal profile] nataraj
Поскольку рабочий день у меня вдруг закончился, а делать больше ничего не хочется, то я еще побрюзжу на тему XML...

В системе (угадайте какой), структура системы при экспорте записывается в виде xml'я. вида
<types>
<type name="aaaa">
.....
</type>
<type name="bbbb">
......
</type>
</types>

Вороде бы хорошо и красиво. Работает, супер. Правда, когда оно писалось, libxml под перлом еще не было (первая версия XML::LibXML август 2001, а load_meta начал писаться в январе 2001) и оно мучительно читается через XML::Parser.

Это фиг бы с ним. Работает и ладно...

Но наступает момент, когда надо сравнить, правильно ли оная структура была загружена. Кажется все просто, загрузить, выгрузить, сравнить результаты...

И тут начинается...

diff'ом результатом не сравнишь, потому что порядок <type name="aaaa"> и <type name="bbbb"> никто не гарантирует, черт его знает, как оно из базы придет.
xmldiff тоже не катит, потому что он на все изменения порядка срабатывает...

XML::Diff, есть такой модуль, оказался наредкость сырой, и падал на пустых тегах <p></p>

Найти каких либо внятных средств которые бы умели нестрого сравнивать, мне так и не удалось...

В результате пришлось писать свою собственную приблуду сравнивающую деревья с определенными свойствами...

Вывод: бардак в общем виде скорее вреден, чем полезен.
Вот.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

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 Jan. 20th, 2026 03:47 pm
Powered by Dreamwidth Studios