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



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

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

Наверх





Память: 0.56 MB
Время: 0.069 c
15-1331668402
tj.nelson
2012-03-13 23:53
2013.03.22
Реестр windows xp x64 и delphi 7


2-1330375381
LDV
2012-02-28 00:43
2013.03.22
Access Violation on AssignFile(fp, file_name)


2-1331397815
crank
2012-03-10 20:43
2013.03.22
Выбор БД


6-1258114919
stas
2009-11-13 15:21
2013.03.22
ICS SMTP клиент


15-1351000566
QAZ5
2012-10-23 17:56
2013.03.22
Visual Studio <> совместимость?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский