Zend_Feed-ConsumingAtom.xml 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <sect1 id="zend.feed.consuming-atom">
  2. <title>Работа с лентой Atom</title>
  3. <para>
  4. <code>Zend_Feed_Atom</code> используется в основном так же, как и
  5. <code>Zend_Feed_Rss</code>. Он предоставляет те же доступ к свойствам
  6. ленты и обход сообщений в ленте. Основное отличие заключается в самой
  7. структуре ленты по протоколу Atom. Atom является преемником RSS, это более
  8. обобщенный протокол. Он разработан для более легкой работы с лентами, и
  9. предоставяет полное информационное содержимое внутри самой ленты, разделив
  10. для этой цели тег <code>&lt;description&gt;</code> в RSS на два элемента —
  11. <code>&lt;summary&gt;</code> (анонс) и <code>&lt;content&gt;</code> (содержимое).
  12. </para>
  13. <example id="zend.feed.consuming-atom.example.usage">
  14. <title>Основы использования ленты Atom</title>
  15. <para>
  16. Чтение ленты Atom, вывод <code>title</code> и <code>summary</code>
  17. для каждого сообщения:
  18. </para>
  19. <programlisting language="php"><![CDATA[
  20. $feed = new Zend_Feed_Atom('http://atom.example.com/feed/');
  21. echo 'The feed contains ' . $feed->count() . ' entries.' . "\n\n";
  22. foreach ($feed as $entry) {
  23. echo 'Title: ' . $entry->title() . "\n";
  24. echo 'Summary: ' . $entry->summary() . "\n\n";
  25. }]]>
  26. </programlisting>
  27. </example>
  28. <para>
  29. В ленте Atom (элемент <code>&lt;feed&gt;</code>) должны
  30. присутствовать следующие свойства:
  31. </para>
  32. <para>
  33. <itemizedlist>
  34. <listitem>
  35. <para>
  36. <code>title</code> — заголовок ленты, аналогичен заголовку RSS-канала
  37. </para>
  38. </listitem>
  39. <listitem>
  40. <para>
  41. <code>id</code> — каждая лента и каждое сообщение в Atom имеют свои
  42. уникальные идентификаторы
  43. </para>
  44. </listitem>
  45. <listitem>
  46. <para>
  47. <code>link</code> — лента может иметь одну или несколько ссылок, которые
  48. имеют атрибут <code>type</code>
  49. </para>
  50. <para>
  51. Эквивалентом ссылке в RSS-канале будет <code>type="text/html"</code>. Если
  52. ссылка ведет на альтернативную версию того же контента, что представлен
  53. в ленте, она должна иметь атрибут <code>rel="alternate"</code>.
  54. </para>
  55. </listitem>
  56. <listitem>
  57. <para>
  58. <code>subtitle</code> — описание ленты, эквивалентен описанию RSS-канала
  59. </para>
  60. <para>
  61. <code>author->name()</code> — имя автора ленты
  62. </para>
  63. <para>
  64. <code>author->email()</code> — e-mail автора ленты
  65. </para>
  66. </listitem>
  67. </itemizedlist>
  68. </para>
  69. <para>
  70. Сообщения Atom (элемент <code>&lt;entry&gt;</code>) обычно имеют
  71. следующие свойства:
  72. </para>
  73. <para>
  74. <itemizedlist>
  75. <listitem>
  76. <para>
  77. <code>id</code> — уникальный идентификатор сообщения
  78. </para>
  79. </listitem>
  80. <listitem>
  81. <para>
  82. <code>title</code> — заголовок сообщение
  83. </para>
  84. </listitem>
  85. <listitem>
  86. <para>
  87. <code>link</code> — ссылка на альтернативное представление
  88. сообщения в другом формате
  89. </para>
  90. </listitem>
  91. <listitem>
  92. <para>
  93. <code>summary</code> — аннотация к содержимому сообщения
  94. </para>
  95. </listitem>
  96. <listitem>
  97. <para>
  98. <code>content</code> — полное содержимое сообщения,
  99. может быть пропущен, если лента содержит только аннотации
  100. </para>
  101. </listitem>
  102. <listitem>
  103. <para>
  104. <code>author</code> — с субтегами <code>name</code> и <code>email</code>,
  105. как у элемента <code>feed</code>
  106. </para>
  107. </listitem>
  108. <listitem>
  109. <para>
  110. <code>published</code> — дата публикации в формате RFC 3339
  111. </para>
  112. </listitem>
  113. <listitem>
  114. <para>
  115. <code>updated</code> — дата последнего изменения сообщения
  116. в формате RFC 3339
  117. </para>
  118. </listitem>
  119. </itemizedlist>
  120. </para>
  121. <para>
  122. Другие ресурсы и дополнительную информацию по Atom ищите на сайте:
  123. <ulink url="http://www.atomenabled.org/">http://www.atomenabled.org/</ulink>.
  124. </para>
  125. </sect1>
  126. <!--
  127. vim:se ts=4 sw=4 et:
  128. -->