XML в программировании

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
Lepsik
Житель
Сообщения: 522
Зарегистрирован: 17 фев 2003, 18:34
Откуда: Berlin
Контактная информация:

XML в программировании

Сообщение Lepsik »

--Подкинь по xml хорошие линки, желательно на русском (плохие я и сам найду в поисковике). Я полный профан в этом.

хороших описаний, охватывающих все аспекты использования XML нет.

всего имеется 4 методологии использования:

1. стандарт для WEB а-ля форма html

http://www.citforum.ru/internet/xml.shtml

2. средство обмена данными для SQL-servers

http://www.sql.ru/articles/articles.aspx?g=XML&s=0

3. in-memory database

там же. - чаще всего используется для создания стандартов типа IPTC
http://www.iptc.org или хранения неменяемых словарей, зарезервированных слов.

например как стандарт IPTC - Adobe хранит в TIFF файлах разновидность XML - XMP.

http://www.adobe.com/products/xmp/main.html

4. средство хранения логики программы
описания не видел - сам использую
Аватара пользователя
Marmot
Графоман
Сообщения: 39274
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: XML в программировании

Сообщение Marmot »

Lepsik писал(а):всего имеется 4 методологии использования:
Ты там забыл написать одно очень важное выражение: IMHO
Я тут органами меряться не буду, но ты уж мне поверь...
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Lepsik,
Спасибо за линки.
Что будет не понятным - спрашу.
Аватара пользователя
Lepsik
Житель
Сообщения: 522
Зарегистрирован: 17 фев 2003, 18:34
Откуда: Berlin
Контактная информация:

Re: XML в программировании

Сообщение Lepsik »

Marmot писал(а):
Lepsik писал(а):всего имеется 4 методологии использования:
Ты там забыл написать одно очень важное выражение: IMHO
Я тут органами меряться не буду, но ты уж мне поверь...
в людей и их мнения я не верю. обьжекшн
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Re: XML в программировании

Сообщение папа Карло »

Lepsik писал(а):в людей и их мнения я не верю. обьжекшн
если принять то, что ты также не веришь в двойные стандарты (хорошая черта человека имхо :) ) то мы твоим 4ем пунктам тоже не верим ;)
Аватара пользователя
Lepsik
Житель
Сообщения: 522
Зарегистрирован: 17 фев 2003, 18:34
Откуда: Berlin
Контактная информация:

Re: XML в программировании

Сообщение Lepsik »

папа Карло писал(а):
Lepsik писал(а):в людей и их мнения я не верю. обьжекшн
если принять то, что ты также не веришь в двойные стандарты (хорошая черта человека имхо :) ) то мы твоим 4ем пунктам тоже не верим ;)
я не призывают верить мне. Если кто-то с многозначительным видом кидает фразы "ты уж поверь мне" то для этого должны быть причины.

p.s. Я, по крайней мере, ссылки привел.
Аватара пользователя
Marmot
Графоман
Сообщения: 39274
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: XML в программировании

Сообщение Marmot »

Lepsik писал(а): Если кто-то с многозначительным видом кидает фразы "ты уж поверь мне" то для этого должны быть причины.

p.s. Я, по крайней мере, ссылки привел.
Чел просил ссылок по русски, у меня таких нет, я по русски такие вещи давно не читаю...
Зато есть вот эти:

http://www.w3.org/
http://www.oasis-open.org/home/index.php
http://www.xml.com/

Если там почитать, то можно обнаружть, что фраза "всего имеется 4 методологии использования" мягко говоря, не совсем корректна.
Я считаю что не надо делать такие безапелляционные заявления когда пишешь человеку только начинающему изучать XML и таким образом вводить его в заблуждение.

BTW, XMP основан на W3C RDF и назвать эту технологию "in-memory database" можно только от очень поверхностного знакомства с ней.
Аватара пользователя
Lepsik
Житель
Сообщения: 522
Зарегистрирован: 17 фев 2003, 18:34
Откуда: Berlin
Контактная информация:

Сообщение Lepsik »

--- фраза "in-memory database" принадлежит не мне, а является общеупотребительным термином.

Если кому-то это неизвестно, это еще не значит что этого не существует.


И с какой стати справочник не может быть DB ?
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

Lepsik писал(а):И с какой стати справочник не может быть DB ?
конечно может! :) в частном случае например ;)
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Lepsik!

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

Кака-така "логика программы", да ещё в хмл?
ilid
Завсегдатай
Сообщения: 255
Зарегистрирован: 19 мар 2003, 13:31

Сообщение ilid »

да уж фраза века - логика программы...
Аватара пользователя
Lepsik
Житель
Сообщения: 522
Зарегистрирован: 17 фев 2003, 18:34
Откуда: Berlin
Контактная информация:

Сообщение Lepsik »

--нухау, конечно, не прошу раскрыть, но хоть скажи, что имеешь ввиду.

Кака-така "логика программы", да ещё в хмл?


