2012-06-19 7 views
8

में बिखरे हुए तत्वों की पहचान करने के लिए मेरे डेवलपर ने HTML टेबल्स का उपयोग करके उत्पादों की एक सूची को कोड किया। कोड इस तरह कुछ आया:माइक्रोडाटा आइटम आईडी एक HTML दस्तावेज़/एचटीएमएल टेबल

<table> 
<tr class="name"> 
<td>Product Name #1</td><td>Product Name #2</td><td>Product Name #3</td> 
</tr> 
<tr class="price"> 
<td>Product Price #1</td><td>Product Price #2</td><td>Product Price #3</td> 
</tr> 
<tr class="brand"> 
<td>Product Brand #1</td><td>Product Brand #2</td><td>Product Brand #3</td> 
</tr> 
</table> 

आपको यह विचार मिलता है। दृश्यमान यह सही दिखता है, लेकिन schema.org के माध्यम से मार्कअप करने का प्रयास करते समय, मैं मुद्दों में भाग ले रहा हूं, क्योंकि उत्पाद गुण मौजूद नहीं हैं, वे घनिष्ठ HTML तत्व हैं, लेकिन तालिका में फैले हुए हैं। ItemID माइक्रोडाटा विशेषता का उपयोग करने का कोई तरीका होगा यह सुनिश्चित करने के लिए कि प्रत्येक ब्रांड और मूल्य सही उत्पाद नाम से जुड़ा हुआ है?

कुछ की तरह:

<tr class="name"> 
<td itemscope itemtype="http://www.schema.org/Product" itemID="Product1">Product Name #1</td> 
<td itemscope itemtype="http://www.scema.org/Product" itemID="Product2">Product Name #2</td> 

आदि, आदि किसी भी विचार? क्या मेरे पास यह काम करने के लिए पृष्ठों को दोबारा कोड किया जाएगा?

उत्तर

6

हां, आइटमिड ऐसा करने का सही तरीका है। आपका उदाहरण कुछ इस तरह दिखेगा:

<table> 
    <tr class="name"> 
    <td itemscope itemtype="http://www.schema.org/Product" itemid="Product1"> 
     <span itemprop="name">Product Name #1</span> 
    </td> 
    <td itemscope itemtype="http://www.schema.org/Product" itemid="Product2"> 
     <span itemprop="name">Product Name #2</span> 
    </td> 
    </tr> 
    <tr class="price"> 
    <td itemscope itemtype="http://www.schema.org/Product" itemid="Product1"> 
     <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 
     <span itemprop="price">Product Price #1</span> 
     </div> 
    </td> 
    <td itemscope itemtype="http://www.schema.org/Product" itemid="Product2"> 
     <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 
     <span itemprop="price">Product Price #2</span> 
     </div> 
    </td> 
    </tr> 
</table> 

ही Itemid फिर से उपयोग कर, आप माइक्रो़डेटा पार्सर कि आप पृष्ठ के विभिन्न भागों में एक ही आइटम के बारे में बात कर रहे हैं कह रहे हैं के द्वारा।

+0

[ 'itemid'] का उपयोग माइक्रो़डेटा परीक्षण कर सकते हैं (http://www.w3.org/TR/2013/NOTE-microdata-20131029/# attr-itemid) "एक मान होना चाहिए जो वैध यूआरएल है"। – unor

+0

@unor सापेक्ष URLS वैध आइटम आईडी –

+0

आह, यह सही है। – unor

6

असल में, आइटमिड ऐसा करने का सही तरीका नहीं होगा। आरडीएफ के विपरीत, माइक्रोडाटा पार्सिंग मॉडल उन चीजों में शामिल नहीं होता है जिनमें एक ही आइटमिड होता है।

इसके बजाय, आपको itemref विशेषता का उपयोग करना चाहिए।

उदाहरण के लिए:

<div itemscope itemtype="http://schema.org/Product" itemref="foo"></div> 
<div id="foo" itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 
    <span itemprop="price">Product Price #1</span> 
</div> 

आप http://foolip.org/microdatajs/live/

संबंधित मुद्दे