Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

XML - нафига козе боян?   Найти похожие ветки 

 
QAZ2   (2012-10-15 11:31) [0]

Интересно узнать для чего, почему и зачем оно надо...
раньше ведь люди както жили и без него :)


 
Рамиль ©   (2012-10-15 11:33) [1]

И без компьютеров люди жили.


 
Rouse_ ©   (2012-10-15 11:41) [2]

Ну например для передачи данных между приложениями без привязки к версии ПО, каждое будет читать только то о чем знает...


 
QAZ2   (2012-10-15 11:47) [3]


> Rouse_ ©   (15.10.12 11:41) [2]

а что мешает это сделать через ini например ?

мне интересна глобальная идея возникновения подобных "гениальных языков\технологий"


 
Ega23 ©   (2012-10-15 11:47) [4]


> Интересно узнать для чего, почему и зачем оно надо...

Более-менее универсальный формат для обмена данными.


 
Ega23 ©   (2012-10-15 11:48) [5]


> а что мешает это сделать через ini например ?

Ништо не мешает, ini-наше фсьё!


 
Компромисс ©   (2012-10-15 11:48) [6]

http://ru.wikipedia.org/wiki/XML#.D0.94.D0.BE.D1.81.D1.82.D0.BE.D0.B8.D0.BD.D1.81.D1.82.D0.B2.D0.B0


 
brother ©   (2012-10-15 11:49) [7]

[5] поддерживаю!


 
xayam ©   (2012-10-15 11:50) [8]


> а что мешает это сделать через ini например ?

телевизоры в Ашане тоже можно купить, но нормальные люди ходят в специализированные магазины...


 
QAZ2   (2012-10-15 11:53) [9]


> Более-менее универсальный формат для обмена данными.

это былобы так, еслибы файл созданный в одной программе открывался также в совершенно другой программе
но я почему то таких чудес не встречал :)


 
QAZ2   (2012-10-15 11:56) [10]


> xayam ©   (15.10.12 11:50) [8]

о, отлично, понеслась...
в чем нормальность\лучшесть XML против INI ?
также как чем отличается Samsung купленый в Ашане от  Samsungа купленного в Техносиле?


 
Dimka Maslov ©   (2012-10-15 11:56) [11]

Главный недостаток XML - нельзя грабить корованы. Но когда надобно передавать более-менее структурированные данные между различными приложениями - вещь весьма полезная. А при наличии развитых стандартных средств парсинга - просто незаменимая если надо быстро, просто и без изобретения велосипеда.


 
Ega23 ©   (2012-10-15 12:00) [12]


> это былобы так, еслибы файл созданный в одной программе
> открывался также в совершенно другой программе

Более-менее универсальный ФОРМАТ для обмена данными


 
xayam ©   (2012-10-15 12:01) [13]


> о, отлично, понеслась...

сомневаюсь :)


 
QAZ2   (2012-10-15 12:01) [14]


> Компромисс ©   (15.10.12 11:48) [6]

Рассмотрим пример простого кулинарного рецепта, размеченного с помощью XML:

<?xml version="1.0" encoding="UTF-8"?>
<recipe name="хлеб" preptime="5" cooktime="180">
 <title>Простой хлеб</title>
 <composition>
   <ingredient amount="3" unit="стакан">Мука</ingredient>
   <ingredient amount="0.25" unit="грамм">Дрожжи</ingredient>
   <ingredient amount="1.5" unit="стакан">Тёплая вода</ingredient>
   <ingredient amount="1" unit="чайная ложка">Соль</ingredient>
 </composition>
 <instructions>
   <step>Смешать все ингредиенты и тщательно замесить.</step>
   <step>Закрыть тканью и оставить на один час в тёплом помещении.</step>
   <!-- <step>Почитать вчерашнюю газету.</step> - это сомнительный шаг... -->
   <step>Замесить ещё раз, положить на противень и поставить в духовку.</step>
 </instructions>
</recipe>


в какое Ж засунуть этот шикарно размеченый текст чтобы увидеть собственно его шикарность?


 
Dimka Maslov ©   (2012-10-15 12:03) [15]


> QAZ2   (15.10.12 12:01) [14]


XML предназначен для передачи данных между компьютерными системами, а не между оными и человеком. Поэтому не надо путать его с HTML, у них разная специализация.


 
QAZ2   (2012-10-15 12:04) [16]


> ФОРМАТ для обмена данными

вроде как язык, не ?

> А при наличии развитых стандартных средств парсинга

тоесть для ini нет развитых стандартных средств парсинга? и нужно долго изобретать велосипед?


 
AV ©   (2012-10-15 12:04) [17]

Просто, формат, о котором договорились.
в следствии чего уже понаписали кучу всего под него для облегчения жизни
+Читабелен, даже людьми

под свои нужды редко юзаю
Мне не нравится xml. В основном, из-за размеров
но это ничего не значит :)


 
Ega23 ©   (2012-10-15 12:06) [18]


>  этот шикарно размеченый текст

Ну где тыт тут щикарность увидел?
Щикарно будет разбивать всё по символам и каждому символу id назначать, вот где щикарно будет.


 
QAZ2   (2012-10-15 12:07) [19]


