Страница 1 из 4
XML в программировании
Добавлено: 04 июл 2003, 10:43
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. средство хранения логики программы
описания не видел - сам использую
Re: XML в программировании
Добавлено: 04 июл 2003, 17:27
Marmot
Lepsik писал(а):всего имеется 4 методологии использования:
Ты там забыл написать одно очень важное выражение: IMHO
Я тут органами меряться не буду, но ты уж мне поверь...
Добавлено: 04 июл 2003, 17:49
vg
Lepsik,
Спасибо за линки.
Что будет не понятным - спрашу.
Re: XML в программировании
Добавлено: 05 июл 2003, 22:02
Lepsik
Marmot писал(а):Lepsik писал(а):всего имеется 4 методологии использования:
Ты там забыл написать одно очень важное выражение: IMHO
Я тут органами меряться не буду, но ты уж мне поверь...
в людей и их мнения я не верю. обьжекшн
Re: XML в программировании
Добавлено: 05 июл 2003, 22:15
папа Карло
Lepsik писал(а):в людей и их мнения я не верю. обьжекшн
если принять то, что ты также не веришь в двойные стандарты (хорошая черта человека имхо

) то мы твоим 4ем пунктам тоже не верим

Re: XML в программировании
Добавлено: 05 июл 2003, 22:41
Lepsik
папа Карло писал(а):Lepsik писал(а):в людей и их мнения я не верю. обьжекшн
если принять то, что ты также не веришь в двойные стандарты (хорошая черта человека имхо

) то мы твоим 4ем пунктам тоже не верим

я не призывают верить мне. Если кто-то с многозначительным видом кидает фразы "ты уж поверь мне" то для этого должны быть причины.
p.s. Я, по крайней мере, ссылки привел.
Re: XML в программировании
Добавлено: 06 июл 2003, 13:20
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" можно только от очень поверхностного знакомства с ней.
Добавлено: 07 июл 2003, 11:39
Lepsik
--- фраза "in-memory database" принадлежит не мне, а является общеупотребительным термином.
Если кому-то это неизвестно, это еще не значит что этого не существует.
И с какой стати справочник не может быть DB ?
Добавлено: 07 июл 2003, 12:15
папа Карло
Lepsik писал(а):И с какой стати справочник не может быть DB ?
конечно может!

в частном случае например

Добавлено: 11 сен 2003, 16:42
vg
Lepsik!
Действительно не нашёл
4. средство хранения логики программы
описания не видел - сам использую
нухау, конечно, не прошу раскрыть, но хоть скажи, что имеешь ввиду.
Кака-така "логика программы", да ещё в хмл?
Добавлено: 11 сен 2003, 17:26
ilid
да уж фраза века - логика программы...
Добавлено: 11 сен 2003, 22:11
Lepsik
--нухау, конечно, не прошу раскрыть, но хоть скажи, что имеешь ввиду.
Кака-така "логика программы", да ещё в хмл?
формулы храню. У меня например весь мат. аппарат преобразования величин СИ построен. Конструируешь трехэтажную формулу кол-во бактерий на кг. земли деленное на года и помноженное концентрацию хлорида из расчета кг на литр. И потом спокойно конвертируешь юниты.
на каждый компонент программы ветка с описание интерфейса, локализацией, юзеровские настройки, права доступа.
Уже классы редко отдельно пишу.
При стандартном подходе к каждой таблице в базе пишется класс с методами доступа. А если есть форма, куда передаются данные, то еще пара развесистых методов save/load
XML позволяет и класс (несколько примитивно конечно) заменять и за счет общих методов работу с DB упростить. В нем же описание таблиц/полей настроек и прочего хранить.
В результате текста остается мало, немалая часть перекочевывает в XML и позволяет делать добавления без программирования
Добавлено: 11 сен 2003, 23:30
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.
Здесь так же "по веткам"..., так же можно и формулы, и т.д.
Парсер, сам понимаешь, очень простой получается. Можно переопределять и дополнять "секции" и их ключи (у тебя - это теги).
Есть "ООП-наследование с полиформизмом вместе взятые" (это шутка).
Посмотри, мож сгодится?
Добавлено: 11 сен 2003, 23:37
vg
Да, забыл, там в теги "подсекций" должны иметь тильду-префикс.
Добавлено: 12 сен 2003, 20:05
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