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 

Single Post  Topic: [wlx] XML Review - просмотр XML и JSON файлов 
Author Message
Destiny



PostPosted: Fri Mar 18, 2022 14:01    Post subject: Reply with quote

olegvsk wrote:
Ну, ошибки в структуре могут быть какие угодно, под каждую подпорку не сделаешь. Мне, честно говоря, крайне редко встречались ЧАСТИЧНЫЕ xml. Но, возможно, кому-то это действительно будет полезно.

Ну дак, речь-то именно и только лишь об одном варианте - когда используешь файлы НЕ финальные, а элементы, из которых потом будет слеплен финал. И вот в отдельно взятом "псевдо"XML файле есть набор своих конкретных тегов, которые сами по себе - совершенно корректны. Так зачем вы обрываете парсинг файла, если не нашли корневой элемент? Считайте это "предупреждением", но всю остальную структуру-то показывайте Cool . Ведь вы же даже не пишите при открытии такого файла - СРАЗУ не пишите - что была найдена ошибка целостности структуры XML Rolling Eyes Об этом пользователь узнает - ЛИШЬ! если он откроет режим просмотра CTRL+2! А часто ли люди на него будут переключаться? Они откроют файл, увидят там тока один элемент вместо ...цати - подумают, что в файле ошибка - не тот вывод получен, закроют плаг и удалят файл. И да - я уже подобное видел. Фантазировать на пустом месте мне сейчас не приходится Crying or Very sad Тут имхо тока два варианта - либо СРАЗУ писать поверх плага с открытым таким "неполноценным" файлом, что найдены ошибки, мол, переключайтесь в режим CTRL+2, чтобы их все увидеть. Либо всё же считать подобное не ошибкой, а формировать втихую тег-заглушку - как корневой элемент. И конечно же второе предпочтительнее, неужели нет?

olegvsk wrote:
У меня XPath используется для фильтрации тэгов, т. е. служит предикатом запроса. С индексами в пути такой фильтр работать не будет.

Ок, мы знаем, что XPath давно известный язык запросов к элементам xml или xhtml документа. Также как SQL, XPath является декларативным языком запросов. Чтобы получить интересующие данные, необходимо всего лишь создать запрос, описывающий эти данные. Всю «черную» работу за вас выполнит интерпретатор языка XPath. И да, в нем есть вариант этого XPath со скобочками [...] и без. Просто они преследуют разные цели))) Когда я копирую себе ссылку на выбранный элемент - я с вероятностью в 90% хочу увидеть/найти/сохранить именно выбранный элемент, а не всё его подобие. Ибо если я скопирую ВАШ вариант XPath для указанного мной примера /LIST_OF_PERSONS/DATA/PASSPORT/SERIJA и воткну его в спецПО, которое заточено на поддержку и работу среди всех загруженных в него XML, чтобы выполнить поиск НУЖНОГО МНЕ второго элемента - то я получу ВСЕ элементы. Согласитесь, что УДАЛИТЬ ненужные скобочки мне будет куда-как проще (ЕСЛИ вдруг я на самом деле преследовал целью выбрать ВСЕ схожие теги из структуры XML), нежели чем добавлять их, ТОЧНО не зная - а на каком по порядку следования схожем(pattern-matching specification) теге находится нужный мне элемент Rolling Eyes . Но чаще нужно именно точечное действие после копирования - т.е. получение именно из ....дцатого элемента искомого значение. И тогда это значит, что из /LIST_OF_PERSONS/DATA[2]/PASSPORT/SERIJA мне вроде как проще получить /LIST_OF_PERSONS/DATA/PASSPORT/SERIJA, чем обратное преобразование, особенно когда я не знаю эту ...дцатость, это число 2 в моем примере. Так может тогда разрешить это противоречие простым как мир способом - сделать ДВА варианта копирования? Первый вариант - точное следование иерархии и для моего примера оно даст /LIST_OF_PERSONS/DATA[2]/PASSPORT/SERIJA. И второй вариант - для выборки подобия и для моего примера оно даст /LIST_OF_PERSONS/DATA/PASSPORT/SERIJA, ну т.е. то, что уже сейчас и есть. И с фильтром тогда становится понятно - по какому XPath он работает: по выборке подобия.

olegvsk wrote:
Поскольку комментарии форматом JSON не описаны, трудно формализовать, что именно нужно прощать, у каждого может быть свой вариант дополнения формата.

Поэтому я и написал сразу:
Quote:
Понятно, что список "ошибок", подобных этой, еще тока будет наполняться, но надо же с чего-то начинать)))

Не может же быть такого, чтобы плагин работал ЛИШЬ и ТОЛЬКО для четко формализованных и целиком безгрешных по формату JSON файлов.


Last edited by Destiny on Mon Mar 21, 2022 12:31; edited 7 times in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group