2013-02-14 42 views
1

目前我被簡單的XML/RSS提要卡住了,我希望能夠在RSS中使用更多的「屬性」作爲字段,這怎麼辦?項目中的我的字段現在被命名爲標題,鏈接,sku,價格和類別。這不被rss w3驗證器接受。但是我不認爲我理解命名空間的概念,並且如果需要它們,或者我可以用這種方法來做我的饋送?用於出口的產品的RSS提要

<?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> 

回答

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>