Телескопы покупают здесь


A A A A Автор Тема: Посовесуйте XML парсер  (Прочитано 5022 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Re: Посовесуйте XML парсер
« Ответ #20 : 01 Апр 2008 [21:43:30] »
Я уже определился. Будет XML. Осталось только определить формат записи
вроде:

<NAME>
Имя астероида
<NAME/>
<NUMBER>
Номер астероида
<NUMBER/>
...

Как лучше представить прямое восхождение и склонение ?
Еще хорошо бы DTD сделать. В этом собственно вопрос.
« Последнее редактирование: 01 Апр 2008 [21:47:48] от andyp »

Оффлайн LeftUser

  • *****
  • Сообщений: 30 840
  • Благодарностей: 988
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Посовесуйте XML парсер
« Ответ #21 : 02 Апр 2008 [17:34:41] »
Ну тогда уж что-то типа

<MyFormat Ver="1">
  <asteroid name = "...." ID="111" .........>
     <dop param1>...................</dop param1>     // для достаточно длинных строчных параметров
      ........
  </asterod>
  ...............
  ...............
</MyFormat>

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Re: Посовесуйте XML парсер
« Ответ #22 : 03 Апр 2008 [20:41:17] »
А прямое восхождение и склонение ?

datumn

  • Гость
Re: Посовесуйте XML парсер
« Ответ #23 : 03 Апр 2008 [20:50:00] »
Магия метаязыков - формул Бэкуса-Наура и т д здесь давно и сильно затуманивает суть дела. Не нужны в языках столько скобочек, угловых и т д. Начиная с HTML эта ветка информатики страдает дикой избыточностью и приверженностью никому не нужным традициям.

halx

  • Гость
Re: Посовесуйте XML парсер
« Ответ #24 : 03 Апр 2008 [22:50:58] »
Тут с Вами не соглашусь. Эта кажущаяся глупой избыточность не дураками придумана. Если бы не она было бы очень легко создавать ситуации приводящие к двусмысленности интерпретации кода при случайной или намереной ошибке в нём. Простой пример - известная хакерская атака CSS (code injection) - не портит функциональность кода при встраивании, но делает своё дело. А с другой стороны она же легко пресекается в зародыше простой заменой символов на их безвредные в контексте оригинального кода аналоги - всё благодаря "избыточности" HTML и JS.

Оффлайн lazyBSD

  • *****
  • Сообщений: 3 335
  • Благодарностей: 10
    • Сообщения от lazyBSD
Re: Посовесуйте XML парсер
« Ответ #25 : 04 Апр 2008 [00:03:14] »
Тут с Вами не соглашусь.
...
всё благодаря "избыточности" HTML и JS.
Это как понять?
/ссылка запрещена правилами форума/

halx

  • Гость
Re: Посовесуйте XML парсер
« Ответ #26 : 04 Апр 2008 [01:43:07] »
Элементарно. Чтоб что-то вставить, смотрим в сорс и видим типа <... var="val" ...> подсовываем в val типа "><script>...</script><"  Ну а ловим проверкой val'ов на скобки к примеру. И меняем их на &lt; &gt; Скобку можно минимум тремя способами нарисовать - избыточность. Наличие открывающих и закрывающих тэгов - избыточность. Сами кавычки - избыточность (некоторые ленивые дизайнеры знают, что значения нормально работают без кавычек).

Оффлайн LeftUser

  • *****
  • Сообщений: 30 840
  • Благодарностей: 988
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Посовесуйте XML парсер
« Ответ #27 : 04 Апр 2008 [11:37:44] »
А прямое восхождение и склонение ?

Думаю что оба параметра удобней выводить прям в double-ах, RA в часах и DEC в градусах, ну что-то типа

<RA val="12.263548506635"/>
<DEC val="36.4538264557838"/>

вообще очень удобно использовать для всего многообразия типов - CComVariant если будете писать с помощью микрасовтовского ATL, это удобная обертка над типом VARIANT.
Для времени я обычно всегда использую FILETIME, это структура из двух DWORD-ов, т.е. 64 бита инт. Это виндовый тип но очень удобный, там воемя отсчитывается с 1 января 1600 года с дискретностью 1/10000000 (дестимиллионная) секунды. Всегда удобно перевести в дату и время и наоборот. Сохранение я делаю в две части, ну типа:
<Time Hi="2847349837" Low="755636745"/> т.е. страший DWORD и младший. Конечно последнии версии парсеров стали поддерживать и тип int64 когда можно это значение сохранить одним махом. Но я использую старый вариант, надежней для совместимости.
« Последнее редактирование: 04 Апр 2008 [12:00:38] от LeftUser »

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Re: Посовесуйте XML парсер
« Ответ #28 : 04 Апр 2008 [15:50:26] »
OrbSearch -- Open Source проект, под GNU GPL, так что "микрасовтовский ATL" никак не покатит. :)
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн LeftUser

  • *****
  • Сообщений: 30 840
  • Благодарностей: 988
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Посовесуйте XML парсер
« Ответ #29 : 04 Апр 2008 [16:22:23] »
OrbSearch -- Open Source проект, под GNU GPL, так что "микрасовтовский ATL" никак не покатит. :)

О-о-о... Linux, это я както упустил. Ну чтож, в таком случае жизнь значительно усложняется и становится "веселой" :). Насколько знаю у xerces-а нет механизма типизации данных как в виндовом msxml, т.е. он может сохранять и читать только один тип данных - строчный. Соответственно все преобразования цифровые типы в строчные и обратно придется писать самому. Правда их не так уж и много с другой стороны. Достаточно поддержки целого числа (DWORD) и с плавающей точкой максимальной разрядности (long double).
Ну а сам формат данных на XML нафантазировать можно какой угодно, для этого сам XML и создан.

datumn

  • Гость
Re: Посовесуйте XML парсер
« Ответ #30 : 04 Апр 2008 [18:11:01] »
Тут с Вами не соглашусь. Эта кажущаяся глупой избыточность не дураками придумана. Если бы не она было бы очень легко создавать ситуации приводящие к двусмысленности интерпретации кода при случайной или намереной ошибке в нём. Простой пример - известная хакерская атака CSS (code injection) - не портит функциональность кода при встраивании, но делает своё дело. А с другой стороны она же легко пресекается в зародыше простой заменой символов на их безвредные в контексте оригинального кода аналоги - всё благодаря "избыточности" HTML и JS.

А я с Вами тоже не соглашусь. Допустим, мы находимся в рамках HTML, без JS и прочего - так покажите наглядно: как свойства кода на HTML помогают избежать нехороших ситуаций?

datumn

  • Гость
Re: Посовесуйте XML парсер
« Ответ #31 : 04 Апр 2008 [18:16:56] »
Я уже определился. Будет XML. Осталось только определить формат записи
вроде:

<NAME>
Имя астероида
<NAME/>
<NUMBER>
Номер астероида
<NUMBER/>
...

Как лучше представить прямое восхождение и склонение ?
Еще хорошо бы DTD сделать. В этом собственно вопрос.

Только дочитался. Вы так сильно любите XML :) Что же тэги закрываете настолько по-своему?  ;)

(не </name>, а <name/> и т д)

Оффлайн andypАвтор темы

  • *****
  • Забанен!
  • Сообщений: 2 539
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Re: Посовесуйте XML парсер
« Ответ #32 : 04 Апр 2008 [19:14:48] »
Я не специалист в XML. Поэтому и завел этот топик.

halx

  • Гость
Re: Посовесуйте XML парсер
« Ответ #33 : 04 Апр 2008 [22:14:24] »
Допустим, мы находимся в рамках HTML, без JS и прочего
Arkady, раз Вы настолько досканально разбираетесь в том где слэши ставить, спереди или сзади - вам не составит труда найти примеры в учебнике. На беспредметные споры и отвлечённые допущения о поведении сферических коней в вакууме нет времени.

datumn

  • Гость
