Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

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 это не всего лишь какой-то текст, а вполне определенный текст.



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

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.155 c
2-1334809726
leklerk
2012-04-19 08:28
2013.03.22
Компоненты формы не доступны в другой форме


15-1344639808
Jonis_84
2012-08-11 03:03
2013.03.22
почему если убираешь строки про реестр nod32 ругается


2-1342665323
NBAH19901
2012-07-19 06:35
2013.03.22
Парсинг Json в delphi хе2


3-1277448717
pavel_guzhanov
2010-06-25 10:51
2013.03.22
Можно ли сравнить два набора данных?


15-1338220756
brother
2012-05-28 19:59
2013.03.22
Как Вы прочитали это: CoCu ?