Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2014, 12:14   #11
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Вы не видели те XML, которые мне приходится обрабатывать. Казалось бы от солидных организаций
Конечно не видел. Вы же не показывали. Выше, я привёл фрагмент правильного оформления. Ещё используется код в квадратных скобках, в который можно включить видеофайл или экзешник, но я этим ни разу не пользовался.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 26.03.2014, 12:23   #12
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Не, тама какая вещь. Предполагается что xml будут делать в одной проге, но все кому не лень, собирать могут и вообще третьи лица. Вот надо будет между делом это все раньше отсеять, чтобы еще с этим мусором не возиться.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.03.2014, 12:23   #13
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Конечно не видел. Вы же не показывали.
И не покажу Синтаксис естественно правильный, к структуре информации куча недоуменных вопросов. И не прогнозированное изменение схемы в любой момент времени
Цитата:
Предполагается что xml будут делать в одной проге
А в чем беда тогда? Прога должна делать согласно жестко предусмотренной схемы и правильность данных контролировать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 26.03.2014 в 12:26.
Аватар вне форума Ответить с цитированием
Старый 26.03.2014, 12:25   #14
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

дел .
eval вне форума Ответить с цитированием
Старый 26.03.2014, 12:27   #15
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Эти проверки, делаются при создании XML-ки. Если, конечно, её не криворукие создавали.
Вот она и беда-то. Кто же там разберет и потом уже не существенно кривые руки или нормальные.
Цитата:
У XML, есть ещё одна интересная особенность. Даже не зная "идеальный шаблон", его можно получить из самого файла, путём глобального анализа его полей.
Я не знаю как Ваш xml, но вроде как есть форматы где допускается отсутствие некоторых полей. Ну например, в том же каталоге книг ISBN может быть не у каждой книги, а только там у выпущенных после какого-то года. То есть информация о ISBN может быть не просто пустой, а вообще отсутствовать даже теги. Вот и получится как минимум три варианта:
1. заполненный ISBN
2. незаполненный ISBN
3. информация о ISBN отсутствует в файле
Поэтому анализа одного файла явно недостаточно для такой задачи. Может в Вашем формате к примеру допускается ставить время добавления рецепта (для поиска и фильтрации) или фамилию, дабы не нарушать авторские права.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 26.03.2014 в 13:31.
Utkin вне форума Ответить с цитированием
Старый 26.03.2014, 13:07   #16
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Smitt&Wesson

Такого не может быть т.к. все поля строковые, а приведение к необходимому типу, делается в самой программе.

узри истину про атрибут xsi:type и да снизойдет на тебя откровение что для проверки соответствия типу программу даже не нужно модифицировать.

Для XML-ок пооследовательность без разницы. Если поле есть, то оно есть.

:facepalm:

программа хочет такую последовательность: <foo/><bar/> а пришла такая: <bar/><foo/>
если данные из нодов вытаскиваются через индексацию (т.е. предполагается что нулевой чайлд - это foo, тогда начнется веселуха)

Эти проверки, делаются при создании XML-ки.

в идеальном мире без индусов, где все программисты - дружелюбные создания и доверяют друг-другу - да.
Rififi вне форума Ответить с цитированием
Старый 26.03.2014, 14:21   #17
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Rififi
Цитата:
а если поле есть, но не того типа? или в неправильной последовательности? или должно быть одно, а на самом деле два? или не выполнено требование минимальной длины? или поле ссылается на ID, которого нет в документе?
Ну вот и кидаешься на всё это эксцепшенами.

Вообще я сторонник простых xml'ок. которые можно легко и просто распарсивать через xpath выражения. А с этими схемами упаришься. Имхо они нужны только всяким WCF сервисам.
the_deer_one вне форума Ответить с цитированием
Старый 26.03.2014, 15:20   #18
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
Для XML-ок последовательность без разницы. Если поле есть, то оно есть.
Я имею в виду не последовательность тегов, а именно наличие полей в тегах.
Цитата:
в идеальном мире без индусов, где все программисты - дружелюбные создания и доверяют друг-другу - да.
XML файлы имеют очень строгий синтаксис. И не позволяют таких вольностей, которые позволяется делать в HTML.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 26.03.2014, 15:28   #19
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Smitt&Wesson

XML файлы имеют очень строгий синтаксис. И не позволяют таких вольностей, которые позволяется делать в HTML.

well-formed xml имеет отношение к valid xml чуть менее чем никакое.
Rififi вне форума Ответить с цитированием
Старый 26.03.2014, 15:46   #20
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Не, тама какая вещь. Предполагается что xml будут делать в одной проге, но все кому не лень, собирать могут и вообще третьи лица. Вот надо будет между делом это все раньше отсеять, чтобы еще с этим мусором не возиться.
Простейший сериализатор, подобно тому, что в шарпе делается автоматически. Сторонние разработчики пусть сами заморачиваются на предмет соответствия.
Цитата:
Сообщение от Rififi Посмотреть сообщение
узри истину про атрибут xsi:type и да снизойдет на тебя откровение что для проверки соответствия типу программу даже не нужно модифицировать.
Ну, справедливости ради: для проверки типа так и так программу не нужно модифицировать, а если вдруг раньше был строковой элемент, а теперь стал числовой, то кроме схемы всё же придётся и программу менять, которая должна уметь с другим типом работать. Не схемой единой, но как валидатор вещь хорошая, ей еще и делиться можно, чтобы рукоделы могли свои продукты на ней отлаживать и корявые xml не слали.
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пару вопросов... qewertyns Помощь студентам 6 10.12.2012 00:43
Пару вопросов Syltan Свободное общение 2 19.10.2009 01:45
Пару элемментарных вопросов Hanickii Общие вопросы C/C++ 15 13.09.2009 19:13