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 

[wlx] xmltab - просмотр XML файлов
Goto page Previous  1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Sat Mar 12, 2022 21:51    Post subject: Reply with quote

https://github.com/ziord/cxml

Можно глянуть, наверное... ну так, для сравнения. Без обязательств, конечно же.
Вроде на С в отличие от многих С++ версий и развивается...
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Sun Mar 13, 2022 23:18    Post subject: Reply with quote

Если бы я писал редактор XML, то рассмотрел бы, а так придется усложнять сборку (вместо двух файлов в используемой либе, эта требует использование CMake, что в свою очередь ташит использование msys для эмуляции nix-консоли). И в случае, если потребуется расширить, напр. добавить узлу userdata, то только через автора либы. Пока меня текущая вполне устраивает Wink А то, что XPath нет - так и слава богу! Не потребуется реализовывать это в UI Very Happy
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Thu Mar 17, 2022 18:15    Post subject: Reply with quote

Итак, о наших птичках!
Вроде как под новые релизы код подобрался у плагина?
Равно как и у jsontab + odbc - после правок, что там были сделаны/проверены?
Уж не будем расписываться по всем веткам сразу - всё равно обычно у вас классно вся кипа плагинов выходит в одном обновлении как бэ))

Или еще со ссылками что-то на подходе?
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Thu Mar 17, 2022 19:18    Post subject: Reply with quote

Так в Истории изменений отписано. Из общего

  • Обработка горячих клавиш изменена (теперь должны срабатывать почти везде);
  • Новая опция column-delimiter, задающая разделитель при копировании строки (по умолчанию Tab);
  • Пункт меню Hide column.

А также
jsontab: добавлен JSONPath (аналог XPath)
odbctab: фикс с именами у листов
xmltab: поиск по дереву (только вниз), автокорень и XPath

Обновления всегда выходят одновременно по одной причине - я стараюсь, чтобы код у всех плагинов был максимально похожий, чтобы новый функционал можно было добавлять Copy-Paste (при этом всё равно приходится учитывать различия, но их не так много).

Для jsontab на англ. форуме еще попросили добавить обработку json без единого корня, как в случае с XML, и даже код правки предложили. Когда руки дойдут - надо будет внедрить и это.

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

Quote:
проверены

В этом вопросе я полностью поддерживаю Microsoft - тестироваться надо на хомячках пользователях.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 124

Post (Separately) Posted: Fri Aug 12, 2022 21:35    Post subject: Reply with quote

little-brother
Сделайте, пожалуйста, такую настройку, чтобы при первом открытии во вкладке Text отображалось содержимое всего файла, а не только первого нода. Для QuickLook было бы намного удобнее, без дополнительных кликов. Т.е. чтобы при нажатии Ctrl+Q
было так: , а не так:
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Sat Aug 13, 2022 13:59    Post subject: Reply with quote

Ок, как руки дойдут.
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Tue Aug 16, 2022 18:07    Post subject: Reply with quote

Готово Smile
Добавил новую опцию open-first-element, которая указывает что при открытии файла искать первый элемент с тегом и показывать его. По умолчанию - 1 (включено).
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 124

Post (Separately) Posted: Thu Aug 18, 2022 18:52    Post subject: Reply with quote

little-brother
Quote:
Готово

Спасибо! Работает исправно. Прошу прощения, что задержался с откликом — тоже руки не доходили.

Есть ещё пара наблюдений (пожеланий).

1) Вот этот Manifest.xml плагин игнорирует, не открывает. Он хоть и «нестандартный», но майкрософтский, найден здесь (на Win 10 x64):
Code:
C:\ProgramData\Microsoft\ClickToRun\MachineData\Catalog\Packages\{9AC08E99-230B-47E8-9721-4577B7F124EA}\{1A8308C7-90D1-4200-B16E-646F163A08E8}\Manifest.xml

Не знаю, насколько часто будут такие попадаться, но если учесть, что Microsoft себе такие позволяет, то можно предположить, что не редко. Может стоит Вам взглянуть что поправить, чтобы такие тоже открывались, не игнорировались?

2) Когда внутри нода другой нод, то плагин его отображает со смещением вправо. Это замечательно, наглядная иерархия. А когда внутри нода в содержимом есть перевод строки (физический LF или CRLF), то наглядная иерархия не срабатывает, новая строка «улетает» к левому краю. Можно ли сделать чтобы срабатывала? Чтобы всё содержимое нода, включая такие строки, отображалось с тем же отступом, что и сам нод. Посмотрите картинку, пожалуйста, вроде должно быть понятно что я имею в виду:

