среда, 31 августа 2011 г.

Re: Ruby 1.9.2, Builder и текст в UTF-8

Привет.

Не годится, извините:
xml << "<h1>Заголовок не экранируется</h1><p>и тэги тоже</p><p>что ломает XML</p>"

В тэге я хочу вот такое вот — "&lt;h1&gt;Заголовок не экранируется&lt;/h1&gt;"

2011/8/31 Sergey Zavilkin <nifarius@gmail.com>
файл index.xml.builder

xml = Builder::XmlMarkup.new(:indent=> 0)

xml.instruct!(:xml, :encoding => "UTF-8")
xml.games do
 ...
     xml.owner do
       xml << 'Администратор всея игры'  # тут не будет экранировать
     end
     xml.name do
       xml << game.name # и тут не будет экранировать
     end
 ...

end



On 31 авг, 14:36, Andrei Dziahel <devel...@develop7.info> wrote:
> Всем привет.
>
> Преамбула. Готовлю (точнее допиливаю) RSS для сервиса Яндекс.Новости. Фид
> готовится, натурально, Builderом <http://builder.rubyforge.org/>, который
> экранирует не-ASCII символы (делает из них entities типа &#1234;). Мне-то
> всё равно, да и всяким читалкам тоже. Но вот в яндексе настоятельно просят
> так не делать -- им вроде как нужно смотреть в исходник фида глазами, а
> entities они читать не умеют.
>
> README Builderа гласит (в сааамом конце), что
>
> > You can get UTF-8 encoded output by making sure that the XML encoding is
> > set to "UTF-8" and that the $KCODE variable is set to "UTF8".
>
> Однако в Ruby 1.9 глобальная переменная $KCODE игнорируется, о чём
> интерпретатор и ругается при попытке присвоить ей что-нибудь.
>
> Использовать << мне не подходит -- экранировать тэги (а именно, символы "<" и
> ">") *нужно*. По той же причине не подходит monkeypatch, отрубающий
> эскейпинг вообще/по запросу.
> И да, баг в bundler висит уже джва
> года<https://www.pivotaltracker.com/projects/29210?story_id=1255764>
> .
>
> Собственно, вопросы
>
>    - возможно ли разрешить эту проблему средствами Builder?
>    - есть ли в природе готовый патч к builder, чинящий эту багу?
>    - подвержены ли этому багу аналоги Builder?
>    - если нет -- сложно ли заставить приложение использовать аналог?
>
> Заранее благодарен.
> --
> Regards,
> Andrei Dziahel

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

 Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
 Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
 Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru



--
Regards,
Andrei Dziahel

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
 
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

Комментариев нет:

Отправить комментарий