> AV ©   (15.10.12 12:04) [17]

нене , ненадо стандартных фраз из википедии и прочих....
ini тоже более чем стандарт и даже использовался виндой и тоже ГОРАЗДО лучше читается человеком :)


 
Dimka Maslov ©   (2012-10-15 12:08) [20]


> QAZ2   (15.10.12 12:04) [16]


Да язык, но для специфических целей.


> тоесть для ini нет развитых стандартных средств парсинга?
>  и нужно долго изобретать велосипед?


Формат ini поддерживает только два уровня вложенности. Возможности XML гораздо шире.


 
QAZ2   (2012-10-15 12:10) [21]


> Формат ini поддерживает только два уровня вложенности

да что ты ? у тебя бедная фантазия :)


 
Компромисс ©   (2012-10-15 12:14) [22]

QAZ2   (15.10.12 12:01) [14]

Вопрос не корректен. Не надо путать стандарт XML со стандартами типа MP3 или JPG.
MP3 и JPG - это стандарты для содержимого файла, а XML - это стандарт для определения стандартов. Например, XML определяет HTML и SOAP. А вот уже файлы с расширением HTML можно открывать в любом браузере, аналогично по wsdl можно генерировать веб сервисы или клиенты для них.


 
icelex ©   (2012-10-15 12:16) [23]


> QAZ2   (15.10.12 11:31) 
> Интересно узнать для чего, почему и зачем оно надо...
> раньше ведь люди както жили и без него :)

не нужно - не используй
нужно - используй
не знаешь как и назачем - не используй
хочется пообсуждать на пустом месте - ну ты понел...


 
xayam ©   (2012-10-15 12:24) [24]


> у тебя бедная фантазия :)

да нет. А почему именно ini, а не json например?


 
icelex ©   (2012-10-15 12:27) [25]


> А почему именно ini, а не json например?

когда в руке только молоток, все вокруг похоже на гвоздь


 
xayam ©   (2012-10-15 12:30) [26]


> когда в руке только молоток, все вокруг похоже на гвоздь

:) точно

но вопрос, мне кажется у человека вопрос только в синтаксисе.
При желании xml можно оформить в виде ini, но у кого есть такое желание ?


 
знайка   (2012-10-15 12:36) [27]

Еще например к xml можно прикрутит xslt, на выходе можно получить все что угодно, а с ини так сделать можно?


 
xayam ©   (2012-10-15 12:41) [28]


>  а с ини так сделать можно?

...

> у тебя бедная фантазия


 
AV ©   (2012-10-15 12:52) [29]


> QAZ2   (15.10.12 12:07) [19]
> > AV ©   (15.10.12 12:04) [17]
> нене , ненадо стандартных фраз из википедии и прочих....

не поверишь, сам пишу
да и что в этом, может быть откуда то?
Просто, формат, о котором договорились.
в следствии чего уже понаписали кучу всего под него для облегчения жизни
+Читабелен, даже людьми


 
Игорь Шевченко ©   (2012-10-15 12:56) [30]

Троллить - в другое место


 
Ega23 ©   (2012-10-15 12:59) [31]


> Еще например к xml можно прикрутит xslt, на выходе можно
> получить все что угодно, а с ини так сделать можно?


Можно.


 
знайка   (2012-10-15 13:03) [32]


> Можно.
Это понятно, а затраты?
А тут имея например только браузер и блокнот, без проблем.


 
Ega23 ©   (2012-10-15 13:10) [33]


> А тут имея например только браузер и блокнот, без проблем.


XML не предполагает наличие браузера. XML - это текст. А как ты его будешь читать - это твои половые трудности.


 
TUser ©   (2012-10-15 13:17) [34]

Удобно, не надо изобретать свой парсер для конкретного формата.


 
Sergey Masloff   (2012-10-15 14:28) [35]

1) Стандартные средства описания структуры (XSD)
2) Стандартные средства валидации (платформонезависимые)
3) Стандартные средства трансформации (XSLT)
4) Стандартные средства навигации (XPATH)

афтар прикрути все это к ini и будем разговаривать дальше (например про отраслевые стандартны обмена гугли ACORD XML)


 
Пит   (2012-10-15 14:34) [36]


> а что мешает это сделать через ini например ?


1) структурно ini-файлы не поддерживают истинную иерархию.
ini это пара "Ключ = Значение", с иерархией первого уровня, то есть группировкой по секциям.

Попробуй в INI-файле описать такую структуру:

<devices>
   <com_port>
       <controller_tg_240>
           ...param param param...
       </controller_tg_240>
       <controller_tg_240>
           ...param param param...
       </controller_tg_240>
   </com_port>
</devices>


XML поддерживает неограниченную иерархию.

2) INI-файлы не могут по своей структуре иметь одинаковые названия на одном уровне иерархии.

В примере выше на втором уровне мы видим две записи: <controller_tg_240>
В xml это прекрасно уживается. В ini нельзя, чтобы две секции или два парметра в одной секции назывались одинаково.

