Ключевое слово в защите информации
ключевое слово
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Boris@Serezhkin.com  
#1 Оставлено : 4 августа 2015 г. 14:06:15(UTC)
Boris@Serezhkin.com

Статус: Активный участник

Группы: Участники
Зарегистрирован: 26.08.2010(UTC)
Сообщений: 259
Откуда: Moscow

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 11 раз в 10 постах
Конечно то, что я хочу обсудить, не имеет прямого отношения к КриптоПро.Boo hoo!
Однако "если где-то ошибка, то виновато КриптоПро"Dancing
Посмотрев на пост1 и пост2 посчитал нужным донести до заинтересованных лиц мое скромное мнение.
Автор: Смирнов Перейти к цитате
В наших примерах всюду поправим на PreserveWhitespace = true, спасибо за наводку.
Это была не наводка, а так, мелкий наезд Shame on you

Как мне сказали знакомые, лет десять назад:
"Ты уже старенький, тебе пора не читать умные книжки, а писать"p~
Вот я и попробую. Может кому-то будет интересно, кому-то полезно...Drool

Речь пойдет про XML с14 и прочая.

Когда возник XML заявлялось, что все универсально, пробелы и форматирование не важно,
смысл в узлах, их иерархии и данных. А когда это было?
Потом возникла потребность удостоверить данные и народ начал
прикручивать дополнительные узлы с подписью данных.
Тут-то и выяснилось что пробелы и прочее форматирование мешает
- возникла идея трансформатора.
А что было из техники, из ПО?
Как сейчас помню выносной рыже-черный терминал от VM370 у меня в лаборатории.
А посмотреть результаты - вывести на экран или распечатать.Think
А как распечатать узлы? Правильно через NewLine "\n" "LF" "0x0A" "0o20"
Так как большинство принтеров трактовало "LF" как исстиное NewLine, т.е. с возвратом каретки.
Это потом появились первые ПС-шки, а с ними Нортон Борланд С 2.0 и соответственно "CRLF".
А в юниксах так и осталось "LF".
При разаработке трансформатора смотрели промежуточные результаты на экране.
Так и проникло "\n" в трансформатор c14trancform, исторически так сложилось.
Утвердили, всемирно приняли и не знают что теперь делать.
Это и приносит сейчас головную боль.Drool
Автор: Смирнов Перейти к цитате
В наших примерах всюду поправим на PreserveWhitespace = true, спасибо за наводку.
Замечательное решение, только местечковое оно, а значит неверное.Drool
Глобальнее` надо, голобальнее`.
Создаем новый трансформатор "RussianTransform". Суть простая - убрать из выхода c14 "LF".
Проталкиваем его w3.org как xml-exc-rus И получаем глубокое моральное удовлетворение.
В итоге Microsoft судоржно вымарывает из своей DOM модели параметр PreserveWhitespace,
В метод Load включает удаление пробелов и прочего.
В метод Save... Нет это можно оставить без изменения Просто добавить SaveFormat.

И все довольны, особенно я.

А пока могу только повториться:
Почуйте разницу между Внутренним и внешним представлением XML.
Если вы всегда на них смотрите через специализированные средства
или не смотрите вообще а просто обрабатывает,
то используйте всегда PreserveWhitespace = true.
А захотите красивый внешний вид,
то PreserveWhitespace = false; load и WXML
А ежели нравится "Блокнот" или не дай бог "Far",
то помните о "PreserveWhitespace"

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.