:: Visual Foxpro, Foxpro for DOS
Beautyfy для XML на VFP
rvc44

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Добрый день!

Коллеги, никто простенькую Beautyfy для XML на VFP не писал?
Возникла необходимость развернуть построчно XML-файл, сформированный в одну длинную строку,
т.е. расставить возвраты каретки и переносы строк 0x0D и 0x0A после окончания каждого тега
и сделать отступы по 2 пробела или 1 табуляции у каждого вложенного блока.
Задача, в принципе решаемая. Понятно, как её делать. Но очень не хочется изобретать велосипед.
Ведь когда в VFP формируешь XML-файл вот таким образом:
...
** Дата выдачи исполнительного документа
* <fssp:IdDocDate>2018-07-11</fssp:IdDocDate>
lcFsspIdDocDate = "2018-07-11"
oIdDocDate = oInlineXML.CreateElement("fssp:IdDocDate")
oIdDocDate.Text = lcFsspIdDocDate
oIId.AppendChild(oIdDocDate)
** Номер экземпляра исполнительного документа
* <fssp:IDCopy>2</fssp:IDCopy>
lcFsspIDCopy = "2"
oIDCopy = oInlineXML.CreateElement("fssp:IDCopy")
oIDCopy.Text = lcFsspIDCopy
oIId.AppendChild(oIDCopy)
...
то возврат каретки и перевод строки после каждого нового элемента не вставляются.
Возможно, сужествует какая-то инструкция для их вставки по типу:
oInlineXML = CREATEOBJECT("MSXML2.DOMDocument")
* Create a procesing instruction.
* <?xml version="1.0" encoding="utf-8"?>
lcInlineTarget = "xml" && oNewPI.Target
lcInlinePItext = "version='1.0' encoding='utf-8'"
oNewInlinePI = oInlineXML.CreateProcessingInstruction(lcInlineTarget, lcInlinePItext)
* Add the processing instruction node to the document.
oInlineXML.AppendChild(oNewInlinePI);
После вставки в начале XML procesing instruction, перед началом следующего корневого элемента автоматически вставляется 0x0D и 0x0A.
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
oWriter = CreateObject("MSXML2.MXXMLWriter.6.0")
oWriter.indent = .T.
oReader = CreateObject("MSXML2.SAXXMLReader.6.0")
oReader.contentHandler = m.oWriter
oReader.putProperty("http://xml.org/sax/properties/lexical-handler", oWriter)
cXML = [<?xml version="1.0" encoding="utf-8"?><root><i><u><j>ФФФ</j></u><f/><f>ЧЧЧ</f></i><i><g>ggg</g><h><j>123</j></h></i></root>]
oReader.parse(m.cxml)
? oWriter.output

P.S. oReader.parse принимает и DOM объект, не только строку.


------------------
WBR, Igor




Исправлено 1 раз(а). Последнее : Igor Korolyov, 05.08.18 16:13
Ratings: 0 negative/1 positive
Re: Beautyfy для XML на VFP
rvc44

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Спасибо!
А можно еще такой командой:

$ cat GetRequestResponse.xml | iconv -f cp1251 | xmllint --format - > GetRequestResponse.xml.txt
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Ну да, на VFP самое оно - линуксовые утилиты в шелл-скрипте пользовать


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
rvc44

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Игорь, так была же на просторах сети инструкция, как под Wine запускать фокс.
Надо поискать, может где-то даже ссылочка осталась.
Там всего-то нужно отказаться от использования специфических ActiveX, таких как OcxToolbar и прочие.

Кстати, все знают, что в этом году разработчики Microsoft Terminal Server реализовали возможность запускать приложения в браузере через HTML5. Это несомненно вдохнёт жизнь во многие старые качественные разработки. Революционная вещь!
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Что-то не нашел ссылок про Microsoft Terminal Server + HTML5...
Это как? Формы приложения будут на лету преобразовываться в HTML5 ?

А в некачественные разработки не вдохнёт жизнь? Качественные разработки не у всех есть...
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
of63
Качественные разработки не у всех есть...

Качественные тоже есть, но отдавать "в люди" жалко - "такая скотина нужна самому". \m/ [sm128]
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
of63
Формы приложения будут на лету преобразовываться в HTML5?
А что, терминальный сервер когда-либо что-либо во что-то этакое "преобразовывал"? Он тупо гоняет снимки экрана и мыше-клавиатурный ввод - теперь и с HTML5 клиентом, а не только с десктопным приложением "удалённый рабочий стол".
rvc44
Это несомненно вдохнёт жизнь во многие старые качественные разработки.
Да, это печально. Легаси ещё дольше будет терзать и пользователей и разработчиков...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Аа, т.е. просто не надо винды с её RDP, а можно из планшетного браузера попадать в виндовый TS-сервер? Я-то подумал, что обьекты на форме (фокса) будут преобразовываться в похожие поля ввода на веб-странице, как обьекты(?) HTML...