Re: Посовесуйте XML парсер
« Ответ #34 : 05 Апр 2008 [09:24:56] »
Допустим, мы находимся в рамках HTML, без JS и прочего
Arkady, раз Вы настолько досканально разбираетесь в том где слэши ставить, спереди или сзади - вам не составит труда найти примеры в учебнике.

Примеры чего?

Оффлайн SF

  • *****
  • Сообщений: 516
  • Благодарностей: 8
    • Сообщения от SF
Re: Посовесуйте XML парсер
« Ответ #35 : 11 Апр 2008 [03:27:46] »
2Galaxy Master >> Не суть важно какой СУБД воспользоваться

Сталин - это Ленин сегодня.
Postgres - это GiST.
Он делался ради него и сначала даже не имел нынешнего SQL. Возможности такого индексирования привели к использованию Postgress не только в астрономии (Q3C), но и географии: PostGIS -> GRASS, QGIS etc.

Кто первый встал - того и тапки.

MySQL имеет родовой отпечаток "web-индексатора".
Его развивают, но ниша уже занята. А в "лёгких" решениях лучше SQLite, хочу в этом полностью совпасть с тем, что написал Stepa - SQLite иногда называют "SQLgrep-ом".

Про лохов и крутых парней читаем, например, у Гради Буча:
Так, на нижнем конце своеобразной биологической пирамиды находятся идиомы. Это обороты, специфические для языков программирования или программистских культур, и отражающие общепринятые способы выражаться [Определяющей характеристикой идиомы является то, что ее игнорирование или нарушение влечет немедленные социальные последствия: вы превращаетесь в йеху или, еще хуже, в чужака, не заслуживающего уважения]. Например, в CLOS не принято использовать подчеркивание в именах функций или переменных, хотя в Ada это дело обычное [60].

Вот по какой ерунде идёт водораздел. А у нас речь ведётся об инструментах.


2andyp >> Нет, не выполняют.

Тогда надо просто использовать строчную запись, разделённую на поля, в которых содержатся значения необходимой точности.
Это базовый способ. Например, команда sort имеет ключ -t, который задаёт field-separator. Вместе с ключами -n и -k можно отсортировать числовые значения в столбце, моментально определив минимум и максимум - Unix-удобства. А shell и awk - оба прописаны в POSIX (1) - имеют для field-separator-а переменные IFS и FS соответственно.
В таком формате хранится, например, географическая информация о населённых пунктах - "The data format is tab-delimited text", и авиационная (полезна списком METAR-метеостанций).

Вообще-то, всё упирается в unix way, хотя такие разговоры часто переходят в ругань с работающими в GNOME/KDE. Но если хочется написать именно Unix/Linux программу, надо... Эээ... Минимально для начала...

Посидеть несколько недель/месяцев без X11.
Читать Э.Немет, А.Робачевского, Advanced Bash-Scripting Guide, поработать с сигналами, pipes, подцепить свою программку к inetd, чего-нибудь демонизировать.
Пропитаться духом LSB и FHS, autoconf, через "rgrep [-li] ... /etc" понять где и почему правильные конфиги зимуют (хотя внимательное чтение FHS даёт много для самодисциплины, особенно если представить на NFS машины с процессорами разных архитектур). Это уровень приличного пользователя - в астрономии после наблюдений можно будет культурно - НЕ врукопашную - рассортировать, зажурналировать и записать с md5/sha1 на CD/DVD ночные FITS-данные.

И радактор vi, разумеется!!! Он тоже в POSIX и вообще главная проверка на вшивость.

После этого при написании счётных задач (да ещё в pure Unix) мысли о XML в голову не лезет. В крайнем случае основной код можно вызвать как подпрограммы/библиотеку из I/O-обвязки.

Хотя сейчас XML в астрономии пробуют применять:
http://vizier.u-strasbg.fr/doc/VOTable/
http://vizier.u-strasbg.fr/doc/astrores.htx
Но это обмен большими объёмами данныых. Причём скорее не между людьми, а между программами "для data mining".

(1) Что определяет POSIX, можно частично посмотреть здесь (для самого общего представления): ftp://ftp.funet.fi/pub/doc/posix/