Иными словами ini файл неудобен для создания списка. Тебе придется эмулировать список, вводить переменную - длина списка. А дальше элементы списка обозначать:

cnt_device = 3

device_0 = ...
device_1 = ...
device_2 = ...


с этим списком жутко неудобно работать. Например, тебе нужно удалить device_1, тогда cnt_deviсe нужно уменьшить на один, а данные device_2 переписать в device_1

При больших списках это жутко неудобно, а для редактирования ручками - удалить пятую позицию, если позиций 100 - уже супер гемор. В XML же нужно удалить одну ноду и все, она независима от соседей.

3) много параметричность:

даже если тебе нужно хранить два значения для одной сущности, уже тяжело, тебе придётся писать что-то типа:

cnt_device = 2

device_0_paramaA = ...
device_0_paramaB = ...
device_1_paramaA = ...
device_1_paramaB = ...


А в xml это может быть красиво например так:

<device paramA="..." paramB="..." />
<device paramA="..." paramB="..." />


что и компактнее, и работать удобнее.

Плюс как правильно заметили XML стал всемирным форматом по следам HTML. Кросс-платформенным, а также там в частности есть указания кодировки, заголовки, служебная информация и прочее.

Ну это что первое в голову пришло.


 
Ega23 ©   (2012-10-15 14:43) [37]


> 1) структурно ini-файлы не поддерживают истинную иерархию.

Структурно и XML не поддерживает иерархию, это всего лишь какой-то текст. :)
Формат записи - это формат записи. Парсер - это парсер. Структуры в памяти - это структуры в памяти.
Можно и над форматом записи ini навернуть парсер a-la XML. Можно и наоборот. Было бы желание.


 
Inovet ©   (2012-10-15 14:52) [38]

> [37] Ega23 ©   (15.10.12 14:43)

А что над ini? Почему не над txt навернуть, что хочется?


 
Sergey Masloff   (2012-10-15 14:54) [39]


> Можно и над форматом записи ini навернуть парсер a-la XML.
>  Можно и наоборот. Было бы желание

С этим никто не спорит более того думаю многим присутствующим что-то подобное приходилось делать ;-)
 Желания только все меньше делать что-то что уже есть ;-)


 
Пит   (2012-10-15 15:01) [40]


> Структурно и XML не поддерживает иерархию

ну не пиши бред... Как раз в формате XML описана иерархичность, есть разделение на ноды (узлы) и стандартизировано, как XML разбить на ноды. Также описано, как одна нода может в себе содержать другие ноды с неограниченной глубиной вложенности. Это всё в стандарте, а не накрученное конкретным разработчиком.


> это всего лишь какой-то текст. :)

ты загнался в попытках абстракционизма. С твоей точки зрения протокол FTP ничем не отличается от протокола HTTP, ибо это всего лишь какой-то текст.

Ни одно место XML не может содержать ПРОИЗВОЛЬНЫЙ текст. Так или иначе по стандарту текст экранируется соответствующим образом, в зависимости от местоположения в структуре XML. Так что это не просто какой-то текст, а текст в соответствии стандарту.

Единственным, имхо, способом написать в любом протоколе произвольный текст, это указание, что следующие XXX байтов считать произвольным текстом. Вот тогда далее информация длиной в XXX байт может содержать любую абсолютно информацию. Но даже такого нету в XML.

Попробуй сделать Xml-документ содержимым:

op3iueagagboaergh

Тебе любой парсер тут же скажет, что не найдена корневая нода, потому что она ДОЛЖНА быть. И это еще раз говорит о том, что XML это не всего лишь какой-то текст, а вполне определенный текст.


 
брат Птибурдукова   (2012-10-15 15:04) [41]


> с этим списком жутко неудобно работать. Например, тебе нужно
> удалить device_1, тогда cnt_deviсe нужно уменьшить на один,
>  а данные device_2 переписать в device_1
Зачем? Удалил device_1, потом прочитал всю секцию в stringlist и работай. И count не нужен.

ЗЫ. Я не оправдываю использование ini. :-)


 
Пит   (2012-10-15 15:09) [42]


> Зачем? Удалил device_1, потом прочитал всю секцию в stringlist
> и работай. И count не нужен.

а как ты будешь сохранять потом всё это? Полюбому в цикле со счетчиком.

А значит по факту у тебя получится, что ты удалил запись device_1, а все остальные после неё сдвинул вверх на 1. Просто ты описал более-менее удобный программный способ.


 
Пит   (2012-10-15 15:10) [43]


> Просто ты описал более-менее удобный программный способ.

в предположении, что в этой секции не хранится ничего другого, кроме нужных тебе строчек. А там могут храниться и комментарии, которые тоже считаются скорее всего )))

Тогда тебе придётся после этого фильтровать по префиксу или как-то так. Тем xml и удобнее.


 
icelex ©   (2012-10-15 15:11) [44]

ну все, понеслась душа в рай...
понедельник на дворе, а не пятница ведь...


 
Ega23 ©   (2012-10-15 15:50) [45]


> А что над ini? Почему не над txt навернуть, что хочется?