Интересно, как будет работать масштабирование в странице браузера, в которой будет работать удаленное приложение? Можно ли будет увеличивать "Легаси"-программу 800*600 в более многопиксельное окно, в котором работает браузер... Кстати, недавно как раз говорили про то, как смотреть программу 800*600 на 4К мониторе.

(что такое "Легаси" - это старые некачественные разработки? или просто старые? или просто некачественные? новые разработки все качественные? они уже не "Легаси"?)
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
rvc44

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
of63
Что-то не нашел ссылок про Microsoft Terminal Server + HTML5...

docs.microsoft.com

docs.microsoft.com

docs.microsoft.com

Насчет масштабирования - поддерживается! Крутишь колёсиком и шрифты в разрешении 800*600 увеличиваются!

P.S.: Если будете сильно мышь насиловать по хребту, то шрифты будут несколько размытые!
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Пока недопилено для планшетов (на 07/20/2018):
""
What you'll need to use the web client
•For the web client, you'll need a PC running Windows, macOS, ChromeOS, or Linux. Mobile devices are not supported at this time.
•A modern browser like Edge, Internet Explorer 11, Google Chrome, Safari, or Mozilla Firefox (v55.0 and later).



Исправлено 1 раз(а). Последнее : of63, 29.11.18 14:51
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
of63
Аа, т.е. просто не надо винды с её RDP
Да, и просто ничего "устанавливать" не надо - ну кроме браузера, который и так уже есть в практически любой пользовательской ОС.
of63
из планшетного браузера
Пока нет.
of63
(что такое "Легаси" - это старые некачественные разработки? или просто старые? или просто некачественные? новые разработки все качественные? они уже не "Легаси"?)
Это "устаревшие" программы. Таковой любая программа становится в тот момент, когда принимается решение о её переписывании - по отношению к "новоделу". Качество тут как таковое не имеет значения. Просто как правило для устаревших программ качество кода очень низкое, что собственно говоря и не позволяет доделывать/модернизировать программу, а требует её переписывания. Качество собственно работы программы может быть и вполне себе нормальным. Просто невозможность или огромная трудность при введении новых функций (в т.ч. и банально "свежего" интерфейса) заставляет выкинуть старый код, а не включить его в обновлённую версию системы.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Igor Korolyov
Это "устаревшие" программы. Таковой любая программа становится в тот момент, когда принимается решение о её переписывании - по отношению к "новоделу".

В принципе, можно продекларировать, что ЛЮБОЙ НОВОДЕЛ будет полным отстоем. Например, других новоделов мне так и не удалось увидеть.

"Хотите верьте, хотите нет, но даже у тигров на глазах были вот такие слезы!"

Думаю, что в данном случае моя аргументация ничем не хуже той, что была приведена выше - "хотите верьте, хотите нет".


P.S. Сейчас вот передаю по локальной сети пару мегабайт dbf-файлов для встраивания из одного рабочего места в другое. APP-шка чуть меньше 1 Мб. Индексы тоже не более 1 Мб. Ну, понятное дело, что скорость работы можно охарактеризовать как "почти мгновенно" во всех режимах. Также ясное дело, что при надобности из dbf без проблем можно сформировать хоть любой JSON, если вдруг кому-то влом принимать данные в формате DBF, "потому что некошерно". Приложение "делает" немало и имеет удобный интерфейс (по мнению тех, кто работал только в винде и MS-офисе - и на этот раз это юзеры "не от сохи").

Думаю, что на каком-нибудь POSTGRES (или как там его) все цифры надо будет увеличить то ли в 100, то ли в 1000 раз. Ну, насчет количества глюков в таком софте вообще промолчу, а паки того стоимости ежемесячных отчислений заказчика на поддержку такого "шедеврального новодела". :xixi:

Спрашивается, что же считать отстоем?

По-моему, вопрос риторический. [sm128]
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
leonid

Сообщений: 3204
Откуда: Рига
Дата регистрации: 03.02.2006
Simple777
Приложение "делает" немало и имеет удобный интерфейс (по мнению тех, кто работал только в винде и MS-офисе - и на этот раз это юзеры "не от сохи").


В общем
Simple777
Пипл хавает
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Таки да. [sm128] Притом и альтернативы нет пока.
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Simple777
альтернативы нет пока.
Этим всё сказано

Simple777
В принципе, можно продекларировать, что ЛЮБОЙ НОВОДЕЛ будет полным отстоем
Продеклармировать можно всё что угодно Г*на хватает как среди программ написанных вчера, так и среди программ написанных 20 лет назад. Так же как и вполне добротного софта. Не думаю что соотношение серьёзно меняется со временем.
Но если взять ПО примерно одного качества, то современные технологии позволяют его гораздо легче, дешевле и надёжнее сопровождать - т.е. вносить изменения и успевать за "пожеланиями" клиентов.

