View previous topic :: View next topic |
Author |
Message |
Destiny
Joined: 15 Dec 2015 Posts: 241
|
(Separately) Posted: Tue Mar 01, 2022 22:22 Post subject: |
|
|
little-brother wrote: | Проблема, когда отображается не содержимое узла, а список прямых потомков, как таблица (режим TABLE). Сейчас связи между потомком и представляющей его строкой - нет. Вот думаю как увязать, чтобы не слишком путано было. |
Блин, меня терзают смутные сомнения, что в этом режиме вообще ничего не надо было бы генерить...
Можно пример такого файла? Реального файла, не пары псевдострок в тегах КОД под этот форум)))
Чтобы понимать - о каких таких частных случаях таблицы идет речь...
Я вот не могу представить вида XML, у которого не будет возможности делать так просто, как я написал вот выше...
я вполне допускаю, что написанный код будет работать более чем шустро и адекватно! но есть шанс, что он все же не нужен будет, а правильный код - это еще и не перегруженный код! |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Tue Mar 01, 2022 22:38 Post subject: |
|
|
Эмм, режим TABLE как раз основной. Большого смысла смотреть на перечень атрибутов и дочерних узлов - нет. В виде текста, если значения не очень длинные, они отлично читаются и так.
Табличный вид нужен для того, чтобы XML вида
Code: |
<root>
<x>AAA</x>
<x>BBB</x>
<x>BBB</x>
</root>
|
Отобразить как таблицу из трех строк AAA, BBB и CCC, а не x, x и x, что достаточно бессмыслено.
Quote: | правильный код - это еще и не перегруженный код |
Я в такой не умею Да нормально там всё получилось - просто добавил отдельный массив под ссылки на узлы, который связан с таблицей, а не деревом.
P.S. Show same глючит
Поправил - https://disk.yandex.ru/d/nxZAdmtzFqlIlw
В архиве тестовый XML. Я тестируюсь на /mxmldoc/function6
Предыдущий пост менял - может не заметили. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 241
|
(Separately) Posted: Wed Mar 02, 2022 15:03 Post subject: |
|
|
ну вроде всё вполне корректно и на своих местах, как я могу увидеть.
единственно что - упомянутые в XML ссылки на доп.файлы отсутствуют.
и это в какой-то мере плохо - для валидации файла, для его парсинг отдельными специализированными программами, в которых можно было бы проверить верность XPath, свертки узлов/визуального представления и т.п. вещи...
У вас есть ПОЛНЫЙ комплект этих файлов dtd, xls, xsd? Откуда, условно говоря, этот одинокий 3.xml нашелся/взялся? |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Wed Mar 02, 2022 16:00 Post subject: |
|
|
Откуда? Ок, Гугл, найди мне пример XML-файла... Спасибо
Насчет дополнительных файлов: используемая библиотека их не понимает, т.к. это простейший парсер, который будет парсить даже невалидный XML.
Для полной работы с XML требуются библиотеки libexpat или libxml2, которые и собрать под Windows еще надо постараться. Можно конечно Windows-парсер подключить, но мне чего то лень разбираться и плагин на С++ придется переводить, т.к. там работа через OLE-интерфейсы.
Да и делать полноценный инструмент для просмотра XML у меня нет в планах, т.к. XML я вижу только при разработке этого плагина |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 241
|
(Separately) Posted: Wed Mar 02, 2022 16:09 Post subject: |
|
|
little-brother wrote: | Насчет дополнительных файлов: используемая библиотека их не понимает, т.к. это простейший парсер, который будет парсить даже невалидный XML.
Для полной работы с XML требуются библиотеки libexpat или libxml2, которые и собрать под Windows еще надо постараться. Можно конечно Windows-парсер подключить, но мне чего то лень разбираться и плагин на С++ придется переводить, т.к. там работа через OLE-интерфейсы.
Да и делать полноценный инструмент для просмотра XML у меня нет в планах, т.к. XML я вижу только при разработке этого плагина |
не-не-не!!! не идет речь о текущем плагине/библиотеке!
нет! тут все ок и самодостаточно!
нет. речь просто идет о возможностях, предлагаемых большими shareware продуктами. вот им нужны все файлы для полноценной работы с этим конкретным xml.
А весь парадокс в том, что гугл НЕ выдает этого файла))) вот что за запрос вы давали, что получили в виде ответа этот файл)??
Там где-то рядом должны и все остальные файлы лежать. Вот найти бы это место.. |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Wed Mar 02, 2022 20:50 Post subject: |
|
|
Учитывая, что там ссылка на xls, то видимо это был какой то экспорт документации к mxml. Имя наталкивает на мысль, что возможно я все таки дернул этот файл из какого то дистрибутива, когда выбирал библиотеку для парсинга. Но я недавно чистил папку загрузок, так что следов не найти уже. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 241
|
(Separately) Posted: Thu Mar 03, 2022 21:53 Post subject: |
|
|
Ок, проехали с этим файлами. Как-нить сам разберусь, для красоты по сути те файлы нужны в сторонних прогах...
А релиз выкатывается? или еще есть повод для улучшения? |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Thu Mar 03, 2022 23:06 Post subject: |
|
|
Планируется еще дополнительная обработка ссылок в значениях ячеек (это общее для всех плагинов). |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 241
|
(Separately) Posted: Fri Mar 04, 2022 15:29 Post subject: |
|
|
Насчет Show same - не ясно когда она срабатывает
Code: | <LIST_OF_PERSONS>
<DATA>
<NAME>...</NAME>
<ID>...</ID>
<PASSPORT>
<SERIJA lang="qwe">...</SERIJA>
<NOMER>...</NOMER>
</PASSPORT>
</DATA>
<DATA>
<NAME>...</NAME>
<ID>...</ID>
<PASSPORT>
<SERIJA>...</SERIJA>
<NOMER>...</NOMER>
</PASSPORT>
</DATA>
<DATA>
<NAME>...</NAME>
<ID>...</ID>
<PASSPORT>
<SERIJA>...</SERIJA>
<NOMER>...</NOMER>
</PASSPORT>
</DATA>
</LIST_OF_PERSONS> |
вот на таком грубом примере на каком узле и как ожидаемо должна сработать эта команда?
Я вот ожидал, что на любом, просто будут отброшены все остальные узлы. К примеру, если выбрать узел SERIJA, то выйдет так:
Code: | <LIST_OF_PERSONS>
<DATA>
<PASSPORT>
<SERIJA lang="qwe">...</SERIJA>
</PASSPORT>
</DATA>
<DATA>
<PASSPORT>
<SERIJA>...</SERIJA>
</PASSPORT>
</DATA>
<DATA>
<PASSPORT>
<SERIJA>...</SERIJA>
</PASSPORT>
</DATA>
</LIST_OF_PERSONS> |
Или даже так:
Code: | <LIST_OF_PERSONS>
<SERIJA lang="qwe">...</SERIJA>
<SERIJA>...</SERIJA>
<SERIJA>...</SERIJA>
</LIST_OF_PERSONS> |
А сейчас ничего и никак не происходит(((
P.S. понятно, что я показываю чистый xml, а плагин работает с деревом узлов и таблицей значений.
НО, я думаю понятно, что просто так мне проще показать то - что может отразить сам плагин в своих возможностях:
ЧТО-ТО уйдет в дерево, а ЧТО-ТО покажется как таблица значений. |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sat Mar 05, 2022 22:23 Post subject: |
|
|
Quote: |
вот на таком грубом примере на каком узле и как ожидаемо должна сработать эта команда?
|
Похоже надо что-то делать, раз не очевидно, что данная команда делает.
Для вашего XML данная команда бесполезна, т.к. у узла LIST_OF_PERSONS все прямые потомки одинаковы. В рассматриваемом выше файле 3.xml для узла function потомки могут быть: description, return value и argument. Команда Show same нужна для того, чтобы просмотреть все узлы типа argument (прямые потомки function!) таблицей. Т.е. в некоторых XML данные вроде как могут быть отображены таблицей, но мешает один-два не совсем обычных элемента. В этом случае и может помочь команда Show same.
Если надо что-то другое, то вы опишите - подумаю и может быть даже реализую, если не сильно сложно будет. Отбора по XPath пока не будет |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 241
|
(Separately) Posted: Sun Mar 06, 2022 13:17 Post subject: |
|
|
little-brother wrote: | В рассматриваемом выше файле 3.xml для узла function потомки могут быть: description, return value и argument. Команда Show same нужна для того, чтобы просмотреть все узлы типа argument (прямые потомки function!) таблицей. |
если честно - все равно не понятно. В том-то и дело, что данная команда понимается и принимает для использования именно что в духе "фильтр по XPath". Причем в этом случае сущность табличного представления каких-то отфильтрованных данных лишь увеличивает свою пользу и её понимание - ибо происходит отсекание ненужного, а оставшееся весьма вероятно превращается в табличное представление.
А сейчас... Я открыл этот файл, выбрал (точнее я ОООЧЕНЬ помучался, пока искал узел, содержащий) return value, выбрал эту команду ... и... и справа в таблице появилась одна строка. И что это означает? Не понял. А вот если бы исчезли ВСЕ лишние узлы - то тогда бы понял. Ибо может быть на весь файл этот узел есть лишь в одном варианте, ибо я же замучился его выискивать! А как это понять? Только лишь, если бы из дерева исчезли все остальные узлы!
Далее выбрал argument и .. и плагин задумался секунд на 5/7 .. и рухнул, а за ним и тотал рухнул нафиг. падает в любой разрядности. но в 32-й чаще! Т.е. 64 может иногда и не упасть при фильтрации. |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sun Mar 06, 2022 14:19 Post subject: |
|
|
Quote: | return value, выбрал эту команду ... и... и справа в таблице появилась одна строка. |
Так и задумано: отображаются только прямые потомки, имеющие тот же тег, что и текущий. Обратите внимание, что после выполнения команды фокус переходит на родительский узел. Поскольку return value у function один, то он один и показывается. Мне кажется вы чего другого ожидаете и данная функция никак не бьется с вашими ожиданиями.
Изменю название на "Show the same siblings" (показать похожие на этом же уровне). Длинновато, но вроде однозначное описание.
Дерево всегда неизменно. Его фильтровать не получится, т.к. данные хранятся прямо в нем. Можно конечно перестраивать, но на больших XML это будет медленно.
Quote: | точнее я ОООЧЕНЬ помучался, пока искал узел, содержащий |
Наверно стоит добавить поиск по дереву
Можно поподробнее, что именно надо сделать, чтобы плагин упал? Я повторить не могу. 4-ый узел function содержит return value. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 241
|
(Separately) Posted: Sun Mar 06, 2022 15:05 Post subject: |
|
|
little-brother wrote: | Можно поподробнее, что именно надо сделать, чтобы плагин упал? |
да вроде все просто. открываем файл 3.xml. Открываем узел function6. Выделяем description. Вызываем конт.меню и выбираем пункт Show same. И вуаля....
little-brother wrote: | отображаются только прямые потомки, имеющие тот же тег, что и текущий. Обратите внимание, что после выполнения команды фокус переходит на родительский узел. |
А этот переход лишь ухудшает понимание и использование дерева. Ведь после того, как узел выделен, то никаким образом его не перевести в режим отображения его элементов.
Т.е. из
никак не получить
Только если выделить другой узел и потом опять вернуться к этому! Это нефига не удобно и не прозрачно! Любое выделение узла подразумевает, что будет отображено ТО - что под этим узлом прячется. На то это и дерево XML! А тут выделение есть, а отображение совсем другого рода показывается.
Плюс зачем в табличном представлении колонка #CONTENT ? Она же просто показывает склеенное значение предыдущих столбцов. Ну а нафига оно??? |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sun Mar 06, 2022 15:29 Post subject: |
|
|
Quote: | Открываем узел function6. Выделяем description. |
Повторилось. Отлично, будет с чего начать копать - я на одиночных узлах не проверял, т.к. для них смысла нет. Как оказалось зря
Quote: | Ведь после того, как узел выделен, то никаким образом его не перевести в режим отображения его элементов. |
Добавлю чтобы повторный клик по выделенному узлу вызывал перевод в обычный режим (точнее просто вызывал обновление таблицы).
А можно просто по соотв. строке кликнуть в таблице.
Quote: | зачем в табличном представлении колонка #CONTENT ? |
Это чтобы можно было искать по всему содержимому, а не только в том, что в прямых потомках. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 241
|
(Separately) Posted: Sun Mar 06, 2022 18:46 Post subject: |
|
|
little-brother wrote: | Это чтобы можно было искать по всему содержимому, а не только в том, что в прямых потомках. |
Ну, реализовывать это наверное нужно, конечно же. Но вот визуализировать в столбце как бы !!!ДАННЫХ!!!! - очень не рекомендуется.
Совершенно сбивает с толку и понимания - так ЧТО же такое это ТАКОЕ мне для глаз отрисовывается - типа в двойном варианте...
Двойной Удар по глазам? ЖКВД?))))) |
|
Back to top |
|
|
|
|
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
|