... заявил один кекс из одной крутой конторы в части BOM в xml.
Ладно... убрали маркер. Его сервер радостно пока кушает наши xml. Но вот я засомневался... а как у юниксов в части переваривания &_amp; и подобных спец символов. У MS - это на ура и как должно быть. А у юникса (вспоминая пример с "непониманием" BOM)?
ПС. Вопрос на прямую задам ему позже. Просто инетересно, что думают юниксоиды. Может просто кодировать "&", равно как и "'" и т.д. в формате &#bla-bla. Вопрос имеет место быть т.к. как показало несложное исследование клиентское ПО той супер конторы может чеканить (если это не ошибка моего исследования) xml со спец символами напрямую в значениях атрибутов и тегов (разумеется IE пюлюётся).
мой юникс не понимает этих смешных символов
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
- Marmot
- Графоман
- Сообщения: 39279
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
Вопрос про транспорт UTF-8 символов Unicode-а мы как-то обсуждали здесь. Действительно, поскольку UTF-8 поток представляет последовательности байт, то BOM не нужен, как таковой (с точки зрения дальнейшего преобразования символа UTF-8 в символ набора UCS). Однако есть две причины не упускать BOM из виду -Marmot писал(а):А чем вам не нравится UTF-8 ? и не надо никаких BOM-ов.
И кстати, вопрос в целом некорректен: UNIX vs Windows, надо говорить о конкретных парсерах.
1) существуют высокоуровневые протоколы, которые используют BOM в начале потока, как сигнатуру, что это поток UTF (и какой к тому же UTF-?).
http://www.unicode.org/faq/utf_bom.html
Bytes Encoding Form
00 00 FE FF UTF-32, big-endian
FF FE 00 00 UTF-32, little-endian
FE FF UTF-16, big-endian
FF FE UTF-16, little-endian
EF BB BF UTF-8
Из той же приблизительно оперы http://msdn2.microsoft.com/en-us/librar ... amble.aspx
2) Вопрос не только в том, чтобы до парсиния помочь ПО определить, что за поток, но и в том, чтобы прикладное ПО получив документ не приняло бы BOM за данные. Не только Юниксовые программы но и Windows тоже обламывался на этом (http://support.microsoft.com/default.as ... -us;301623).
ПС. Это как в транспортных протоколах - если одна из сторон не понимает расширенных опций передачи данных, то соединение не должно ломаться. Здесь же, если принимающая сторона и не обрабатывает BOM, то, по крайней мере, она не должна отказываться принимать данные. С другой стороны посылающая сторона не должна делать предположений о том, обрабатывает, или нет приёмник BOM. Могут встретиться и такие и другие.
ППС. Microsoftowskie объекты DOM используют BOM по умолчанию, хотя, можно и отключить.
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага