Понимание подачи
Перед использованием Подписки Публикации важно понять то, что подача и как они работают. Эта глава объясняет структуру данных канала, как канал создается, различные типы подачи, и как использовать различные пространства имен канала.
Что такое канал?
Канал является XML-документом, содержащим часто обновляемую информацию. Канал предоставляет информацию или информационно-независимый из представления. Таким образом XML-документ может быть проанализирован приложением для получения информации без дополнительного стиля всей веб-страницы. Кроме того, приложение парсинга может определить, какая информация является новой, и отметьте его как таковой.
Существует хороший шанс, Вы уже использовали канал, даже если Вы не знали это. При выполнении Safari в OS X v10.4 Тайгер в панели закладок существует много предварительно установленных закладок. В папке News (на рисунке 1-1), многие закладки, такие как Washington Post и Новости CNET, являются подачей, не веб-страницами. Каждые 30 минут Safari загружает каждую эту подачу и проверки на любые новые заголовки. Если существуют новые заголовки, Safari помещает число рядом с закладкой, соответствующей числу новых записей (рисунок 1-1). Safari также показывает Вам статью при выборе закладки.

Заголовки новостей обычно сохранены как канал. Когда новый заголовок доступен, он добавляется к каналу как запись. Затем приложение в системе пользователя (такой как Safari) загружает обновленный канал, анализирует его и проверяет на новый заголовок. Рисунок 1-2 показывает, как Safari выводит на экран канал записей New York Times.

Подача не ограничивается текстом; можно сделать канал, соединяющийся с любым типом данных. Например, подкаст является просто каналом с аудиофайлами в дополнение к тексту. Точно так же фотобросок является каналом с изображениями.
Подача может также использоваться для публикации любых двоичных данных. Например, Вы могли создать канал, содержащий обновления программного обеспечения для Вашего приложения. Ваше приложение может проверить канал и, когда новое обновление доступно, загрузите его с сервера.
Как сгенерирована подача
Так как подача является просто XML-документами, они могут быть созданы с помощью текстового редактора. Добавление новых записей вручную, однако, является утомительным и подверженным ошибкам процессом. Как правило, жизнь канала начинается, когда пользователь создает запись (текст, графика, аудио, и т.п.) и добавляет его к базе данных. Тогда приложение берет записи от базы данных и производит канал. Часто приложение создает больше, чем просто канал; это также генерирует веб-страницу. Приложение, генерирующее канал, может быть или локальным для системы пользователя или веб-. Посмотрите рисунок 1-3.

Форматы канала
Формат канала является определенным набором элементов XML, используемых в канале. Подписка публикации поддерживает четыре обычно используемых формата канала:
RSS 0.9
RSS 1.0
RSS 2.0
Формат синдикации Atom
Даже при том, что эти стандарты имеют аналогичные имена, их элементы очень отличаются. Например, сравните элементы XML для записи в формате RSS 2.0 (Перечисление 1-1) с элементами в Формате Синдикации Atom (Перечисление 1-2). Вы заметите, что, в то время как содержание обеих записей является тем же, элементы, определяющие их, отличаются.
Перечисление 1-1 запись канала в RSS 2.0
<item> |
<title>Welcome!</title> |
<pubdate>Fri, 27 Oct 2006 18:51:39 GMT</pubdate> |
<author>Matt</author> |
<description>Hello World!</description> |
</item> |
Перечисление 1-2 запись канала в Формате Синдикации Atom
<entry> |
<author> |
<name>Matt</name> |
</author> |
<title>Welcome!</title> |
<modified>2006-10-27T18:51:39Z</modified> |
<issued>2006-10-27T18:51:39Z</issued> |
<content type="text/plain">Hello World!</content> |
</entry> |
Подписка публикации разработана для интерпретации каждого из этих четырех форматов. Так как API инкапсулирует каждый из форматов, независимо от того которые форматируют Ваш канал, находится в, методы для интерпретации их являются тем же.
Для получения дополнительной информации о каждом из форматов XML:
Читайте http://en .wikipedia.org/wiki/Really_Simple_Syndication для узнавания больше о RSS 0.9, RSS 1.0 и форматах RSS 2.0
Читайте http://en .wikipedia.org/wiki/Atom _ % 28standard%29 для узнавания больше о Формате Синдикации Atom.
Что такое дополнительный XML?
Могут быть времена, когда канал, который Вы подписываете на элементы использования, которые не являются частью одного из форматов канала. Дополнительный XML расширяет спецификации для поддержки специализированных данных или объектов, подобных сменной системе для подачи. Дополнительный XML относится к набору элементов за пределами формата канала, также известного как пространство имен. Каждое пространство имен идентифицируется уникальным URL. Пространство имен URLs определяется в начале канала и часто связывается с более простым для запоминания строки. Эта строка известна как префикс пространства имен.
Например, канал, имеющий информацию о банковском счете, мог бы использовать пространство имен банка, идентифицированное URL http://www.example.com/bank, и префикс пространства имен bank. Это пространство имен могло бы иметь элементы такой как owner, address, checking и savings. Запись с помощью этого пространства имен была бы похожа на то в Перечислении 1-3.
Перечисление 1-3 расширение Atom пример XML
<feed xmlns="http://www.w3.org/2005/Atom" |
xmlns:bank="http://www.example.com/bank"> |
... |
<item> |
<title>Account2004</title> |
<bank:owner>John Doe</bank:owner> |
<bank:address>1 Infinite Loop, Cupertino, CA 95014</bank:address> |
<bank:checking>111829384</bank:checking> |
<bank:savings>949289291</bank:savings> |
</item> |
Существует много дополнительных пространств имен, уже определенных. Один из самых популярных, если для подкаста iTunes. Хороший ресурс для нахождения пространств имен является Дублинской Инициативой Метаданных Ядра, а также rss-extensions.org.
Понимание структуры и потока операций канала важно для использования платформы Подписки Публикации. Знание о компонентах канала и организации четырех главных стандартов канала поможет Вам понять организацию платформы Подписки Публикации и ее компонентов.