есть один подводный камень при подобном подходе (уже споминался несколько раз)
Misha v.3 12.09.2007 14:07
если rss/xml формируется в зависимости от отправляемых при http запросе данных, то в случае с binary они не будут перекодироваться, соотв. отправить русские буквы цивилизованным способом невозможно.
если грузить в режиме text, то отправляемые поля будут перекодированы, но и пришедший обратно текст также будет перекодирован обратно, но это как раз и плохо, т.к. в xml declaration (это часть текста) останется <?xml encoding="старая кодировка"?>, т.е. для того чтобы из этого создать xdoc надо match-ем заменить её на нашу кодировку. это лишнее телодвижение, зато если вынести подобное в отдельный метод то это работает и в случае, если надо отправить текстовые поля.
чтобы решить описанные выше неудобства некоторое время назад в HEAD версию был добавлен ещё один конструктор xdoc: ^xdoc::create[файл], т.е. можно так:
$f[^file::load[text;http://...;
$.form[
$.name[Вася]
]
$.timeout(5)
$.charset[UTF-8]
]
$x[^xdoc::create[$f]]
что касается "перекодирования rss": некоторые пишут свои агрегаторы (зачем -- не знаю). очевидно, что если из разных источников получили данные в разных кодировках (хотя для rss кодировка utf8 must have), то чтобы выдать данные в одну ленту что то придётся "перекодировать".
- Перекодировка RSS на лету., clover 11.09.2007 18:02
- load[binary;, Александр Петросян (PAF) [M] 11.09.2007 22:36
- есть один подводный камень при подобном подходе (уже споминался несколько раз), Misha v.3 [M] 12.09.2007 14:07
- получил ошибку, clover 12.09.2007 06:31
- Ответ, clover 12.09.2007 04:53