Можно и над txt. По-сути, расширение *.xml тебе ничего не даёт, кроме выбора программы по-умолчанию и выбора подсветки синтаксиса по-умолчанию в notepad++  :)


 
Ega23 ©   (2012-10-15 15:59) [46]


>  Как раз в формате XML описана иерархичность, есть разделение
> на ноды (узлы) и стандартизировано, как XML разбить на ноды

Мне НИКТО не мешает записать этот самый xml не по-стандарту, начхать на экранирование, забыть указать кодировку, забить на обязательный корневой узел (или сделать их 100500 с одинаковым именем ROOT) и т.д.
Вообще никто.
Просто тогда стандартный DOM-парсер накроется медным тазом. Но никто не мешает мне поставлять свой собственный, с шахматами и поэтессами.
TEga23XMLDocument = class (TInterfacedObject, IXMLDocument);
TEga23XMLNode = class (TInterfacedObject, IXMLNode);

И всё. Сохраняй хоть в ini, хоть в БД, хоть в JSON или вообще в TIFF между строк шифруй.
Просто зачем изобретать велосипед? :)


 
Плохиш ©   (2012-10-15 16:28) [47]


> Мне НИКТО не мешает записать этот самый xml не по-стандарту

Это будет уже не xml, обычный набор байтов для одной отдельно выбранной песочницы.


 
Пит   (2012-10-15 16:35) [48]


> Просто тогда стандартный DOM-парсер накроется медным тазом.

Олег, у тебя как выходные то прошли? ))

Ты вообще со стороны то почитай, что ты пишешь.

Конечно, ты можешь изобрести свой стандарт, свое описание, сделать свой парсер - наздоровье, но причем тут XML?!?!?!?!?!

Ты говоришь, что в XML не описана иерархичность на основе того, что ты можешь изобрести собственный стандарт, отличный от XML. Олег, ты сейчас о чем?!

XML - это стандарт, есть ДОКУМЕНТАЦИЯ, описывающая этот стандарт, в этой документации четко дается понять об иерархичности нод, которые являются частью XML-документа. Поэтому я и говорю, что в структуре XML предусмотрена иерархия!!

А ты говоришь, что можешь создать свой аналог XML без иерархии... ну и что? Где логика, Олег?!


 
Пит   (2012-10-15 16:37) [49]

Олег, ты меня извини, но ты просто напалмом жжошь. Ты с этой же точки зрения можешь заявить, что в стандарте HTML нет понятия тегов! Когда на тебя посмотрят и скажут - как это нету тегов? Ты скажешь, что можешь придумать свой HTML без тегов, написать свой браузер и оно будет работать. А значит в описании стандарта HTML нет понятия tag! Гениально нах...


 
Пит   (2012-10-15 16:40) [50]

а еще можно утверждать, что в современных компьютерах не используется двоичная система счисления. Потому что можно придумать компьютер (да и придумали уже), которые работает в троичной системе. И на основе этого значит делаем вывод, что в текущих компьютерах нет никакой двоичной системы, это просто поток битов... я кажется понял логику...


 
Ega23 ©   (2012-10-15 16:48) [51]

Я не вижу в файле 1.xml с содержимым
<?xml version="1.0" encoding="windows-1251"?><Document xxx="ttt" />
никакой иерархии. Я вижу ровно одну строку.
Иерархия это или нет - решает тот, кто разбирает этот текст.


> XML - это стандарт, есть ДОКУМЕНТАЦИЯ, описывающая этот
> стандарт

Это стандарт ФОРМАТА ЗАПИСИ. Ощущаешь нюанс?


 
Ega23 ©   (2012-10-15 16:56) [52]


> ы с этой же точки зрения можешь заявить, что в стандарте
> HTML нет понятия тегов! Когда на тебя посмотрят и скажут
> - как это нету тегов? Ты скажешь, что можешь придумать свой
> HTML без тегов, написать свой браузер и оно будет работать.


Скажи мне, можно в DOM добавлять узлы в динамике?


 
han_malign   (2012-10-15 17:10) [53]


> Это стандарт ФОРМАТА ЗАПИСИ.

- стандарт представления данных.
А вот если брать полный стандарт, со схемами, трансформациями и т.д. - то это уже стандарт описания автоматизации представления, проверки и обработки данных...


 
Ega23 ©   (2012-10-15 17:13) [54]


> han_malign   (15.10.12 17:10) [53]

Возможно.
Можно ли такое навернуть в качестве надстройки над ini? Можно, но бессмысленно.


 
Пит   (2012-10-15 17:26) [55]


> Я не вижу в файле 1.xml с содержимым
> <?xml version="1.0" encoding="windows-1251"?><Document xxx="ttt"
> />

Олег, причем тут конкретный файл XML?! Я говорю о том, что СТАНДАРТ XML ПРЕДУСМАТРИВАЕТ ИЕРАРХИЮ И ОПИСЫВАЕТ ЕЁ.
В конкретном экземпляре может и не быть иерархии, вложенности. Ты опять считаешь это доказательством того, что в стандарте XML нету иерархии?

