Destiny
|
Posted: Sat Feb 04, 2023 13:48 Post subject: |
|
|
Файл https://www.upload.ee/files/14899365/BCFileFormats.xml.html
Далее текст можно прочитать, а можно сразу перепрыгнуть к блоку "NB! важное уточнение!"
там описано более позднее и корректное понимание происходящего... имхо.
Вроде как сабж показывает этот файл, но что-то его показываемое не совпадает с написанным.
К примеру, первым блоком в файле идут перечисления
но в сабже они показаны абсолютно пустыми:
Переключение на вкладку ТЕКСТ вообще не показывает ничего....
Есть подозрение на то, что вроде как при проверке онлайн пишется, что
Code: | Line: 19, Pos: 27, Text: "<ElementStr Value=" ;Keyword"/>", Reason: " ;" is not a valid entity. |
Т.е. вроде как надо бы было прервать обработку такого файла, ну, или показать ВСЁ - но только
ДО момента ошибки. Но вероятно используемая либа парсинга просто такого не позволяет.
НО - хорошо бы что-то придумать по возможности на такой "облом-с".
Само сочетание " ;" где, понятно дело, пришлось вставить пробел перед точкой с запятой - иначе движок
форума усиленно конвертит "это" в пустой пробел - вроде как официально реально ничем не является. А по
кол-ву вхождений в файле и при проверке в самой проге - ЧЕМ это может быть - можно прийти к выводу, что
это придуманный 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="<<[a-zA-Z]((_[0-0a-zA-Z])|[0-9a-zA-Z])*>>"/> |
потому что в ней есть две подряд угловых скобки, которые надо было то же бы записать в экранированном виде как
Code: | <Text Value="<<[a-zA-Z]((_[0-0a-zA-Z])|[0-9a-zA-Z])*>>"/> |
Но этого сделано не было автором xml-файла И далее понеслось...
НО! что удивительно - ни один онлайн-чекер не с'агрился на этот файл, как только лишь я убрал "это", описанное выше.
Странно всё это как-то... Но факт, как только я правлю в атрибуте тега прямое использование угловой скобки > на её
эквивалентное представление в виде xml-entity
то парсинг продолжается и ошибка находится дальше, а плагин отображает все больше инфы в дереве тегов и на вкладках.
Но вот тока теперь на вкладках нет обратного превращения символов в один печатный >. А это вроде как ожидается... или нет. Но ведь табличное представление именно визуальное!
Т.е. оно отображает человеческое восприятие информации. Вот на вкладке TEXT - там будет выжимка из файла как-есть.
Чтобы понимать - КАК это записано в файле. А вот на вкладке GRID - по идее именно "превращение" в человеко-читабельный
вариант текста и ожидается от данного плагина.
Last edited by Destiny on Mon Feb 06, 2023 13:46; edited 4 times in total |
|