Вот ссылка на тестовый xml: https://0x0.st/oLA0.xml.ZIP

3) Вот тут я не уверен кто именно «виноват», может и не xmltab, но на всякий случай взгляните, пожалуйста, на такое дело:

3.1) TC 10.51 RC1. Установлены плагины xmltab.wlx, XMLViewer.wlx, cudalister.wlx.
3.2) У xmltab и XMLViewer есть детект-строка в wincmd.ini, у cudalister нет детект-строки (возможно это играет роль).
3.3) Открываю xml по F3. xmltab у меня первый по очереди из плагинов.
3.4) Теперь начинаю переключаться между плагинами по клавише «4». Доходим до cudalister. Следующее нажатие «4» должно опять загрузить xmltab. Фигвам. Вместо него загружается XMLViewer. Затем опять cudalister. Затем опять XMLViewer. xmltab вылетает из цикла переключений.
3.5) Ниже ссылка на видео, заметно (а если по кадру смотреть, то отчётливо видно), что xmltab загружается, но потом почему-то вылетает и на его место грузится следущий плаг, в данном случае XMLViewer.

3.6) Теперь пробуем отключать плагины:
3.6.1) отключаем cudalister — проблема не наблюдается. xmltab и XMLViewer между собой переключаются исправно.
3.6.2) отключаем xmltab — проблема не наблюдается. XMLViewer и cudalister между собой переключаются исправно.
3.6.3) отключаем XMLViewer — проблема наблюдается. По «4» загружется только cudalister.
3.6.4) Поэтому я и предположил, что дело может быть в детект-строке.

Ссылка на видео: https://vimple.co/17d4d64b778f46cd8e193f7b0d955a76

Добавлено спустя 1 час 5 минут:

little-brother
И ещё, чуть не забыл. Из default.ini плагина пропала вот эта строка:
Code:
header-row = 1                     ; 0/1

В xmltab 0.9.9 она была, а в xmltab 1.0.0 её нет. Так и должно быть или потерялась?

Добавлено спустя 28 минут:

Дополнение к пункту 2. Вот ещё интересный xml для тестов — в содержимом нода у него текст целой лицензии с переводами строк и табуляциями:
https://0x0.st/oLmN.xml.zip
Такие xml дампит из шрифтов известный у шрифтовиков пакет fonttools, так что подобный случай — вполне распространённый.
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Thu Aug 18, 2022 22:55    Post subject: Reply with quote

1. Возможно дело в пространствах имен. Я использую сторонний парсер - он маленький, не только по размеру, но и по возможностям. Вряд ли можно будет добавить такую поддержку.
2. Это можно поправить.
3. Ок, гляну
4. Да, куда то потерялась. Не знаю каким образом Smile

P.S. Скорого обновления ждать не стоит, я плагины правлю между делом, когда заняться больше нечем.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 124

Post (Separately) Posted: Fri Aug 19, 2022 00:39    Post subject: Reply with quote

little-brother
Quote:
плагины правлю между делом

Так и мы тех-репорты пишем между делом. Если мой непосредственный начальник увидит моё форумное творчество, пригвоздит к позорному столбу Smile Так что как у вас получится, скоро-нескоро — от нас в любом случае признательность. Только в целом не забудьте Wink (между прочим и такое случалось, автор одного плагина написал, что сделал исправления, но исправленную версию так никогда и не выложил).
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Sat Aug 27, 2022 14:35    Post subject: Reply with quote

yozhik wrote:
little-brother
1) Вот этот Manifest.xml плагин игнорирует, не открывает.

Хммм. Скачал ваш примерный файл, сабж до 1.0.0 даже еще не обновил - пробовал открыть в старой версии и ...

как видим - никаких проблем не было.

Кстати, для доп. варианта альтернативного просмотра лучше XMLReview плагин вместо XML Viewer Wink

Добавлено спустя 6 минут:

yozhik wrote:
little-brother
2) Когда внутри нода другой нод, то плагин его отображает со смещением вправо. Это замечательно, наглядная иерархия. А когда внутри нода в содержимом есть перевод строки (физический LF или CRLF), то наглядная иерархия не срабатывает, новая строка «улетает» к левому краю. Можно ли сделать чтобы срабатывала? Чтобы всё содержимое нода, включая такие строки, отображалось с тем же отступом, что и сам нод.