А если я написал программу на дельфи, не используя тип TFileStream, то файловых потоков в дельфи не существует? Олег, что с тобой? ))


> Скажи мне, можно в DOM добавлять узлы в динамике?

конечно, можно.
Только какое это отношение имеет к обсуждаемому вопросу.

Олег, еще раз!!1 В описании стандарта XML в явном виде описана иерархия. Зачем ты делаешь вид, что не понимаешь такой элементарной вещи? У тебя утверждения из области:

> я вижу запрос SQL:

>update MyTable set MyField = 5

Отсюда делаем вывод, что в стандарте SQL нет понятия строк.


 
Ega23 ©   (2012-10-15 17:28) [56]

Читай ветку с самого начала.


 
KSergey ©   (2012-10-15 17:31) [57]

Что вы сделали с аффтаром ветки??


 
Плохиш ©   (2012-10-15 17:47) [58]


> KSergey ©   (15.10.12 17:31) [57]
> Что вы сделали с аффтаром ветки??

аффтар высасывает следующую "проблему" из пальца. Ждёмс следующий вброс.


 
Пит   (2012-10-15 18:01) [59]


> Читай ветку с самого начала.

1) я читал ветку с самого начала

2) по-моему, есть описание формата XML:

http://www.w3.org/TR/xml11/

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


 
Ega23 ©   (2012-10-15 18:05) [60]


> 2) по-моему, есть описание формата XML:

Если ты читал ветку с самого начала, то ты должен был увидеть, что я это и говорил.


 
Пит   (2012-10-15 19:19) [61]

да я согласен ок, XML - это просто текст, набор произвольных байтов.


 
Пит   (2012-10-15 19:20) [62]

это если конечно читать данную ветку сначала.


 
Ega23 ©   (2012-10-15 19:28) [63]


> да я согласен ок, XML - это просто текст, набор произвольных
> байтов.

Не совсем произвольных, это всё-таки текст.
Ну а коли так, то следующий вопрос: можно ли также реализовать вот всё то же самое, что есть в xml, но только с помощью ini?
Ответ: можно. Это будет жуткий плохо читабельный монстр. Но - можно.


 
Андреевич   (2012-10-15 19:34) [64]

Еще больше возненавидел xml после того как парсер (XmlSerializer в шарпе) отказался десерилизовать структуру потому что структура текста с XML была вручную немного подредактирована (с косяками). И все - это не валидный формат, не буду грузить.


 
Rouse_ ©   (2012-10-15 19:36) [65]


> Пит   (15.10.12 19:19) [61]
> да я согласен ок, XML - это просто текст, набор произвольных
> байтов.
>
>

Один из разработчиков формата (стандарта?) XML долгое время тролил народ на форумах фразами типа, да, XML выглядит и читается как обычный текст, но на самом деле это не текст :)
К сожалению не могу найти ссылку на форум, но было забавно :)


 
Пит   (2012-10-15 20:32) [66]


> Не совсем произвольных, это всё-таки текст.

с чего ты взял?!

Я вот только что сделал XML-документ, где есть куча не символьных байтов. Правда, этот файл отказываются открывать существующие xml-парсеры, но что мне мешает написать свой: TPitXMLDocument ?


 
Rouse_ ©   (2012-10-15 20:36) [67]


> Я вот только что сделал XML-документ, где есть куча не символьных
> байтов.

В стандарте XML оговаривается что он может содержать и в каком формате, ты нарушил стандарт, стало быть это не XML документ. Можешь за одно таблицу инициализации Base64 поменять на свою и написать TPitBase64 :) До кучи полином у CRC32 сменить, дабы всем поплохело :)


 
Ega23 ©   (2012-10-15 20:53) [68]


> с чего ты взял?!

Нулевой байт туда пропиши.


 
QAZ2   (2012-10-15 21:07) [69]


> Что вы сделали с аффтаром ветки??

ничо, я только дочитал :)

> В описании стандарта XML в явном виде описана иерархия

есть такой штука как TTreeView c методами SaveToFile и LoadFromFile
и о чудо там тоже есть иерархия и никаких XML ненадо


 
Rouse_ ©   (2012-10-15 21:20) [70]


> QAZ2   (15.10.12 21:07) [69]
> есть такой штука как TTreeView c методами SaveToFile и LoadFromFile
> и о чудо там тоже есть иерархия и никаких XML ненадо

Мндя, а еще есть такая штука как различные версии дельфи, которые твою "штуку" сохраняют так как им хочется :) А ведь ты поддерживаешь свой продукт и наверное захочешь чтобы твое ПО за 2012 год прочитало данные записанные твоим-же ПО выпущенным году эдак в двухтысячном.


 
Ega23 ©   (2012-10-15 21:25) [71]

А разве у TTreeView есть LoadFromFile и SaveToFile?
Чёта навскидку не помню такого, а смотреть - лень.


 
asail ©   (2012-10-15 21:29) [72]


> Андреевич   (15.10.12 19:34) [64]
> Еще больше возненавидел xml после того как парсер (XmlSerializer
> в шарпе) отказался десерилизовать структуру потому что структура
> текста с XML была вручную немного подредактирована (с косяками).

