powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Реализация XML в M-системе
13 сообщений из 13, страница 1 из 1
Реализация XML в M-системе
    #33262935
ibnTeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли наработки по этому поводу?

Вот сделал подходящую структуру:

<document name="document_1">
<title>Document 1</title>
<data id="1" maxlength="1000">
Text <b>bold</b> text.
</data>
</document>

s ^document("$last")=2
s ^document("@name")="document_1"
s ^document(1,"title")="Document 1"
s ^document(2,"data","$last")=3
s ^document(2,"data","@id")=1
s ^document(2,"data","@maxlength")=1000
s ^document(2,"data",1,"#text")="Text "
s ^document(2,"data",2,"b")="bold"
s ^document(2,"data",3,"#text")=" text."

Только не представляю насколько будут тяжелы операции вставки узла в произвольное место (реализация и время исполнения), сложность реализации навигации по документу (реализация осей навигации XPath), сложность создания индексов вглубь данных (наподобие <xsl:key name="b" match="//b" use="."/>), организация асболютной адресации (что-то вроде GUID-ID, "~2~data~2~" не подойдет, т.к. нужный узел может быть отодвинут после получения адреса узла).

ЗЫ: M-язык я только начал изучать на M3-Lite
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33262943
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,

Взгляните на документацию Cache':
XML и Web-сервисы .

Можете скачать однопользовательскую версию Cache' и попробовать реализовать нужный Вам функционал.

Вадим
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33262944
ibnTeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VadimFДобрый день,

Взгляните на документацию Cache':
XML и Web-сервисы .

Можете скачать однопользовательскую версию Cache' и попробовать реализовать нужный Вам функционал.

Вадим

Вадим, это конечно интересно, но на данном этапе хочу разобраться с возможностями старого доброго MUMPS для лучшего понимания этой системы.
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33263038
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понимаю, какой смысл сейчас разбираться со старым добрым MUMPS...
Большая часть систем на MUMPS, которые продолжаютс развиваться, уже переведена на Cache'.

Если больше интересует MUMPS посмотрите на eXtc .


Вадим
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33263048
ibnTeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VadimFНе очень понимаю, какой смысл сейчас разбираться со старым добрым MUMPS...
Большая часть систем на MUMPS, которые продолжаютс развиваться, уже переведена на Cache'.

Если больше интересует MUMPS посмотрите на eXtc .


Вадим

Вадим, вы конечно правы, лучше направить усилия на изучение возможностей Cache. MUMPS же сейчас лучше изучить c теоретической точки зрения для лучшего понимания как работает сама Cache :) Многие вещи там устарели уже на пару десятков лет, но сам принцип обработки данных меня просто поразил. С хорошим инструментом это идеальная платформа для большинства задач.
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33263074
LittleCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ibnTeo
Вадим, вы конечно правы, лучше направить усилия на изучение возможностей Cache. MUMPS же сейчас лучше изучить c теоретической точки зрения для лучшего понимания как работает сама Cache :) Многие вещи там устарели уже на пару десятков лет, но сам принцип обработки данных меня просто поразил. С хорошим инструментом это идеальная платформа для большинства задач.
Нельзя ли пояснить, что там устарело ? Просто MUMPS (нынче М) - это стандарт, а Cache, просто одна из его реализаций, наверное самая продвинутая, но и похоже самая дорогая. На мой взгляд, нужно исходить из поставленной задачи. Если хочется использовать всенавороты Cache типа CSP, объектов, то никуда не деться, но если собираешся писать на стандартном М, если хочешь сэкономить и готов многое сделать своими руками, а не полагаться на чужие готовые решения, то есть и другие реализации М (GT.M под Linux бесплатен, M3Lite - под Windows). Удачи !
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33267644
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LittleCat
Если хочется использовать всенавороты Cache типа CSP, объектов, то никуда не деться, но если собираешся писать на стандартном М, если хочешь сэкономить и готов многое сделать своими руками, а не полагаться на чужие готовые решения, то есть и другие реализации М (GT.M под Linux бесплатен, M3Lite - под Windows). Удачи !

