hproduct: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
No edit summary
m (Reverted edits by ABIDEEN10 (Talk) to last version by Tantek)
Line 1: Line 1:
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
<entry-title>hProduct</entry-title>
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
{{DraftSpecification}}
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
__TOC__
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
hProduct is a microformat suitable for publishing and embedding product data. hProduct is one of several open microformats standards suitable for embedding in HTML, XHTML, Atom, RSS, and arbitrary XML.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
==hProduct Microformat Draft Specification==
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
; Editors/Authors
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
(alphabetical)
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
* [[User:PaulLee|Paul Lee]], Google Product Search
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
* [[User:JayMyers|Jay Myers]], [http://www.bestbuy.com/ Best Buy, Co., Inc.]
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
; Contributors
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
(alphabetical)
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
* Craig Cook, [http://focalcurve.com/ Focal Curve]
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
* Aaron Gustafson, [http://easy-designs.net/ Easy! Designs]
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
Microformats [[hproduct#Copyright|copyright]] and [[hproduct#Patents|patents]] statements apply.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
== Status ==
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
Draft, version 0.3.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
== Introduction ==
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
The web is a thriving consumer marketplace with a plethora of manufacturers and vendors scattered across the globe. Sifting through massive amounts of unstructured product data is a difficult task for both browsers and machines alike. The hProduct microformat gives structure to this metadata by providing constructs to identify universal product attributes, plus a mechanism to accomodate the wide variation in product attributes.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
The hProduct microformat can assist consumers, manufacturers and retailers in a number of ways. If a browser or application understands that a specific web page contains the hProduct microformat, it can inform and help facilitate the best product choice by the consumer to fulfill their needs. An adopted, open standard will ensure the correct product data is published between manufacturers and retailers, to the benefit of the consumer. Bringing order and structure to product data makes it easy for people and organizations to list the products and services they offer, and easy for web services to consume that product data for analysis and syndication.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
=== Semantic XHTML Design Principles ===
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
{{SemanticXHTMLDesignPrinciples}}
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
=== Inspiration and Acknowledgment ===
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
Many thanks go out to the contributors who laid the foundation for the current hProduct draft spec.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
=== Scope ===
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
Giving details about a particular product is sometimes very complex as parameters are different for books and CDs than they are for iPods or cars. It should be very easy to mark up an item using hProduct and the syntax should be simple yet flexible enough for more advanced applications.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
=== Out of Scope ===
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
This microformat does not intend to replicate any of the content proposed within [[hListing]] and would defer all money/transactional matters to that microformat. This microformat also does not attempt to specify a product ontology, or category-specific attributes; instead, it aims to create a framework to allow for flexible expression of both.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
== Format ==
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
{{rfc-2119-intro}}
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
=== In General ===
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
The hProduct format is based on a set of fields common to numerous ecommerce sites and formats in use today on the web.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
=== Schema ===
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
The hProduct schema consists of the following (see existing class names for reference):
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*hproduct
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
** brand. optional. text. can also use [[hcard|hCard]] for manufacturer.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
** category. optional. text. can also use rel-tag. re-used from [[hcard|hCard]].
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
** price. optional. floating point number. can use currency format.  
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
** description. optional. text. can also include valid HTML markup. re-used from [[hreview|hReview]].
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
** fn. '''required.''' text. product name or title. re-used from [[hcard|hCard]].
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
** photo. optional. image element or link. re-used from [[hcard|hCard]].
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
** url. optional. href. can contain rel-tag rel='product'. re-used from [[hcard|hCard]].
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
** review. optional. [[hreview|hReview]], or [[hreview-aggregate|hReview-aggregate]].
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
** listing. optional. [[hlisting|hListing]], or [[aggregate-microformat-template-examples|hListing-aggregate]].
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
** identifier. optional.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*** type. required. - examples:
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**** model
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**** mpn
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**** upc
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**** isbn
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**** issn
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**** ean
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**** jan
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**** sn
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**** vin
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**** sku
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*** value. required. - label may be implied
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
=== Field details ===
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
Class names <code class="class-name">category</code>, <code class="class-name">fn</code>, <code class="class-name">photo</code>, <code class="class-name">url</code> are reused from [[hcard|hCard]]. <code class="class-name">description</code> is reused from [[hreview|hReview]].
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
The fields of the hProduct schema represent the following:
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">hproduct::</code>''' Root class name
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">brand::</code>''' the class name brand is used identify brand of the product. {{should}} use [[hcard|hCard]] for manufacturer name. {{must}} be singular.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">category::</code>''' the class name category identifies product category. {{may}} use [[rel-tag]] microformat. {{may}} be plural to represent multiple categories.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">price::</code>''' the class name price is used to indicate the price of the product. {{must}} be singular.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">description::</code>''' the class name description is used to describe the product. {{must}} be singular.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">fn::</code>''' product text name. {{must}} be singular.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">photo::</code>''' the class name photo {{may}} be applied to an <img> or <a> element. {{may}} be plural.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">url::</code>''' the class name url {{should}} refer to the web page associated with product details. {{may}} use [[rel-tag]], rel='product'. {{must}} be singular.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">review::</code>''' the class name review identifies review(s) for the product. {{should}} use [[hreview|hReview]]. {{may}} be plural.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">listing::</code>''' the class name listing identifies product listings. {{should}} use [[hlisting|hListing]]. {{may}} be plural.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
*'''<code class="class-name">identifier::</code>''' the identifier structure is used to describe product identifiers like Model, UPC or SKU, and is designed to accommodate new or as-yet-unidentified identifiers. {{should}} be singular.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**'''<code class="class-name">type::</code>''' the class name type identifies the identifier type.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
**'''<code class="class-name">value::</code>''' label {{may}} be implied
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
=== Additional Details ===
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
'''Note:''' If hProduct markup is used in a "standalone" fashion (eg. a manufacturer site that's not commerce enabled, strictly informational), it is assumed that the price attribute represents the manufacturer's suggested retail price. Any transactional (commerce) representation of price should be delegated to [[hlisting|hListing]].
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
''Internationalization'': Though there are many English-language tokens, they are only used as invisible class-names; user-visible listing information can be completely localized. Note that (X)HTML LANG attribute rules still apply as usual, for multilingual aggregators of hProduct.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
=== Relationships with other microformats ===
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
Products can be complex structures with attributes and features that may fall outside the bounds of the proposed hProduct microformat. Care has been taken to provide just enough attributes to accurately represent products while not overloading the hProduct spec. This means that complete semantic solutions would rely on using hProduct in combination with other microformats to achieve their goals. Through [[hproduct-examples#Coded_examples|examples]] (see also: [[hproduct-recipes|recipes]]) and [[hproduct-examples#Analysis_of_Product.2FCommerce_Sites|analysis]], there are some clear relationships between hProduct and these microformats:
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
* [[hlisting|hListing]] :: provides additional context to the transaction side of a product, including elements like the transactional price.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
* [[hReview|hReview]]/hAggregate(concept) :: research shows that many commerce sites include product reviews, and they are often aggregated to provide overall ratings and reviews on the web. Utilizing these microformats can provide additional data around a product or service.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
* [[xoxo|xoxo]] :: to address property-value data that may be necessary for a complete data representation of a product.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
Of course, these are just a few of many that could be used with the hProduct microformat.
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
 
MAKE GOD DO WHAT I WANT.MAKE ALLAH DO WHAT I WANT.PUT I TO HEAVEN GOD.PUT I TO HEAVEN ALLAH.
=== XMDP Profile ===
<pre>
<dl class="profile">
<dt>class</dt>
<dd><p>
  <a rel="help" href="http://www.w3.org/TR/html401/struct/global.html#adef-class">
  HTML4 definition of the 'class' attribute.</a>
  This meta data profile defines some 'class' attribute values (class names)
  and their meanings as suggested by a
  <a href="http://www.w3.org/TR/WD-htmllink-970328#profile">
  draft of "Hypertext Links in HTML"</a>.</p>
<dl>
<dt>hproduct</dt>
<dd>Used to identify and describe metadata universally common to products.</dd>
<dt>brand</dt>
<dd>The brand name of the product.</dd>
<dt>category</dt>
<dd>The product category/ categories the product belongs to.</dd>
<dt>price</dt>
<dd>The price of the product.</dd>
<dt>description</dt>
<dd>The full text representing the written description of the product.</dd>
<dt>fn</dt>
<dd>The common name of the product.</dd>
<dt>photo</dt>
<dd>Accompanying image of the product.</dd>
<dt>url</dt>
<dd>A link to the product details.</dd>
<dt>review</dt>
<dd>A review of the product.</dd>
<dt>listing</dt>
<dd>Listing details of the product.</dd>
<dt>identifier</dt>
<dd>The product identifier like Model, SKU, ISBN, or EAN associated with the product</dd>
</dl>
</dd>
</dl>
</pre>
 
=== Notes ===
This section is informative.
*...
 
== Examples ==
* need actual simple demonstration hProduct examples here! (not examples of what actual sites are doing - that's the next section)
 
Editors: please see http://microformats.org/wiki/hrecipe#Examples for example of an example in spec.
 
...
 
== Examples in the wild ==
This section is '''informative'''.
 
Sites and pages that publish hProducts.  
 
See [[hproduct-examples-in-wild|hProduct Examples in the wild]].
 
== Implementations ==
This section is '''informative'''.  
 
Tools for generating and consuming hProducts. When it gets too big we can move it to a separate page like [[hproduct-implementations]].
 
* Google parses some hProduct properties and adds extensions:
An example is a HP printer product page parsed with the help of Google Rich Snippets Tool: [http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Fwww.shopping.hp.com%2Fproduct%2Fprinter%2Finkjet%2F1%2Fstorefronts%2FC9295A%252523B1H HP Printer Product] from which Google extracted the following hProduct elements:
 
<pre>
hproduct
  availability = In stock
  fn = HP Officejet 6000 Wireless Printer
  identifier
      type = SKU
      value = C9295A#B1H
  price = $119.99
  review hreview-aggregate
      item fn = HP Officejet 6000 Wireless Printer
      rating
        average (normalized to 5.0 scale) = 3.5
        average = 3.4
  count = 69
</pre>
 
The "availability" extension was added by Google to further improve details about the availability of a product when it's listed. Google also provides the [http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=146750#offer_properties "availability" values reference]:
<pre>
- out_of_stock
- in_stock
- instore_only
- preorder
</pre>
 
The "availability" value can be typed in without the linking underscores, to reduce the visual impact e.g.:
<pre>
    <span class="availability">In stock</span>
</pre>
 
 
* Karniyarik.com [http://www.karniyarik.com/karniyarik-web] is a vertical search engine for online goods and has experimental hProduct support.
* ...
 
== Copyright ==
* [[User:JayMyers|JayMyers]]: I release all of my contributions to the public domain.
 
{{MicroFormatPublicDomainContributionStatement}}
 
== Patents ==
{{MicroFormatPatentStatement}}
 
== Related ==
* '''hproduct'''
* [[hproduct-issues]]
* [[hproduct-faq]]
* [[hproduct-examples]]
* [[hproduct-recipes]]
 
* [[product]]
* [[product-examples]]
* [[product-formats]]
* [[product-brainstorming]]
 
[[Category:Draft Specifications]]
[[Category:hProduct]]

Revision as of 04:59, 7 April 2013

<entry-title>hProduct</entry-title> This document represents a draft microformat specification. Although drafts are somewhat mature in the development process, the stability of this document cannot be guaranteed, and implementers should be prepared to keep abreast of future developments and changes. Watch this wiki page, or follow discussions on the #microformats IRC channel to stay up-to-date.

hProduct is a microformat suitable for publishing and embedding product data. hProduct is one of several open microformats standards suitable for embedding in HTML, XHTML, Atom, RSS, and arbitrary XML.

hProduct Microformat Draft Specification

Editors/Authors

(alphabetical)

Contributors

(alphabetical)

Microformats copyright and patents statements apply.

Status

Draft, version 0.3.

Introduction

The web is a thriving consumer marketplace with a plethora of manufacturers and vendors scattered across the globe. Sifting through massive amounts of unstructured product data is a difficult task for both browsers and machines alike. The hProduct microformat gives structure to this metadata by providing constructs to identify universal product attributes, plus a mechanism to accomodate the wide variation in product attributes.

The hProduct microformat can assist consumers, manufacturers and retailers in a number of ways. If a browser or application understands that a specific web page contains the hProduct microformat, it can inform and help facilitate the best product choice by the consumer to fulfill their needs. An adopted, open standard will ensure the correct product data is published between manufacturers and retailers, to the benefit of the consumer. Bringing order and structure to product data makes it easy for people and organizations to list the products and services they offer, and easy for web services to consume that product data for analysis and syndication.

Semantic XHTML Design Principles

XHTML is built on XML, and thus XHTML-based formats can be used not only for convenient display presentation, but also for general-purpose data exchange. In many ways, XHTML-based formats exemplify the best of both HTML and XML worlds. However, when building XHTML-based formats, it helps to have a guiding set of principles.

  1. Reuse the schema (names, objects, properties, values, types, hierarchies, constraints) as much as possible from pre-existing, established, well-supported standards by reference. Avoid restating constraints expressed in the source standard. Informative mentions are ok.
    1. For types with multiple components, use nested elements with class names equivalent to the names of the components.
    2. Plural components are made singular, and thus multiple nested elements are used to represent multiple text values that are comma-delimited.
  2. Use the most accurately precise semantic XHTML building block for each object etc.
  3. Otherwise use a generic structural element (e.g. <span> or <div>), or the appropriate contextual element (e.g. an <li> inside a <ul> or <ol>).
  4. Use class names based on names from the original schema, unless the semantic XHTML building block precisely represents that part of the original schema. If names in the source schema are case-insensitive, then use an all lowercase equivalent. Components names implicit in prose (rather than explicit in the defined schema) should also use lowercase equivalents for ease of use. Spaces in component names become dash '-' characters.
  5. Finally, if the format of the data according to the original schema is too long and/or not human-friendly, use <abbr> instead of a generic structural element, and place the literal data into the 'title' attribute (where abbr expansions go), and the more brief and human-readable equivalent into the element itself. Further informative explanation of this use of <abbr>: Human vs. ISO8601 dates problem solved

Inspiration and Acknowledgment

Many thanks go out to the contributors who laid the foundation for the current hProduct draft spec.

Scope

Giving details about a particular product is sometimes very complex as parameters are different for books and CDs than they are for iPods or cars. It should be very easy to mark up an item using hProduct and the syntax should be simple yet flexible enough for more advanced applications.

Out of Scope

This microformat does not intend to replicate any of the content proposed within hListing and would defer all money/transactional matters to that microformat. This microformat also does not attempt to specify a product ontology, or category-specific attributes; instead, it aims to create a framework to allow for flexible expression of both.

Format

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

In General

The hProduct format is based on a set of fields common to numerous ecommerce sites and formats in use today on the web.

Schema

The hProduct schema consists of the following (see existing class names for reference):

  • hproduct
    • brand. optional. text. can also use hCard for manufacturer.
    • category. optional. text. can also use rel-tag. re-used from hCard.
    • price. optional. floating point number. can use currency format.
    • description. optional. text. can also include valid HTML markup. re-used from hReview.
    • fn. required. text. product name or title. re-used from hCard.
    • photo. optional. image element or link. re-used from hCard.
    • url. optional. href. can contain rel-tag rel='product'. re-used from hCard.
    • review. optional. hReview, or hReview-aggregate.
    • listing. optional. hListing, or hListing-aggregate.
    • identifier. optional.
      • type. required. - examples:
        • model
        • mpn
        • upc
        • isbn
        • issn
        • ean
        • jan
        • sn
        • vin
        • sku
      • value. required. - label may be implied

Field details

Class names category, fn, photo, url are reused from hCard. description is reused from hReview.

The fields of the hProduct schema represent the following:

  • hproduct:: Root class name
  • brand:: the class name brand is used identify brand of the product. SHOULD use hCard for manufacturer name. MUST be singular.
  • category:: the class name category identifies product category. MAY use rel-tag microformat. MAY be plural to represent multiple categories.
  • price:: the class name price is used to indicate the price of the product. MUST be singular.
  • description:: the class name description is used to describe the product. MUST be singular.
  • fn:: product text name. MUST be singular.
  • photo:: the class name photo MAY be applied to an <img> or <a> element. MAY be plural.
  • url:: the class name url SHOULD refer to the web page associated with product details. MAY use rel-tag, rel='product'. MUST be singular.
  • review:: the class name review identifies review(s) for the product. SHOULD use hReview. MAY be plural.
  • listing:: the class name listing identifies product listings. SHOULD use hListing. MAY be plural.
  • identifier:: the identifier structure is used to describe product identifiers like Model, UPC or SKU, and is designed to accommodate new or as-yet-unidentified identifiers. SHOULD be singular.
    • type:: the class name type identifies the identifier type.
    • value:: label MAY be implied

Additional Details

Note: If hProduct markup is used in a "standalone" fashion (eg. a manufacturer site that's not commerce enabled, strictly informational), it is assumed that the price attribute represents the manufacturer's suggested retail price. Any transactional (commerce) representation of price should be delegated to hListing.

Internationalization: Though there are many English-language tokens, they are only used as invisible class-names; user-visible listing information can be completely localized. Note that (X)HTML LANG attribute rules still apply as usual, for multilingual aggregators of hProduct.

Relationships with other microformats

Products can be complex structures with attributes and features that may fall outside the bounds of the proposed hProduct microformat. Care has been taken to provide just enough attributes to accurately represent products while not overloading the hProduct spec. This means that complete semantic solutions would rely on using hProduct in combination with other microformats to achieve their goals. Through examples (see also: recipes) and analysis, there are some clear relationships between hProduct and these microformats:

  • hListing :: provides additional context to the transaction side of a product, including elements like the transactional price.
  • hReview/hAggregate(concept) :: research shows that many commerce sites include product reviews, and they are often aggregated to provide overall ratings and reviews on the web. Utilizing these microformats can provide additional data around a product or service.
  • xoxo :: to address property-value data that may be necessary for a complete data representation of a product.

Of course, these are just a few of many that could be used with the hProduct microformat.

XMDP Profile

<dl class="profile">
	<dt>class</dt>
	<dd><p>
  <a rel="help" href="http://www.w3.org/TR/html401/struct/global.html#adef-class">
   HTML4 definition of the 'class' attribute.</a>
  This meta data profile defines some 'class' attribute values (class names) 
  and their meanings as suggested by a 
  <a href="http://www.w3.org/TR/WD-htmllink-970328#profile">
   draft of "Hypertext Links in HTML"</a>.</p>
	<dl>
		<dt>hproduct</dt>
		<dd>Used to identify and describe metadata universally common to products.</dd>
		<dt>brand</dt>
		<dd>The brand name of the product.</dd>
		<dt>category</dt>
		<dd>The product category/ categories the product belongs to.</dd>
		<dt>price</dt>
		<dd>The price of the product.</dd>
		<dt>description</dt>
		<dd>The full text representing the written description of the product.</dd>
		<dt>fn</dt>
		<dd>The common name of the product.</dd>
		<dt>photo</dt>
		<dd>Accompanying image of the product.</dd>
		<dt>url</dt>
		<dd>A link to the product details.</dd>
		<dt>review</dt>
		<dd>A review of the product.</dd>
		<dt>listing</dt>
		<dd>Listing details of the product.</dd>
		<dt>identifier</dt>
		<dd>The product identifier like Model, SKU, ISBN, or EAN associated with the product</dd>
	</dl>
	</dd>
</dl>

Notes

This section is informative.

  • ...

Examples

  • need actual simple demonstration hProduct examples here! (not examples of what actual sites are doing - that's the next section)

Editors: please see http://microformats.org/wiki/hrecipe#Examples for example of an example in spec.

...

Examples in the wild

This section is informative.

Sites and pages that publish hProducts.

See hProduct Examples in the wild.

Implementations

This section is informative.

Tools for generating and consuming hProducts. When it gets too big we can move it to a separate page like hproduct-implementations.

  • Google parses some hProduct properties and adds extensions:

An example is a HP printer product page parsed with the help of Google Rich Snippets Tool: HP Printer Product from which Google extracted the following hProduct elements:

hproduct
   availability = In stock
   fn = HP Officejet 6000 Wireless Printer
   identifier
      type = SKU
      value = C9295A#B1H
   price = $119.99
   review hreview-aggregate
      item fn = HP Officejet 6000 Wireless Printer
      rating
         average (normalized to 5.0 scale) = 3.5
         average = 3.4
   count = 69

The "availability" extension was added by Google to further improve details about the availability of a product when it's listed. Google also provides the "availability" values reference:

- out_of_stock 
- in_stock 
- instore_only 
- preorder 

The "availability" value can be typed in without the linking underscores, to reduce the visual impact e.g.:

    <span class="availability">In stock</span>


  • Karniyarik.com [1] is a vertical search engine for online goods and has experimental hProduct support.
  • ...

Copyright

  • JayMyers: I release all of my contributions to the public domain.

Public Domain Contribution Requirement. Since the author(s) released this work into the public domain, in order to maintain this work's public domain status, all contributors to this page agree to release their contributions to this page to the public domain as well. Contributors may indicate their agreement by adding the public domain release template to their user page per the Voluntary Public Domain Declarations instructions. Unreleased contributions may be reverted/removed.

Patents

This specification is subject to a royalty free patent policy, e.g. per the W3C Patent Policy, and IETF RFC3667 & RFC3668.

Related