Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: [wlx] xmltab - просмотр XML файлов 
Author Message
Destiny



PostPosted: Sat Feb 04, 2023 13:48    Post subject: Reply with quote

Файл https://www.upload.ee/files/14899365/BCFileFormats.xml.html

Далее текст можно прочитать, а можно сразу перепрыгнуть к блоку "NB! важное уточнение!"
там описано более позднее и корректное понимание происходящего... имхо.

Вроде как сабж показывает этот файл, но что-то его показываемое не совпадает с написанным.
К примеру, первым блоком в файле идут перечисления

но в сабже они показаны абсолютно пустыми:

Переключение на вкладку ТЕКСТ вообще не показывает ничего....
Есть подозрение на то, что вроде как при проверке онлайн пишется, что
Code:
Line: 19, Pos: 27, Text: "<ElementStr Value="&#2 ;Keyword"/>", Reason: "&#2 ;" is not a valid entity.

Т.е. вроде как надо бы было прервать обработку такого файла, ну, или показать ВСЁ - но только
ДО момента ошибки. Но вероятно используемая либа парсинга просто такого не позволяет.
НО - хорошо бы что-то придумать по возможности на такой "облом-с".
Само сочетание "&#2 ;" где, понятно дело, пришлось вставить пробел перед точкой с запятой - иначе движок
форума усиленно конвертит "это" в пустой пробел - вроде как официально реально ничем не является. А по
кол-ву вхождений в файле и при проверке в самой проге - ЧЕМ это может быть - можно прийти к выводу, что
это придуманный XML-based набор символов, которые предваряют строку символов, которую надо перевести
тем, что переводит ресурсы проги на родной язык. Так что на первый взгляд этот набор символов надо игнорить
принудительно что ли.... Имя файла стабильно - не меняется уже давно. Можно, если что - цепляться за это и
для этого файла тупо удалять предварительно из текста этот запрещенный набор символов.

Но, почему-то, даже вычистив эти символы при открытии мы получаем пустоту для этих же тегов:


NB! важное уточнение!
ТААААК. Похоже я тут сам с собой сломался в анализе. Значений у тегов нет, а в ini есть show-empty=1 отсюда и none.
Блин, писал же - надо бы и перевод для этого сделать. Вписал бы я тут show-empty=<нет значения> а не как сейчас
show-empty=1 - и было бы мне сейчас понятнее... А то в мозгах всё перепуталось. Итак, значений нет, есть атрибуты.
Атрибуты мы видим на вкладке GRID для выделенного тега. Со значком @ перед именем атрибута. Ок, вспомнил это.
Значит тут тока одна ошибка - отсутствие на вкладке TEXT для тегов /BCFileFormats и /BCFileFormats/TTextFormat
их содержимого в текстовом виде. А это похоже результат наличия ошибки во входных данных при парсинге.
НО набор упомянутых символов - это не только эта ошибка. Даже и при их удалении - во вкладке TEXT ничего нет...
А! Ну и ещё Grammar - ну ооооооочень странно выглядит со строкой, состоящей из угловых скобочек...

P.S.
А!!! Я кажется понял про >>>> - плагин/парсер не смог разобраться со всеми субтегами TTextFormat, которые есть в этом
файле. Вот по этому и облом с показом нужного и всего-всего на вкладках.... Он только первый и то - не до конца смог понять...
Парсинг сломался на строке
Code:
<Text Value="&lt;&lt;[a-zA-Z]((_[0-0a-zA-Z])|[0-9a-zA-Z])*>>"/>

потому что в ней есть две подряд угловых скобки, которые надо было то же бы записать в экранированном виде как
Code:
<Text Value="&lt;&lt;[a-zA-Z]((_[0-0a-zA-Z])|[0-9a-zA-Z])*&gt;&gt;"/>

Но этого сделано не было автором xml-файла И далее понеслось...
НО! что удивительно - ни один онлайн-чекер не с'агрился на этот файл, как только лишь я убрал "это", описанное выше.
Странно всё это как-то... Но факт, как только я правлю в атрибуте тега прямое использование угловой скобки > на её
эквивалентное представление в виде xml-entity
Code:
&gt;

то парсинг продолжается и ошибка находится дальше, а плагин отображает все больше инфы в дереве тегов и на вкладках.
Но вот тока теперь на вкладках нет обратного превращения символов
Code:
&gt;
в один печатный >. А это вроде как ожидается... или нет. Но ведь табличное представление именно визуальное!
Т.е. оно отображает человеческое восприятие информации. Вот на вкладке TEXT - там будет выжимка из файла как-есть.
Чтобы понимать - КАК это записано в файле. А вот на вкладке GRID - по идее именно "превращение" в человеко-читабельный
вариант текста и ожидается от данного плагина.


Last edited by Destiny on Mon Feb 06, 2023 13:46; edited 4 times in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group