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 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
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Sat Oct 16, 2021 13:52    Post subject: [wlx] xmltab - просмотр XML файлов Reply with quote

Плагин для просмотра XML файлов.

Страница проекта - https://github.com/little-brother/xmltab-wlx
Страница на wincmd - http://wincmd.ru/plugring/xmltab.html
Скачать - https://github.com/little-brother/xmltab-wlx/releases/latest/download/xmltab.zip

Возможности
  • Смешанный просмотр деревом и таблицей
  • Быстрый фильтр по колонке
  • Сортировка колонок
  • Авто-форматирование и подсветка
  • Поддержка ANSI, UTF8, UTF16
  • Открытые исходники
  • Скромный размер

Ctrl + Колесо мыши - изменение шрифта
TAB - переход на следующий элемент
Ctrl + TAB - переход на предыдущий элемент

Настройки и другое в Wiki - https://github.com/little-brother/xmltab-wlx/wiki
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Sat Dec 18, 2021 00:21    Post subject: Reply with quote

День добрый!
Имхо для случая, когда в теге нет значения, нужно выводить в дереве тегов слева запись вида:
ИМЯ_ПАРАМЕТРА=<пусто>
а не как сейчас - просто
ИМЯ_ПАРАМЕТРА
В табличном представлении или в текстовом - все понятно, а тут глаз "цепляется"...

И наверное практику с default.ini стоит продолжить на всех ваших плагинах))
Это с csv плагином уж очень здорово вышло...
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Sat Dec 18, 2021 01:10    Post subject: Reply with quote

Если представить такое на дереве тегов на картинке сверху, то получится, что у каждого тега справа будет
Code:

reaction = <пусто>

Это точно такое надо? Можно конечно настройку добавить.

Quote:

с default.ini стоит продолжить

В процессе уже Wink
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Sat Dec 18, 2021 15:27    Post subject: Reply with quote

little-brother wrote:
на картинке сверху

нет раскрытых ПУСТЫХ тегов. Это все узлы с наполнением...
А речь идет именно о случае, когда у узла НЕТ содержимого. Т.е. название есть, а внутри ничего.
<subdata></subdata> или <subdata/>

А на картинке сверху всё ещё дальше раскрывается по щелчку на плюсики.
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Sat Dec 18, 2021 17:57    Post subject: Reply with quote

Готово. Для отображения надо будет в ini-файле выставить
Code:

show-empty = 1
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Sun Dec 19, 2021 12:08    Post subject: Reply with quote

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

P.S. да, работает клево. Единственно, раз пока нет толком переводов, имхо лучше этот параметр не числовым, а текстовым сделать.
Т.е. если параметр есть и не пустой - то его значение и показывать в дереве. А то нерусское none что-то не хочется видеть))))
show-empty=<пусто>
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Sun Dec 19, 2021 14:59    Post subject: Reply with quote

По хорошему надо бы перевод всего плагина делать, а не вот такие частичные меры. Пробовал, но не понравилось, что получается. Пока отложил. Если не получится, то сделаю как текстовый параметр в следующих версиях.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Fri Feb 25, 2022 17:08    Post subject: Reply with quote

Приветствую!

В json плагине есть действие Copy as JSON. Реально полезно оказалось.
А вот для XML таковым полезным может оказаться возможность копирования XPath! И вывод текущего выделенного элемента как XPath путь в строке состояний! Сразу за элементом вывода в строке Rows: х/х

И кстати, а что такое SINGLE для XML???
И как воспринимать ROWS в контексте XML, где как бы нет табличного представления! И вывод я всегда вижу как 7/7, 1/1, 3/3. Но никогда 1/5, 2/9... И это при тапах по узлам дерева XML! Понятно дело, что в табличном представлении значений узла - что вводятся справа от дерева - там ROWS логика есть. Так что ИМХО строка ROWS: 7/7 имеет смысл быть заменённой именно выводом полного XPath пути. Вот эта инфа на этом месте более логична! И его копирование тоже весьма полезно и нужно!
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Fri Feb 25, 2022 17:26    Post subject: Reply with quote

