This page is to collect ideas about an "item" microformat and/or design pattern, for representing any "thing" that may exist or be referenced in another microformat. The goal is to create a small and concise vocabulary roughly mirroring hCard that represents the intersection of attributes across things, not the union.
Introduction to the idea
- items/things are used in other micrformats
- unlike people and places, items do not currently get a "container"; thus, attributes being associated with a (say) Review actually should be attached the thing itself
- to cut down on the work required to create new microformats about things (wine, houses, cars, ...)
This is very much analogous to hCard and there is no reason that this shouldn't reuse as much as possible of this. In particular:
- fn - the name of an item
- url - the web address of an item
- photo - a photo of an item
- adr - the address of an item (for example, a house)
- geo - likewise
More of this will be discovered in the examples discovery.
This may just be a design pattern -- that is, a template for create new microformats in the future. If it is a microformat, how we identify the type of thing is an open question -- we could do it like phone number types in hCard or it could be a new class element (or both). I.e. do we create a top-level class "hWine" or do we do <span class="type">wine</a>
One can see that there are many common properties that can be shared about different types of things. Manufactor, brand name, generic name, color.... The base item microformat may avoid trying to define this and instead allow new/future microformats to do the discovery.
- Quantity - can be assumed to be 1 unless specified.
hItem and hCard
Immediately the idea of a hItem demands the idea of the option for a contained hCard for the owner, but what about a large qauntity of items owned by a single owner. Would a hCard be required in each hItem, or would it be possible to wrap all the hItems in a hCard?
Analysis of Examples
Tier 1: in use in microformats today
Tier 2: common to 80%+ of examples
Tier 3: less frequently used items
Tier 4: specific to particular thing-types
How this could be used
This section is meant to explore the ways that a item/thing microformat would be used in practice.
1. As a design pattern
That is, we following exactly the pattern that hListing/hReview does. A number of attributes, taken mainly/entirely available from hCard, can be used to describe items/things. These are grouped together by whatever class name is most useful, typically "item":
<div class="item"> <span class="fn">Some Thing</span> <img class="photo" src="..." /> </div>
2. As an ever expanding uF
Under this this method, we would explicitly identify a "item" class, a "type" field of some sort would identify the type of the thing and other attributes would be defined ... some way.
<div class="item"> <span class="fn">Some Thing</span> (<span class="type">wine</a>) <img class="photo" src="..." /> </div>
I don't particularly care for this method.
3. As a composite
Under this method, we would composite future microformats with a "item" top level node:
<div class="item hwine"> <span class="fn">Some Thing</span> <img class="photo" src="..." /> <span class="nose">smelly</a> </div>
Where "fn" and "photo" come from "hitem", "nose" always comes from "hwine" (which insists on being composited with hitem?), and "item" is the class that gives the thing a relationship with it's parent (hListing/hReview/whatever).
Note the precident set by hListing/hReview in compositing "item" with "vcard".
This section is designed to track the current summary thinking on a per-contributor basis. If you want to add your own section here, feel free. Eventually all opinions will converge and we'll be finished.
- We should have an "item" microformat
- This is extracted from hListing/hReview in much the same was adr and Geo were extracted from hCard
- The top level class name should be "item"
- There are probably a few more very common attributes that should be added; in particular, a description field
- Future microformats describing specific types of items (hWine) will composite with this ("item hwine"), in much the same way vcard is composited in hListing/hReview ("item vcard")
- It probably should apply to non-physical things also since this is very general
- The initial version of this spec should not be too complicated (avoid deep analysis and leave that for new microformats, possibly backmerging)
- Updated: 2006-11-18