"Какой-нибудь" постгрес сам бесплатен, работает на бесплатной ОС, может быть размещён в "облаке" (что в принципе уже позволяет уволить сисадмина и продать свой собственный сервер и платить на порядок меньше за такие же "услуги"), без проблем работает с любыми современными технологиями - хоть десктопными программами, хоть веб-приложениями писанными на куче современных, точно так же бесплатных систем разработки.

Что нам предлагает фокс? Довольно дорогая IDE, нужда в винде (при том крайне желательно СТАРОЙ винде - XP самое то для фокса, всё что новее уже "не совсем") , отсутствие возможности размещения в облаке (ну, точнее, весьма большая сложность и дороговизна такового решения) и работы через веб (а значит и с мобильных устройств). Плюс к тому малое количество специалистов способных сопровождать систему. И если среди 1000 сишников или джавистов на рынке вполне можно найти с десяток весьма крутых и с полсотни адекватных, то среди десятка фокспрошников найти себе спеца... И не глубоко пенсионного возраста - которому вообще на всё пофиг Это тоже проблема. Впрочем, сейчас зачастую компании выгоднее покупать не собственно ПО, и тем более не содержать свою команду разработчиков, а пользоваться "услугами ПО".
FPD предлагает ещё меньше, конечно же


------------------
WBR, Igor




Исправлено 1 раз(а). Последнее : Igor Korolyov, 01.12.18 00:12
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Ну... никто не отрицает реалии, каковыми они сложились на сегодняшний день. "Не будем плакать над пролитым молоком".

Но...

Во-первых, пусть "кто-нибудь" сделает "что-нибудь", чему "пока нет альтернативы". На первый, второй рассчитайсь! \m/ Молчим? Оттож. [sm128]

Во-вторых. В здравых на первый взгляд рассуждениях мы часто упускаем важный момент: не надо сравнивать кита, слона и орла. Каждый "крут" в своей стихии. Любая информационная система "в общем случае" начинается с порождения первичных документов (можно и как-нибудь иначе обозвать - не обязательно именно "первичный документ"). Первичные документы обычно порождаются на самом низовом уровне "юзер-компьютер". На этом низовом уровне свои "правила игры". И на мой взгляд такие средства как FoxPro (в том числе даже и FPD, которому не обязательно нужна WIN XP, хотя гемор с х64 "доставляет" - "но кто же виноват"?) идеально вписываются в эти правила игры. А вот далее можно "порожденную" инфу передавать куда угодно на вышестоящие уровни информационной системы.
Мы же по своему обыкновению привыкли на реактивном самолете и границы охранять, и пожары тушить, и скотину возить, и поля обрабатывать для борьбы с вредителями сельского хозяйства. Но "каждый должен быть употреблен на своем месте". Вот эту непреложную истину мы частенько забываем. [sm128]



Исправлено 1 раз(а). Последнее : Simple777, 01.12.18 06:40
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> современные технологии позволяют его гораздо легче, дешевле и надёжнее сопровождать - т.е. вносить изменения и успевать за "пожеланиями" клиентов.

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

- не уверен, что "современные технологии" останутся также поддерживаемыми через 20 лет, если тенденция - не поддерживать старые, довольно удачные инструменты, типа VFP

- не уверен, что со смертью разраба (или конторы, которая прогу поддерживает) программу вообще возможно "поддерживать", на чем бы она не была написана. Разобраться с морем сущностей (и неизбежно со всеми их тонкостями и костылями) надо столько же человекочасов, сколько ее создавали. Ну поделенному на Пи, т.к. хотябы сущности уже созданы, моя практика показывает, что разобраться за разумное время (год-два-три), чтобы начать сопровождать, недостаточно.

- не уверен, что отдаться на аутсорсинг (конторе, занимающейся созданием и сопровождением) практичнее, чем местному разрабу. Риск одинаково велик, что сдохнет первым разраб, или аутсорс-контора. Есть подозрение, что аутсорс-контора также пользуется услугами времянщиков, таких же одиноких сопровождальщиков. Имею ввиду небогатые проекты, конечно, а разные банчики, фондики.


> И если среди 1000 сишников или джавистов на рынке вполне можно найти с десяток весьма крутых и с полсотни адекватных
Я не видел весьма крутых, адекватных, может, видел (язык не важен). Они за местные копейки не работают, сразу идут на врага, работать
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
leonid

Сообщений: 3204
Откуда: Рига
Дата регистрации: 03.02.2006
Simple777
не надо сравнивать кита, слона и орла.

Я бы в этот ряд добавил бы еще кишечную палочку.
Ratings: 0 negative/0 positive
Re: Beautyfy для XML на VFP
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
"О!.. Как это тонко, месье!.." :hi:
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 29 pasha_usue  (Гостей: 28)

© 2000-2024 Fox Club 
Яндекс.Метрика