Надо подумать, что можно с XPath сделать - в используемой для парсинга XML-библиотеки готового метода нет, особенно после того как я её порезал.
Если его не сложно генерить самому, на основании информации иерархии узлов, то наверно можно добавить.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Fri Feb 25, 2022 17:58    Post subject: Reply with quote

little-brother wrote:
Если его не сложно генерить самому, на основании информации иерархии узлов

вроде именно так оно и работает))))
просто там есть несколько доп.символов - разделителей/уточнителей, которые надо вставлять.
Так что ориентировочно - да, можно и самому состряпать.
НО ОООООЧЕНЬ странно, что в той библиотеке нет метода под это. Чтобы просто его вызвать и всё.

И кстати, а что такое SINGLE для XML??? так и не понял))))
про ROWS в контексте XML дерева - уж ладно, можно не отвечать Wink
все равно, надеюсь, этот вывод будет заменен более полезным XPath ))


Last edited by Destiny on Fri Feb 25, 2022 18:19; edited 1 time in total
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Fri Feb 25, 2022 18:14    Post subject: Reply with quote

Quote:
НО ОООООЧЕНЬ странно, что в той библиотеке нет метода под это

Стандарт XML достаточно сложный, напр. если учитывать пространства имен, потому все библиотеки, работающие с ним, мало того, что большие (мегабайты), так еще и собираются непросто. Поэтому я взял самую простую и маленькую из тех, что нашел на задворках GitHub. В большинстве случаев она работает и ладно, но вот плюшек в ней нет от слова совсем.

Quote:
SINGLE для XML

SINGLE - это когда у узла один потомок и потому это не таблица (TABLE).
ROWS - это просто число строк в "таблице".
Обозначения не имеют смысла, если в XML нет табличных данных, но плагин то не просто так называется xmlTAB.
Вместо ROWS отображать XPath смысла нет. Если и делать, то в выпадающем меню пункт "Copy XPath".
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Fri Feb 25, 2022 18:23    Post subject: Reply with quote

little-brother wrote:
если в XML нет табличных данных, но плагин то не просто так называется xmlTAB.

А есть файл-пример с таким наполнением, где SINGLE превращается в TABLE, и ROWS начинает показывать что-то разное в виде X/Y, а не постоянное ROWS: X/X?

А то я всё показываю лишь плохие примеры файлов, где что-то просто не работает, а вот пример файла, где все работает и как планировалось, но по особенному - такого я еще не видел)))

little-brother wrote:
Если и делать, то в выпадающем меню пункт "Copy XPath".

Это тогда конечно да, именно так)))
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Fri Feb 25, 2022 18:41    Post subject: Reply with quote

В первом случае это SINGLE, во втором TABLE. В целом это видимо не сильно удачное решение в плагине Smile
Code:

<X>
    <Y>a</Y>
</X>

<X>
    <Y>a</Y> <-- ROWS: 1/2
    <Y>b</Y> <-- ROWS: 2/2
</X>
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 178

Post (Separately) Posted: Fri Feb 25, 2022 19:30    Post subject: Reply with quote

little-brother
что то мне кажется, если это единственно придуманный набор тегов, которые описывают логику этих элементов SINGEL|TABLE + ROWS X/Y,
где в общем случае X==Y, то явно это не то, что надо вообще хоть как-то отображать.
XML это всегда набор тегов. Линейный. И то - что они, будучи размещенными на плоскости могут определить двумерное табличное представление - это ничего не значит.
Да, для тегов можно показать в скобках с самим тегом кол-во внутренних подэлементов! Аналог [ROWS: X] - без Y!
Или кол-во байт, которыми описываются внутренние структуры выбранного субтега (сколько занимают в символах строк все данные).
И это всё)), Ну разве что XPath для любого выбранного тега еще вполне логично подсказывать...
т.е. НЕ просто дать возможность его скопировать - но именно что показывать в режиме реального времени - по выбору тега пользователем!


Last edited by Destiny on Fri Feb 25, 2022 20:29; edited 1 time in total
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 168

Post (Separately) Posted: Fri Feb 25, 2022 20:20    Post subject: Reply with quote

Для нетабличных данных правая часть с таблицей особого смысла не имеет. И в таком случае лучше использовать XMLReview-плагин, хотя он и несколько пожирнее.
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 1, 2, 3, 4, 5, 6  Next
Page 1 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