INI-файл проблему, конечно, решил в данном случае?
А если я avi-файл вручную подкорректирую, да еще и с косяками? Так, что ни один плеер его показывать не будет. Мне надо будет возненавидеть avi файлы? :)


 
Rouse_ ©   (2012-10-15 21:30) [73]


> Ega23 ©   (15.10.12 21:25) [71]

Есть но хреново работает :)
http://qc.embarcadero.com/wc/qcmain.aspx?d=66810


 
icelex ©   (2012-10-15 21:32) [74]


> Андреевич   (15.10.12 19:34) [64]
> Еще больше возненавидел xml после того как парсер (XmlSerializer
> в шарпе) отказался десерилизовать структуру потому что структура
> текста с XML была вручную немного подредактирована (с косяками).
>  И все - это не валидный формат, не буду грузить.

а xml-то тут причем?
открой вона doc-файл в текстовом редакторе, да подредактируй там что-нибудь, а потом Word начинай ненавидеть


 
Dimka Maslov ©   (2012-10-15 21:33) [75]


> Ega23 ©   (15.10.12 21:25) [71]


Таки есть, сохраняет в текстовом формате с табуляциями. При этом в терминах XML сохраняются только имена узлов, но не значения и атрибуты, коих в TreeView нет буквально вообще.


 
asail ©   (2012-10-15 21:34) [76]


> QAZ2   (15.10.12 21:07) [69]

> и о чудо там тоже есть иерархия и никаких XML ненадо

Еще раз. Можно и в бинарных файлах все хранить (кстати, можно уйму доводов привести в поддержку именно их). INI это еще один из стандартных форматов. Со своими плюсами и минусами. Можно еще и CSV вспомнить... Почему его не использовать? Чем INI лучше?


 
QAZ2   (2012-10-15 21:42) [77]


> Чем INI лучше?

незнай я им не пользуюсь :)
я вообще не понимаю форматов "которыемогутчитатьсячеловеком" ибо каждый ботан будет пытаться его изменить и поглядеть что из этого будет


 
Rouse_ ©   (2012-10-15 21:43) [78]


> QAZ2   (15.10.12 21:42) [77]
> я вообще не понимаю форматов "которыемогутчитатьсячеловеком"
> ибо каждый ботан будет пытаться его изменить и поглядеть
> что из этого будет

HTML, как я понял, только что умер в твоих глазах?


 
Игорь Шевченко ©   (2012-10-15 21:43) [79]

Троллить - в другое место.


 
Ega23 ©   (2012-10-15 21:57) [80]


> Есть но хреново работает :)

О блин, не знал...  :)


 
Ega23 ©   (2012-10-15 21:59) [81]


> я вообще не понимаю форматов "которыемогутчитатьсячеловеком"
> ибо каждый ботан будет пытаться его изменить и поглядеть
> что из этого будет


Прально, нафига компиляторы нужны?
Даёшь двоичный код!


 
QAZ2   (2012-10-15 22:07) [82]

не тут типа говорили про обмен данными между приложениями, я про это а не техт вообще


 
Rouse_ ©   (2012-10-15 22:15) [83]


> QAZ2   (15.10.12 22:07) [82]
> не тут типа говорили про обмен данными между приложениями

Обмен данными тут приводили, как один из возможных вариантов использования вышеозвученного формата :)
Можно и INI использовать, но тут уж кому как удобнее, даже штаны через голову, при должной подготовке, можно надеть ;)


 
icelex ©   (2012-10-15 22:32) [84]

при желании можно, наверно, и шубу в трусы заправить, но нафига, если ее навыпуск носят?


 
Пит   (2012-10-15 22:38) [85]


> В стандарте XML оговаривается что он может содержать и в
> каком формате, ты нарушил стандарт, стало быть это не XML
> документ.

читай ветку с самого начала )


> Нулевой байт туда пропиши.

ты сомневаешься, что мой парсер TPitXMLDocument сможет спокойно разобрать такой документ с нулевым байтом?


 
kilkennycat ©   (2012-10-15 22:40) [86]


> icelex ©   (15.10.12 22:32) [84]

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


 
Ega23 ©   (2012-10-15 22:43) [87]


> ты сомневаешься, что мой парсер TPitXMLDocument сможет спокойно
> разобрать такой документ с нулевым байтом?

сможет. Но это не будет текстом. :)


 
Rouse_ ©   (2012-10-15 22:47) [88]


> Пит   (15.10.12 22:38) [85]
> читай ветку с самого начала )

Обычно я так и делаю, поэтому не понимаю смысла твоего спича...


 
Юрий Зотов ©   (2012-10-15 22:50) [89]


> QAZ2   (15.10.12 11:53) [9]
>
> > Более-менее универсальный формат для обмена данными.
>
> это былобы так, еслибы файл созданный в одной программе
> открывался также в совершенно другой программе
> но я почему то таких чудес не встречал :)

Странно. А я встречал. И даже сам делал. И даже далеко не раз.

XML-файлы, созданные моими программами без малейших проблем открываются совершенно другими программами, не мною сделанными. И наоборот - тоже без малейших проблем. Например, в текущем проекте так реализован обмен данными с 1С, и не только.

