RSS-канал с вложенными элементами, каков правильный способ?

#rss #nested

#RSS-канал #вложенный

Вопрос:

У меня есть продукт, который имеет несколько вариантов. Я хотел бы в RSS-канале показать это как параметр вложенных элементов, но я не знаю, допустимо это или нет:

 <?xml version="1.0" encoding="US-ASCII" ?>
<rss version="2.0"
    xmlns:s="http://example.com/s">
    <channel>
        <title>Examle RSS</title>
        <link>http://www.example.com/</link>
        <description>Example Product Feed</description>
        <language>en-us</language>

        <item>
             <title>My Product</title>
             <description>An amazing item!</description>
             <item>
                 <title>AS-435</title>
                 <s:price>$34.00</s:price>
             </item>
        </item>

    </channel>
</rss>
  

Если это недопустимо, каков наилучший способ сделать это?

Ответ №1:

Это неверно, но это очень интересная идея.

Вам пришлось бы поместить внутренние элементы в новое пространство имен.

И имейте в виду, что никто другой не поймет, что вы делаете.

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

1. Ну, это для конкретного клиента, которому нужна вся эта информация, и они будут анализировать ее сами, поэтому я склонен полагать, что это может сработать для моих целей…

2. Вот как это пространство имен будет выглядеть. rsscloud.org/namespace.html Я пробовал это как идею для продукта, который я не отправлял. Но вот как это будет работать.

Ответ №2:

Определение RSS-схемы для <элемента> не включает опцию для другого подэлемента <элемента>. (http://cyber.law.harvard.edu/rss/rss.html )

Если данные должны использоваться только собственным анализатором вашего клиента, почему бы не отказаться от схемы RSS и не использовать пользовательскую?

В противном случае, если было бы полезно быть совместимым с программами чтения каналов, почему бы не создать канал для каждого типа элемента в стиле Web 2.0? Например, один для продуктовых линеек, один для моделей продуктов и один для марок продуктов. Лучше сделайте каналы доступными для запросов и идентифицируйте каждый элемент уникальным идентификатором.

На самом деле я нашел эту тему, чтобы продвигать свою повестку дня.