[wlx] xmltab - просмотр XML файлов
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next  :| |:
Total Commander -> Плагины Total Commander

#76:  Author: Destiny PostPosted: Sun Aug 28, 2022 21:51
    —
little-brother wrote:
"Брать всё" нет такой опции
Есть брать первый попавшийся элемент - хоть это будет <?xml, хоть CDATA или же выделить первый узел с тегом.

Тогда вообще ничего не понимаю.
И без этой опции все тогда работало - так, как вы пытаетесь описать.
А наличие этой новой опции со значением 0 как раз-таки и вроде предназначено для того, что бы на самом первом объекте/узле/теге на вкладке ТЕКСТ показать ВЕСЬ контент текущего файла в текстовом виде. При этом должно быть фиолетово - ЧЕМ является этот первый объект в тексте - да хоть однострочным комментарием.
А вот при значении 1 при выделении этого первого элемента файла - этого комментария, к примеру, на вкладке ТЕКСТ отражался бы только текст этого комментария. И ни грамма более.

#77:  Author: little-brother PostPosted: Mon Aug 29, 2022 00:18
    —
Допустим есть файл
Code:

<?xml version="1.0"?>
<node>Hello, world!</node>

В дереве будет два узла первого уровня - ?xml и node.
С включенной опцией (по умолчанию этот вариант) сразу после загрузки файла текущим узлом в дереве будет выбран node. Если значение опции 0, то текущим узлом будет ?xml.

Ни при каком текущем узле всё содержимое файла отображено быть не может.

#78:  Author: Destiny PostPosted: Mon Aug 29, 2022 17:35
    —
little-brother wrote:
Допустим есть файл
Code:

<?xml version="1.0"?>
<node>Hello, world!</node>

В дереве будет два узла первого уровня - ?xml и node.
С включенной опцией (по умолчанию этот вариант) сразу после загрузки файла текущим узлом в дереве будет выбран node. Если значение опции 0, то текущим узлом будет ?xml.

Ни при каком текущем узле всё содержимое файла отображено быть не может.

Ага. Пояснение к выбранному примеру понял. НО не понял - так зачем вообще тогда реализовывали эту новую опцию?
Из пояснения к причинам её появления и из своих размышлений относительно использования плагина - как раз-таки и "выпестовалось"
то понимание, что нужен кейс, когда при каких-то условиях - я смогу получить в теле плагина (не переключаясь куда-то и как-то) ВСЁ
текстовое значение файла. С подсветками, с нужным форматированием - чтобы получить как бы аналог команды в редакторе - отформатировать всё.
Чтобы просмотреть глазами по быстрому всё, чтобы скопировать что-то частично нужное из всего общего. Ну мало ли что ещё в голову придет.
И для этого нужна опция, когда плагин будет не только лишь по узлам ходить и показывать их частное содержимое, но и как-то в общем сможет отразить весь файл.
И эта опция под это дело идеально подходит. Сейчас с этой опцией я пытаюсь просмотреть несколько файлов тестовых и вообще перестаю видеть разницу.
Только лишь натыкаюсь на ошибочно вставляемый тег #TEXT первым и крэш плагина при попытке с ним поработать. Это как минимум сейчас первое дело для исправления.

А во-вторых - всё же хотелось бы разобраться с логикой новой опции. В том виде, как она сейчас реализована (смотрю ваше определение в ответе-цитате выше) - она без толку.
Ибо первый тег/объект - не важно что это - в файле будет всегда либо супер корневым <ROOT>...</ROOT>, либо очень частным микротегом типа <?xml version="1.0"?>
И толку от реализации логики "показать первый или не первый тег" - становится ну очень мало. Ибо в 85% наверное случаев мы так и так этот первый тег и увидим.
Который чисто ROOT )))) А вот приделать к опции логику - показать или первый найденный полноценный тег (из вашего примера курсор/выделение в дереве тегов ставится
сразу при открытии плагином вашего тестового файла - на узел node и на вкладке TEXT мы видим всю его внутреннюю "кухню" - в текстовом виде все его подузлы+данные)
Или Сразу всё содержимое файла, ток уже отформатированное и подкрашенное (в вашем случае курсор/выделение ставится на первый объект -<?xml version="1.0"?>
и на вкладке TEXT мы видим сразу всё содержимое файла) - вот это да, это полезно и нужно.

#79:  Author: Destiny PostPosted: Sat Sep 17, 2022 14:38
    —