Наверное, я то-то не так делаю?


 
DVM ©   (2012-10-15 22:54) [90]


> QAZ2

приведу один пример использования XML, где его трудно заменить чем либо еще - веб службы и SOAP. Интерфейс службы описывает сам себя, не надо писать ни строчки кода, чтобы создать иерархию классов для работы со службой используя  wsdl файл-описатель службы. Служба может иметь сотни методов с сотнями типов данных и все это будет автоматически проверяться с использованием схемы. XML с помощью трансформаций легко превратить во что угодно, хошь в таблицу на html хошь в SQL запрос или еще во что. И так далее и тому подобное.


 
pit   (2012-10-16 00:24) [91]

>сможет

Ну вот, по твоей логике и выходит тогда что xml это не обязательно текст


 
antonn ©   (2012-10-16 00:30) [92]


> INI-файл проблему, конечно, решил в данном случае?

да, решил


> icelex ©   (15.10.12 21:32) [74]
>
>
> > Андреевич   (15.10.12 19:34) [64]
> > Еще больше возненавидел xml после того как парсер (XmlSerializer
> > в шарпе) отказался десерилизовать структуру потому что
> структура
> > текста с XML была вручную немного подредактирована (с
> косяками).
> >  И все - это не валидный формат, не буду грузить.
>
> а xml-то тут причем?

xml+"очень много удобных готовых парсеров".
проблема в том, что некоторые "недалекие" "требователи" хотят следовать моде и конфигурационные файлы хотят видеть в xml, потому что "ini устарел".


 
antonn ©   (2012-10-16 00:32) [93]

а еще часто люди путают "открыть xml" и "использовать xml".
"открыть" я и в блокноте смогу


 
han_malign   (2012-10-16 08:46) [94]


> Можно и в бинарных файлах все хранить

- ASN.1 описывает в том числе и XER (XML encoding rules), но в транспортных протоколах обычно используют более компактные DER(BER) или PER кодирование... Так же как Web-разработчики предпочитают более компактный JSON. Это всего лишь выбор представления данных...
Но основным преимуществом XML является то, что он содержит не только структуру данных, но и полное описание этой структуры(в том числе в ссылках на версию схемы(атрибуты "xmlns[:(xsi|xsd)]")), тогда как все остальные представления подразумевают известную фиксированную(в той или иной мере) структуру внешнего объекта связывания...


> > Есть но хреново работает :)
> О блин, не знал...  :)

- дык, оно там только в одном месте и используется - при RecreateWnd, когда стиль "времени создания" меняется...


 
icelex ©   (2012-10-16 08:52) [95]


> antonn ©   (16.10.12 00:30) [92]
> потому что "ini устарел".

ну пересохрани файл, покажи дату создания и скажи, что он еще "совсем свежий"


 
jack128_   (2012-10-16 09:31) [96]


> INI это еще один из стандартных формато

кем стандартизирован?  А еще лучше - номер стандарта. AFAIR - ini-файл - это изобретение MS, которое им уже не поддерживается, функции для работы с ним только для обратной совместимости есть.


 
TUser ©   (2012-10-16 09:52) [97]


> QAZ2   (15.10.12 21:42) [77]
>
> > Чем INI лучше?
>
> незнай я им не пользуюсь :)
> я вообще не понимаю форматов "которыемогутчитатьсячеловеком"
> ибо каждый ботан будет пытаться его изменить и поглядеть
> что из этого будет
>
>

И regedit тоже зло.


 
Palladin ©   (2012-10-16 09:58) [98]

json rulez foreva


 
DVM ©   (2012-10-16 10:08) [99]


> han_malign   (16.10.12 08:46) [94]
>
> > Можно и в бинарных файлах все хранить
>
> - ASN.1 описывает в том числе и XER (XML encoding rules),
>  но в транспортных протоколах обычно используют более компактные
> DER(BER) или PER кодирование..

С этим ASN1 мороки больно много. Начиная от поиска библиотек для работы с ним, заканчивая ошибкой в RFC, благодаря которой сейчас существует фактически 2 стандарта. Мудреный метод кодирования не позволяет вручную найти ошибку в бинарных данных которые парсер не может распарсить. Мне не понравился короче.


 
Ega23 ©   (2012-10-16 10:43) [100]

I"ve trolled XML fans by arguing that representing XML in text is a hack; it should really be represented in XML


 
han_malign   (2012-10-16 11:19) [101]


> С этим ASN1 мороки больно много. Начиная от поиска библиотек для работы с ним

- оно изначально заточено под автоматические ASN1-to-C(++) трансляторы...

> Мудреный метод кодирования не позволяет вручную найти ошибку в бинарных данных

- ну это PER, который еще и с вариациями(например, с выравниванием на октет тэгов и длин составных классов, или без), и разобрать таки можно, если помнить про маски опциональных полей и расширений...
А DER(строгий BER)(например X.509 сертификаты) - прост как валенок...

