Как создать пустую RSS-ленту

Я немного новый для rss-каналов, но я могу динамически создавать канал с помощью PHP, и он отлично работает. Моя проблема в том, что иногда у фида нет предметов (я ограничиваю возраст фид до 60 дней, а иногда ничего не происходило за это время).

То, что я ожидал бы, это то, что у меня просто не было бы никаких <item> s на моей странице xml. Однако, когда я это делаю, читатель каналов (по крайней мере, один Google) кажется немного обеспокоенным. Несмотря на то, что XML правильно содержит имя фида, он отображается без заголовка.

Единственный способ, который я нашел, чтобы исправить это, – это ввести фиктивный элемент, то есть просто <item><title></title></item> . Затем мой читатель Google правильно находит имя фида, и он просто выглядит как пустой канал.

Похоже, что это хоккейное решение, которое, вероятно, неверно.

Существует ли какой-либо стандартный способ обработки XML-представления для пустого канала?

Изменить: вот что выглядит пустой поток

 <?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> <title>News at Example</title> <link>http://www.example.com/feed/sample-reviews</link> <description>Latest Additions to the Sample Category</description> <dc:language>en-us</dc:language> <dc:creator>Contact Example through our "contact us" page</dc:creator> <dc:rights>Copyright 2010 Example Technologies Inc.</dc:rights> <admin:generatorAgent rdf:resource="http://www.codeigniter.com/" /> <item><title></title></item> </channel></rss> 

Related of "Как создать пустую RSS-ленту"

Пустой канал – это кормовой корпус (обычно XML) без каких-либо элементов. Корпус должен быть действительным, чтобы он был действительным фидом.

Из спецификации RSS 2.0 , в то время как с 2003 года:

Канал может содержать любое количество <item> s

Однако, по крайней мере, из одного RSS XSD мы видим, что это не заслужено, и разработчики знают это:

       <xs: element name = "item" type = "RssItem" minOccurs = "1" maxOccurs = "unbounded">
          <! - 
            HACK: Согласно спецификации RSS 2.0, должно быть строго возможно иметь нулевые элементы элемента, 
                  но это делает схему недетерминированной в отношении элементов расширяемости
                  поэтому на данный момент мы отключили ошибку-исправление 10231 и установили minOccurs = 1, чтобы обойти эту проблему. 
          ->
       </ Хз: элемент>

Попробуйте фид у разных клиентов. Возможно, это просто причуда реализации Google. YMMV.

Счастливое кодирование.

Изменить: для удовольствия от этого, см. Вопрос SO: Где я могу найти официальную схему XSD для RSS 2.0? , На самом деле это подрыв, на самом деле: – /

Подача с нулевыми позициями вполне допустима. Если Google Reader не справляется с этим должным образом, он должен быть сообщен им как ошибка, и они должны его исправить.