little-brother
Падение плагина-то хоть воспроизвести удалось? Понятно, что правку делать - уже когда и как время появится, но хоть узнать бы, что проблема повторяема и легко. А то может дампы надо генерить же.

#80:  Author: little-brother PostPosted: Wed Sep 21, 2022 03:52
    —
Падение пока даже не пытался повторить. Времени нет.

По поводу опции: по стандарту <?xml вначале обязательно, а то что у вас его обычно нет - скорее исключение. Опция позволяет сразу просмотреть содержимого тега с данными, т.е. root в вашей нотации.

Сразу все содержимое файла показано быть не может, т.к. справа отображается только содержимое выбранного узла. Тут либо добавлять корень дерева, чтобы и его можно было выбрать, либо делать, чтобы если нет выделения в дереве, то справа показывать весь файл. Оба варианта сомнительны.

#81:  Author: yozhik PostPosted: Mon Oct 17, 2022 00:02
    —
little-brother
Задам вопрос здесь, но по большому счёту он применим ко всем вашим tab-плагинам. Скажите, пожалуйста, не сложно ли будет добавить настройку цвета сетки таблицы? Дело в том, что в режиме Dark Mode белые линии сетки на чёрном фоне (учитывая их частоту и периодичность) сильно контрастят, что очень утомительно для глаз. Я подозреваю, что если вы их сразу не добавили, то значит это связано с какими-то сложностями, нетривиальностями. Или нет? Было бы очень хорошо, если бы получилось. Когда Dark Mode включен во всём TC, то крупные светло-серые элементы окна плагина — полосы прокрутки, статусная строка, заголовки столбцов — не так сильно «бьют» по глазам, как частокол ярких белых тонких линий. Если настройка хотя бы только их цвета станет доступна, то тёмным режимом плагина можно будет пользоваться во время работы.

#82:  Author: little-brother PostPosted: Mon Oct 17, 2022 09:43
    —
Стандартной функции для этого нет, в отличии от других цветов.
Посмотрел в гугле - вроде не очень сложно должно быть. Надо будет попробовать и, если получится, то во все плагины добавлю, но увы сейчас времени на плагины попросту нет.

Как вариант можно еще отключить рисование сетки вовсе.

#83:  Author: yozhik PostPosted: Tue Oct 18, 2022 04:06
    —
little-brother wrote:
сейчас времени на плагины попросту нет

Добро, подождём пока появится.
little-brother wrote:
Как вариант можно еще отключить рисование сетки вовсе.

Неплохой вариант. А если на него время найдётся, так и вообще хороший Smile (Особенно для плагина csvtab, поскольку в нём только таблица.)

#84:  Author: little-brother PostPosted: Tue Oct 18, 2022 10:57
    —
Quote:

отключить рисование сетки


Готово для всех плагинов. Изменил три строчки кода в каждом плагине - дольше изменения раскидывал, чем программировал.

Изменение цвета на потом, т.к. это не так просто.

#85:  Author: yozhik PostPosted: Tue Oct 18, 2022 14:07
    —
little-brother wrote:
три строчки кода

Мал золотник, да дорог! У себя посмотрел пока три — xml, csv, json — работают исправно, красота. Спасибо от души и за код, и за добрый отклик.
little-brother wrote:
дольше изменения раскидывал, чем программировал

А вы процесс раскидывания тоже бы запрограммировали Wink Эх, да, на мелочёвку время уходит. Зато теперь ёжики вас добрым словом поминают.

#86:  Author: Destiny PostPosted: Thu Oct 27, 2022 17:27
    —
little-brother
в сопроводительном default.ini
open-first-element = 1 ; 0/1, The selected item should be element on the plugin start up
исчезло осознанно или очепятка?

#87:  Author: little-brother PostPosted: Fri Oct 28, 2022 22:34
    —
Происки рептилойдов! Спасибо, поправил.

#88:  Author: Destiny PostPosted: Sat Feb 04, 2023 13:48
    —
Файл 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

#89:  Author: imig73Location: г. Иркутск PostPosted: Sat Feb 04, 2023 18:31
    —
Рады за вас и желаем всех благ в программировании.

#90:  Author: Destiny PostPosted: Mon Mar 06, 2023 12:55
    —
little-brother
что-то можно уточнить по поводу мной написанного? Rolling Eyes Embarassed



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next  :| |:
Page 6 of 7

Powered by phpBB © 2001, 2005 phpBB Group