А зачем? Ведь именно в том и смак - что в текущей реализации четко видно, что вот эта часть текста является СПЕЦотформатированной! Что НАДО учитывать момент, что есть перевод строки! А если сделать "как везде", то начнешь думать как раз-таки об обратном - а не закралась ли ошибка в тексте файла? Что это за огромные пробелы явно внутри цельного предложения вдруг повылазили....

Добавлено спустя 15 минут:

little-brother
Хм, а вот с новой опцией open-first-element и на файле товарища yozhik
из второго пункта его поста "Вот ссылка на тестовый xml: https://0x0.st/oLA0.xml.ZIP"
облом. Выводится лишь один символ < и более ничего.
И ещё зачем-то и как-то первым выводится нода "#TEXT" - которой, конечно же, нет в оригинале файла.
А ещё при попытке скопировать XPath этой ноды мы получаем падение плагина и тотатала следом за ним...
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 124

Post (Separately) Posted: Sat Aug 27, 2022 16:31    Post subject: Reply with quote

Destiny
Quote:
Скачал ваш примерный файл... пробовал открыть... никаких проблем не было.

Ай, да! Прошу пардону, моя невнимательность Embarassed Я проглядел ключ в ini 'max-file-size', в нём ограничение 1 Мб, а файл 3 Мб. Первый «issue» закрыт.
Quote:
лучше XMLReview плагин вместо XML Viewer

Это я для теста только подключил. Мне нравится идея нескольких плагинов для разных форматов с одинаковым подходом к отображению (xmltab, csvtab, jsontab ...tab). xmltab пока «проигрывает» XML Viewer и XMLReview только по скорости инициализации — два упомянутых значительно шустрее. Но дело в библиотеке, если я правильно понял. Зато он маленький, богаче по настройкам и в одной тональности с другими tab'ами. Поэтому на скорость я закрываю глаза, хотя и со вздохом.
Quote:
в текущей реализации четко видно, что вот эта часть текста является СПЕЦотформатированной

А в моём предложении разве этого не видно будет?! Точно так же будет видно. Только помимо этого будет видно ещё и другое нечто полезное.
Quote:
НАДО учитывать момент, что есть перевод строки

Так он же остаётся, перевод строки, никуда он не денется. Просто отступ слева добавится.
Quote:
Ведь именно в том и смак

Честно говоря, в чём тут именно смак я так и не понял, хотя о смаках, как известно, не спорят Wink В оригинальном тестовом файле вообще не используются отступы. Поэтому, если так важно сохранить аутентичную структуру отображения, то xmltab тогда и не нужен вовсе, встроенные средства Lister покажут файл «как есть», без прикрас. Но уже коль скоро мы подключаем плагин для более удобного и структурированного отображения, то хорошо бы следовать заявленному. Назвался груздем, полезай в кузов.
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Sat Aug 27, 2022 23:43    Post subject: Reply with quote

Quote:
а вот с новой опцией open-first-element и на файле т...
облом. Выводится лишь один символ < и более ничего.

Новая опция всего лишь выбирает текущий узел после загрузки.

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

Насчет отступов - это можно дополнительной настройкой решить. Больше проблема запрограммировать это, чтобы не криво было.[/quote]

P.S. Плагин все таки под просмотр табличных XML заточен. Для просмотра структуры XML Review лучше и быстрее.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Sun Aug 28, 2022 20:45    Post subject: Reply with quote

little-brother wrote:
Новая опция всего лишь выбирает текущий узел после загрузки.

Это если она включена в позицию "выбирать первый узел". А я как раз выбрал вторую позицию - НЕ выбирать первый узел, а брать ВСЁ - и всё показывать текстом.
yozhik wrote:
чтобы при первом открытии во вкладке Text отображалось содержимое всего файла, а не только первого нода

И вот в этой позиции (0) и наблюдаются все описанные баги.
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Sun Aug 28, 2022 21:07    Post subject: Reply with quote

"Брать всё" нет такой опции Smile
Есть брать первый попавшийся элемент - хоть это будет <?xml, хоть CDATA или же выделить первый узел с тегом.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 5 of 6

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group