1

目前我坚持使用普通的 XML/RSS 提要,我希望能够在我的 RSS 中使用更多“属性”作为字段,如何做到这一点?我在 Items 中的字段现在命名为 title、link、sku、price 和 category。rss w3 验证器不接受这一点。但我不认为我理解命名空间的概念,如果需要它们或者我可以这样做我的提要?

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Products from Category 1</title>
<link>www.linktoshop.com</link>
<description>Links from a category on my shop</description>
{{block type="product"}}
<item>
    <title>{{var title}}</title>
    <link>{{var link}}</link>
    <sku>{{var sku}}</sku>
    <price>{{var price}}</price>
    <category>{{var category}}</category>
</item>
{{/block}}
</channel>

4

1 回答 1

1

RSS 元素不绑定到名称空间。RSS 提要中未绑定到名称空间的任何元素都必须是 RSS 元素。您可以将自定义元素添加到您的 RSS 提要项,但它们需要位于命名空间中。例如:

<p:sku xmlns:p="urn:rfidic:product:core:ACME:sku">{{var sku}}</p:sku>
<g:price xmlns:g="http://base.google.com/ns/1.0">{{var price}}</g:price>

命名空间有助于唯一限定元素和属性。

但是,除非您使用众所周知的词汇表,否则验证器可能仍会报告命名空间未知的警告,并且您的数据可能无法与其他系统很好地互操作。您可能想检查其中一些 XML 词汇表,看看是否有任何内容适合您。


或者,您也可以只使用<category>具有域属性的元素

<category domain="sku">{{var sku}}</category>
<category domain="price">{{var price}}</category>
于 2013-02-14T18:37:18.807 回答