P.S.
2Galaxy Master >> А тема вообще маньячная. Потому что странно, что девелопер софта сам не может определиться чем ему пользовать в СВОЕЙ разработке.

Девелопер не в пустыне живёт.
А в обсуждаемом случае - вообще в очень даже небольшой и специфической "астропопуляции".

P.P.S.
Писать убедительно не пытался: по моему мнению - дело бесполезное. Эпоха "раннего PC" - от появления 32-бит персоналок до появления приличных PDA/коммуникаторов разучила 90% community писать экономно, переносимо, сеть-/мультихост-ориентированно. Вот система GRASS ("по габаритам" это что-то вроде IRAF/MIDAS), смотрите screenshots: какое дома можно 3D гонять, и рядом на древнем уже наладоннике(!) портированная для "по грибы сходить". И много сейчас пишут подобных систем/приложений?
А вроде бы Unix всё тот же, даже "улучшенный". С XML-ем...

Оффлайн Galaxy Master

  • *****
  • Сообщений: 834
  • Благодарностей: 32
    • Сообщения от Galaxy Master
Re: Посовесуйте XML парсер
« Ответ #36 : 16 Апр 2008 [01:10:15] »
Посидеть несколько недель/месяцев без X11.
Читать Э.Немет, А.Робачевского, Advanced Bash-Scripting Guide, поработать с сигналами, pipes, подцепить свою программку к inetd, чего-нибудь демонизировать.
Пропитаться духом LSB и FHS, autoconf, через "rgrep [-li] ... /etc" понять где и почему правильные конфиги зимуют (хотя внимательное чтение FHS даёт много для самодисциплины, особенно если представить на NFS машины с процессорами разных архитектур). Это уровень приличного пользователя - в астрономии после наблюдений можно будет культурно - НЕ врукопашную - рассортировать, зажурналировать и записать с md5/sha1 на CD/DVD ночные FITS-данные.

И радактор vi, разумеется!!! Он тоже в POSIX и вообще главная проверка на вшивость.

У вас много своих законченных UNIX приложений, которые не стыдно показать? 
Или это еще один поток сознания в стиле #cat /dev/ass > /dev/head  ?  ;)

« Последнее редактирование: 16 Апр 2008 [02:19:52] от Galaxy Master »
Debian GNU/Linux

Оффлайн lazyBSD

  • *****
  • Сообщений: 3 335
  • Благодарностей: 10
    • Сообщения от lazyBSD
Re: Посовесуйте XML парсер
« Ответ #37 : 16 Апр 2008 [03:53:58] »
#cat /dev/ass > /dev/head
Мда...
Galaxy Master, в SQL несколько иной синтаксис.  И из под рута выйди. >:D
/ссылка запрещена правилами форума/

Оффлайн Galaxy Master

  • *****
  • Сообщений: 834
  • Благодарностей: 32
    • Сообщения от Galaxy Master
Re: Посовесуйте XML парсер
« Ответ #38 : 16 Апр 2008 [11:25:34] »
#cat /dev/ass > /dev/head
Мда...
Galaxy Master, в SQL несколько иной синтаксис.  И из под рута выйди. >:D

#cat /dev/ass > /dev/head - относился не к SQL, а к процитированному куску поста. Т.к. такой бред (который я цитировал у SF) можно написать или по-приколу или по некомпетентности. А и то и другое укладывается в "идеологию" рутовой шутки.  ;D
Debian GNU/Linux

Оффлайн lazyBSD

  • *****
  • Сообщений: 3 335
  • Благодарностей: 10
    • Сообщения от lazyBSD
Re: Посовесуйте XML парсер
« Ответ #39 : 16 Апр 2008 [13:13:19] »
Т.к. такой бред (который я цитировал у SF)
Отсутствие такого рода знаний, не говорит о их бредовости. ;)

Действитльно, абсолютно бесполезно что-то доказывать людям, которые, поставив линукс, мозги забыли на винде.
Для них, у vi, навсегда останется всего два режима. Первый - бибикает, второй - все портит. ^-^
/ссылка запрещена правилами форума/