При всех наворотах в Cache, которые сделаны, кстати на том самом стандартном M с добавлением нескольких внутренних функций, она остается реализацией M-языка. Так что писать на чистом M можно и в ней. Размерность, конечно, но другие не сильно меньше.
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33267650
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimFМногие вещи там устарели уже на пару десятков лет, но сам принцип обработки данных меня просто поразил. С хорошим инструментом это идеальная платформа для большинства задач.
Меня тоже интересует - что же это там так сильно устарело? Особенно, если речь идет о чистом языке. А отсутствие инструментария - вечная беда M-систем. Приходится ваять самим.
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33267652
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ibnTeo
<document name="document_1">
<title>Document 1</title>
<data id="1" maxlength="1000">
Text <b>bold</b> text.
</data>
</document>

s ^document("$last")=2
s ^document("@name")="document_1"
s ^document(1,"title")="Document 1"
s ^document(2,"data","$last")=3
s ^document(2,"data","@id")=1
s ^document(2,"data","@maxlength")=1000
s ^document(2,"data",1,"#text")="Text "
s ^document(2,"data",2,"b")="bold"
s ^document(2,"data",3,"#text")=" text."

Я бы предложил более удобную структуру:

^doc(DocId)=DocName~title
^doc(DocId,"data",1)="1000~bold"
^doc(DocId,"data",1,"text",1)="..."
^doc(DocId,"data",2)="..."
^doc(DocId,"data",2,"text",1)="..."
...
Это навскидку. Если более конкретно - нужно смотреть.

Вставка узлов - дело простое. Только не забывайте о сортировке.
В случае обязательного сохранения последовательности - используйте
числовые индексы, тогда вставка в конкретное место между двумя индексами
реализуется просто: i3 = i2 - i1 / 2. Хотя со строковыми тоже просто.
Это же M, здесь с данными можно делать все, что душе угодно.
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33268342
Сашок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33269911
ibnTeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Навскидку, что из доки по старому M успел узнать:
- ввод данных с терминала (Read) нужен лишь для совсем древних программ;
- безприоритетные операторы (хотя тут скажется на совместимости);
- функции работы с датами есть встроенные? помню проблемы были в начале века, т.к. программисты поленились перевести текстовое представление дат 'yy-mm-dd' во что-либо более удобное (видимо не было функций, свои писать не хотели), да и $h выглядит как костыль;
- задержка по остатку секунды (или уже давно такого нет???);

В Cache еще не углубился (так и не смог заставить работать нормально под w2k3, придется таки ставить w2k), может там уже многие проблемы решили (и добавили новых :-) ).
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33270432
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ibnTeoНавскидку, что из доки по старому M успел узнать:
- ввод данных с терминала (Read) нужен лишь для совсем древних программ;

В Cache Read - используется для любого чтения (файлы, сокеты...).
ibnTeo
- безприоритетные операторы (хотя тут скажется на совместимости);
Это стандарт MUMPS. Нужно пользоваться скобками.
ibnTeo
- функции работы с датами есть встроенные? помню проблемы были в начале века, т.к. программисты поленились перевести текстовое представление дат 'yy-mm-dd' во что-либо более удобное (видимо не было функций, свои писать не хотели), да и $h выглядит как костыль;
Смотря что требуется. В Cache есть функций для работы с датами.
См. $ZDATE, $ZDATEH...
ibnTeo
- задержка по остатку секунды (или уже давно такого нет???);
HANG 0.5 работает...
...
Рейтинг: 0 / 0
Реализация XML в M-системе
    #33270619
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ibnTeo- задержка по остатку секунды (или уже давно такого нет???)
Это Вы наверно с msm спутали.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Реализация XML в M-системе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]