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

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

<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
11.09.2005, 15:44
    #33262943
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация XML в M-системе
Добрый день,

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

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

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

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

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

Вадим

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

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


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

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


Вадим

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

При всех наворотах в Cache, которые сделаны, кстати на том самом стандартном M с добавлением нескольких внутренних функций, она остается реализацией M-языка. Так что писать на чистом M можно и в ней. Размерность, конечно, но другие не сильно меньше.
...
Рейтинг: 0 / 0
14.09.2005, 03:39
    #33267650
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация XML в M-системе
VadimFМногие вещи там устарели уже на пару десятков лет, но сам принцип обработки данных меня просто поразил. С хорошим инструментом это идеальная платформа для большинства задач.
Меня тоже интересует - что же это там так сильно устарело? Особенно, если речь идет о чистом языке. А отсутствие инструментария - вечная беда M-систем. Приходится ваять самим.
...
Рейтинг: 0 / 0
14.09.2005, 04:01
    #33267652
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация XML в M-системе
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
14.09.2005, 11:41
    #33268342
Сашок
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация XML в M-системе
...
Рейтинг: 0 / 0
14.09.2005, 19:21
    #33269911
ibnTeo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация XML в M-системе
Навскидку, что из доки по старому M успел узнать:
- ввод данных с терминала (Read) нужен лишь для совсем древних программ;
- безприоритетные операторы (хотя тут скажется на совместимости);
- функции работы с датами есть встроенные? помню проблемы были в начале века, т.к. программисты поленились перевести текстовое представление дат 'yy-mm-dd' во что-либо более удобное (видимо не было функций, свои писать не хотели), да и $h выглядит как костыль;
- задержка по остатку секунды (или уже давно такого нет???);

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

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


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