Нравится - не нравится, а существует огромное семейство сетевых протоколов на ASN.1(H.323 например) - и никуда уже не денешься...


 
QAZ2   (2012-10-16 12:28) [102]


> jack128_   (16.10.12 09:31) [96]

он используется везде и не только в винде, в линуксе например :)
а отсутствие поддержки - это когда вообще не работает, а не оставленно для совместимости
а дабы тебе было известно, в дельфе используется свой код для работы с ini и кагбэ пофиг чего там поддерживается или нет самой виндой

> Юрий Зотов ©   (15.10.12 22:50) [89]

это происходит потомы что ты генерируеш XML спецально заточенный под 1С и ясен перец егоже можеш и сам прочитать
но ты же не станеш утверждать что 1С или твоя программа без проблем схавает абсолютно любой XML также как и та программа под которую он составлен ?

> DVM ©   (15.10.12 22:54) [90]

очень абстрактно и непонятно...
все эти чудеса происходят сами собой? или всетаки нужно покодить пару сотен строчек и прицепить либу на 100 мегабайт?


 
Ega23 ©   (2012-10-16 12:35) [103]


>  в дельфе используется свой код для работы с ini и кагбэ
> пофиг чего там поддерживается или нет самой виндой

Бгггггггг   :)))


 
QAZ2   (2012-10-16 12:42) [104]

бгг что?


 
DVM ©   (2012-10-16 12:50) [105]


> QAZ2   (16.10.12 12:28) [102]


> очень абстрактно и непонятно...
> все эти чудеса происходят сами собой? или всетаки нужно
> покодить пару сотен строчек и прицепить либу на 100 мегабайт?
>

Эти чудеса происходят благодаря библиотекам для работы с XML, таким как msxml.
Код писать в любом случае придется, но не придется кодировать тупую рутину такую как сотни классов с десятками методов и сотни типов и реализовывать методы сереализации/десереализации полей в/из XML. Удобно же, мастер сам все сделает. Проверка корректности входных/выходных данных с выводом сообщения об ошибке может быть так же автоматизирована путем использования XML схемы, в противном случае это потребовало бы кучу усилий.

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


 
Пит   (2012-10-16 13:16) [106]

автор слишком жирный тролль.

Специально игнорирует вменяемые ответы, специально акцентирует внимание на том, о чем можно пофлудить. А значит цель не получений знаний, а исключительно флуд. Так не интересно)


 
Лукошко   (2012-10-16 13:27) [107]


> Пит   (16.10.12 13:16) [106]

106 ответов - вот это да "не интересно"!
:o)


 
имя   (2012-10-16 13:28) [108]

Удалено модератором


 
asail ©   (2012-10-16 14:29) [109]


> QAZ2   (16.10.12 12:28) [102]

> это происходит потомы что ты генерируеш XML спецально заточенный
> под 1С и ясен перец егоже можеш и сам прочитать

Это происходит потому, что сгенеренный XML соответствует соответствующему XSD.

> но ты же не станеш утверждать что 1С или твоя программа
> без проблем схавает абсолютно любой XML также как и та программа
> под которую он составлен ?

Я стану. При условии, что этот абсолютно любой XML соответствует XSD.

Более того, мне интересно - INI-файл в этом плане по-твоему лучше? Чем?


 
Игорь Шевченко ©   (2012-10-16 14:35) [110]

don"t feed the troll


 
имя   (2012-10-16 14:46) [111]

Удалено модератором


 
Андреевич   (2012-10-16 14:46) [112]


> ini-файл - это изобретение MS, которое им уже не поддерживается

вот что хорошо - формату ini глубоко пофиг что МС его не использует (а не "поддерживает"), он все так же используется другими приложениями :)


 
Андреевич   (2012-10-16 14:48) [113]


> Более того, мне интересно - INI-файл в этом плане по-твоему
> лучше? Чем?

ini может занимать меньше памяти и быстрее парсится (чем xml хранящий ту же информацию)


 
QAZ4   (2012-10-16 14:51) [114]


> XSD

жесть, все запущенней чем я предпологал
описание описания :)
может есть еще какойнибуть формат описания структуры XSD ?
для пущей надежности и универсальности


 
QAZ4   (2012-10-16 14:55) [115]


> Андреевич   (16.10.12 14:48) [113]

сейчас тебе ответят про гигагерцы и гигабайты...


 
Rouse_ ©   (2012-10-16 15:02) [116]


> Игорь Шевченко ©   (16.10.12 14:35) [110]
> don"t feed the troll

Да, действительно, нефиг...
Закрываемся.



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.78 MB
Время: 0.107 c
15-1351150942
delphist
2012-10-25 11:42
2013.03.22
Delphi-форумы


15-1351869908
Dennis I. Komarov
2012-11-02 19:25
2013.03.22
ОКУД: xml + xsl


15-1340051402
Юрий
2012-06-19 00:30
2013.03.22
С днем рождения ! 19 июня 2012 вторник


4-1261510346
denis_l
2009-12-22 22:32
2013.03.22
Определение пользователя который запустил процесс


15-1332512911
Pit
2012-03-23 18:28
2013.03.22
C# и генерирование TLB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский