目前我坚持使用纯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>
答案 0 :(得分: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>
Namespaces帮助唯一限定元素和属性。
但是,除非您使用well-known vocabulary,否则验证程序可能仍会报告命名空间未知的警告,并且您的数据可能与其他系统无法互操作。您可能需要检查其中一些XML词汇表,看看您的内容是否合适。
或者,您也可以使用<category>
element with a domain attribute:
<category domain="sku">{{var sku}}</category>
<category domain="price">{{var price}}</category>