LINUX.ORG.RU

Ответ на: комментарий от Ian

>Будете работать с XML - не верьте спекам.

Фигасе. А чему тогда верить? Да, кстати, не приведёте пример случая, когда XML данные не соответствуют спеке (опусы от M$ не в счет)? Нет, ну правда интересно.

ЗЫ: Не буду делать вид, что сильно удивлён, если вдруг обнаружатся следы индусского народного творчества.

anonymous
()

reference библиотеки/каркаса который собираешься использовать, и примерчики.

Syncro ★★★★★
()

Айзек Азимов. У него много про робатов. Мне больше всего нравится "Робот, который видел сны".

anonymous
()
Ответ на: комментарий от anonymous

Проблемы, в основном, возникают в области пространств имен. Это крайне неприятная штука в XML. У парсеров есть разные варианты обработки этих самых namespaces и если у тебя сложная система, основанная на обработке XML, то бывает, например, такое: есть какой-то XML, его отпарсили и он каким-то образом обрабатывается в программе. Как правило во многих самописных системах делают объекты типа SAXEvent, StartElement, etc, переходя тем самым с процессорной модели в объектную. И тут начинается свистопляски. Как правило эти объекты рано или поздно захочется изменять. Например, в StartElement добавить атрибут. А у атрибутов, как и у StartElement'ов непростое наименование - это prefix, соответствующий ему namespace и имя. Неизвестно как парсер, который парсил XML обрабатывал namespace, во всяком случае не стоит полагаться на что-то одно, поэтому то, что пишется в QName в атрибутах данного StartElement может однажды перестать соответствовать тем полям, которые записаны в QName того самого атрибута, который ты добавляешь. Тут начинаются всякие нормализаторы и т.д. И ничего не поделаешь. Я сам лично писал для такой системы. Это мрак, но так оно и есть.

В общем не попробовав - не понять. Читай про prefix-mapping, namespace-aware, etc.

Ian ★★
()
Ответ на: комментарий от Ian

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

Ian ★★
()
Ответ на: комментарий от Ian

В общем истина такова, что пока ты не трогаешь namespaces - все хорошо, начал использовать - научись ими пользоваться и сотню раз посмотри как твой парсер обрабатывает XML с namespaces при разных настройках оного. А именно, что и в каком случае пишется в qualified name. Я такие случаи с атрибутами встречал - волосы дыбом вставали.

Ian ★★
()
Ответ на: комментарий от Ian

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

Но это же не проблема документации, это просто пробелы стандарта в части формализации обработки xml'ей с несколькими пространствами имён.

Один фиг сейчас по неймспейсам нет единой документации так что стандарт читать и читать.

Ещё проблема некоторых парсеров - даже при объявленной utf8-ности, они не понимают русские имена элементов, которые например делает 1С.

chumpa
()
Ответ на: комментарий от chumpa

Прочитать, безусловно, надо. Но если ты прочитал спеку - это к сожалению не означает, что ты знаешь как работет парсер, который ты решил использовать. =)

Ian ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.