формулы храню. У меня например весь мат. аппарат преобразования величин СИ построен. Конструируешь трехэтажную формулу кол-во бактерий на кг. земли деленное на года и помноженное концентрацию хлорида из расчета кг на литр. И потом спокойно конвертируешь юниты.

на каждый компонент программы ветка с описание интерфейса, локализацией, юзеровские настройки, права доступа.

Уже классы редко отдельно пишу.

При стандартном подходе к каждой таблице в базе пишется класс с методами доступа. А если есть форма, куда передаются данные, то еще пара развесистых методов save/load

XML позволяет и класс (несколько примитивно конечно) заменять и за счет общих методов работу с DB упростить. В нем же описание таблиц/полей настроек и прочего хранить.

В результате текста остается мало, немалая часть перекочевывает в XML и позволяет делать добавления без программирования
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Да, понятно, спасибо.
Не понятно, зачем имено в хмл. Там тебе и парсер нужен, да и по людски сие ascii-произведение читается не очень-то. Правишь ты такой универсальный "настроечный" файл, как я понимаю, руками, в нотепаде, например. Там между грудой угловых скобок "вбиваешь" действительно нужные строчки.

Так почему, не использовать для хранения всего ЭТОГО более привычные аля-ini файлы?
Я, например, давно так и делаю. Фрагмент ниже это и ответ на твой вопрос (если, конечно, это тебе нужно, и нужно в таком ключе)относительно преобразования (мапинга) лексем диалектов sql.

Вот конфигурационный файл одного из моих приложений ( "объектно-ориентированный"-ini файл, шучу, конечно):

Код: Выделить всё

; file lang.ini
[STANDARD]	 ;Borland drivers for DBase, Paradox
    [BDETYPES] 
        ftString	= string  	        ;Character or string field     
        ftSmallint	= integer          ;16-bit integer field          
        ftInteger 	= integer          ;32-bit integer field          
        ftWord	= integer          ;16-bit unsigned integer field 
        ftBoolean	= integer          ;Boolean field                 
        ftFloat	= float  	        ;Floating-point numeric field  
        ftMemo	= memo           ;Text memo field 
    [SQLTYPES]
        string	= CHAR 
        integer	= INTEGER 
        memo	= BLOB(10,1) 
        float		= NUMERIC(12,6) 
    [LANG]
       CONVERT	= CAST(%f AS %t)
       integer	= float 
       memo	= no convert
 
 [MSSQL]	                  ;Borland drivers for Microsoft SQLServer
    [BDETYPES]  = STANDARD
    [SQLTYPES]  = STANDARD
        memo	= TEXT 
        float		= NUMERIC 
        autoinc	= COUNTER 
    [LANG]
        CONVERT	= CAST(%f AS %t)
        string	= memo,integer, float
        integer	= float, string
        float		= integer, string 
        memo	= string 

[SQL Server] = MSSQL ;Microsoft ODBC drivers for Microsoft SQLServer
    [BDETYPES]
        ftBCD	= float
    [SQLTYPES]
    [LANG] 
       CONVERT = CONVERT(%t, %f)
; end of file lang.ini
Это пример конфигурационного файла модулей доступа к данным для интерпретации лексем диалектов SQL.
Здесь так же "по веткам"..., так же можно и формулы, и т.д.
Парсер, сам понимаешь, очень простой получается. Можно переопределять и дополнять "секции" и их ключи (у тебя - это теги).
Есть "ООП-наследование с полиформизмом вместе взятые" (это шутка).
Посмотри, мож сгодится?
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Да, забыл, там в теги "подсекций" должны иметь тильду-префикс.
Аватара пользователя
Lepsik
Житель
Сообщения: 522
Зарегистрирован: 17 фев 2003, 18:34
Откуда: Berlin
Контактная информация:

Сообщение Lepsik »

--Не понятно, зачем имено в хмл.

а альтернатив практически нет

--Там тебе и парсер нужен, да и по людски сие ascii-произведение читается не очень-то.

Вообще-то есть два метода работы с xml-документами. Я пользую DOM. А в программе Вся работа сводится к доступу в нужный момент к нужному ноду или списку.

vector<TXelm *> lst = dom->root->Select(NODE_TAG_Database);

Изображение


--Правишь ты такой универсальный "настроечный" файл, как я понимаю, руками, в нотепаде, например.

Смеешся что-ли ? А редакторы на что ? Можно и в ноутпаде, конечно, но это редкий случай. Мегобайтный файл умаешься так редактироавать.

--Так почему, не использовать для хранения всего ЭТОГО более привычные аля-ini файлы?

От них все отходят и мелкософт в том числе. Все документы теперь даже в офисе будут иметь xml структуру

Кроме того в xml достаточно легко хранить бинарные данные

--Посмотри, мож сгодится?

Это было популярно лет 10 назад :)


бесплатный редaктор
http://www.lepsik.com/tool/EXML.RAR
Закрыто