Combining the ideas of microformats and Dublin Core

Dublin Core is one of the oldest metadata standards of the WWW. Classic use cases are limited to the html meta element. But as already Dublin Core: Expressing Dublin Core in HTML/XHTML meta and link elements states, Dublin Core is as well applicable to the html link element.
The microformats on the other side are specifying attribute properties mainly for usage within the body seciton of an html document. But both ideas are very well combineable.

This document is a metadata profile in the sense of the HTML specification, in section Meta data profiles, as refined by XMDP.


as already stated at Dublin Core, the notation of the attribute properties is:


This means: Uppercase "DC", period, then the attribute property in lower case. Using these attribute properties means to exactly follow this notation. If necessary, this implies a slightly more complex notation in CSS stylesheets:

p[class="DC.description.abstract"] { ... }

Main focus of this specification is not, how to style these elements, but how to logically and semantically markup appropriate content.


Document title

The usage in the head section is redundant and should be avoided. These two notations have the same meanings:

titlePage title/title meta name="DC.title" content="Page title"

Since it is already necessary by specification to include the title element, this notation is preferred. But it is possible to extract the contents of the title element to xml (rdf) as dc:title.

Useful is, using this attribute property within the body section. In most cases there will be some headlines. One of them may be the official title of the document. This may be identical to the title element, but not necessarily has to be. Possible locations for this title might be the first headline (h1) or may be another headline. For example imagine a page, where the first headline contains a company or website name like a banner, followed by a headline which then is the pages title:

body h1FooBar Ltd./h1 h2Our Products/h2 ... /body

To unambigeously mark the appropriate headline as the title you may add the Dublin Core attribute property. ID is preferred, since a page should have only one title:

body h1FooBar Ltd./h1 h2 id="DC.title"Our Products/h2 ... /body


Denotes a person or group mainly responsible for this resource. For text documents the meaning is identical to the author attribute property. Other types of creators may be (among others) artists, photographers or illustrators

head meta name="DC.creator" content="Siegfried Gipp" link rel="DC.creator" href="" ... /body

The first line shows the classical usage within the im meta element. This does not specify the format of the "content" attribute. It may contain plain text, a URL or anything else. Best practice is embedding the full name as plain text.
The second line shows the usage within the link element. Here it is clearly specified that the href attribute can only contain a URL. So the attribute property can only be a link to a web resource (web page) where we can find information about the creator. This notation is preferrable in all cases where we have a URL. Of course it is possible without problems to combine both notations.

Using this in the body is interesting. As with the XFN microformats it is possible to use this attribute property in a very similar way. First an example according to XFN:

This page was made by a href="" rel="me"me/a.

The usage of "me" implies roughly that the target person is the one who created this page. More precise but else syntactically identical this is possible with Dublin Core:

This page was made by a href="" rel="DC.creator"me/a.

Studying hCard it is self-evident using this property within hCard in much the same way as XFN:

address class="vcard" a rel="fn" href=""Siegfried Gipp/a /address

This only states that this is a (very much reduced) address record according to hCard standard. But there is no statement of whose address this is. Ths may be changed:

address class="vcard DC.creator" a rel="fn" href="" Siegfried Gipp/a /address

Since generally there is only one creator (as opposed to f.ex. DC.contributor, this construction is possible, too:

address class="vcard" id="DC.creator" a rel="fn" href="" Siegfried Gipp/a /address

BTW, in both i have avoided the "url" property, as opposed to the samples at hCard. The usage of the element a as well as the attribute href already imply by specification the url.


Subject of a web resource. Typically contains a list of keywords or key phrases describing the subject or topic of the resource.

Usage within the head section is redundant. Generally you should stick to only one of these:

meta name="keywords" content="xml, metadata, xhtml, Dublin Core, microformat" meta name="DC.subject" content="xml, metadata, xhtml, Dublin Core, microformat"

More interesting is the usage within the body section. Here we may mark up keywords or key phrases at any location. Usually the best element for this is the span element, but any kind of headline would be a good choice, too:

This is about span class="DC.subject"metadata/span, especially the usage of span class="DC.subject"Dublin Core/span attribute properties and their usage in span class="DC.subject"xhtml/span.


A textual description of the content, including a summary, an abstract or teaser. For images, movies or similar my contain a description of the content.

Usage in the head is redundant. There also exists the more known "description". So in the head section only one of these variants should be used (they are equivalent):

meta name="description" content="Description of the content" meta name="DC.description" content="Description of the content"


Usable as class name or ID for a paragraph containing a summary, foreword, abstract or teaser:

h2 id="DC.title"Class of XHTML/h2 p id="DC.description.abstract" Here we go with XHTML classnames... /p


Publisher of a web resource like a publishing house, an university, a company, but also single persons. May be syntactically used the same way as DC.creator:

head meta name="DC.publisher" content="Siegfried Gipp" link rel="DC.publisher" href="" ... /head

Usable in the body section, f.ex. in address records:

address class="vcard DC.publisher" a rel="fn" href="" Siegfried Gipp/a /address

The usage is the same as in hCard combined with XFN, just that instead combining with XFN, it is combined with Dublin Core. The statement is somewhat more precise than XFN. Since most commonly there will only be one publisher, as with DC.creator, this construction would be pretty legal, too:

address class="vcard" id="DC.publisher" a rel="fn" href="" Siegfried Gipp/a /address


Points to someone who has significantly contributed to the resource, like translation, illustration, edition, ...

Syntactically the usage is identical to DC.creator and DC.publisher:

head meta name="DC.contributor" content="Siegfried Gipp" link rel="DC.contributor" href="" ... /body

Also possible is using it within the body, f.ex. in address records in an "about me" page:

address class="vcard DC.contributor" a rel="fn" href="" Siegfried Gipp/a /address

It should be specially noted that this way it is possible to precisely define the roles of the different persons which have address records in a web resource.

Date of creation, modification or validity date. This is mostly similar to hCalendar, but explicitely defines dates related to this resource. The common hCalendar markup thus may be simply expanded (not replaced) by these properties.
Date of creation.
Date, until this document is still valid.
Date range where this document will be or was available.
Date this document was issued.
Date this document was modified.

If using in the head section the date is noted in the format YYY-MM-DD. This is the same as defined at hCalendar as title attribute property for the abbr element.


Type or role of the document (f.ex. homepage, poem, working paper, directory). The type should be selected from the Dublin Core vokabulary. Not to be confused with the html attribute type, which contains the mime type!

The usage in the body is not trivial, since DC.type as such cannot be used as class name or id on its own. This classname or id may be used if the content of the element is made of one of the words from the Dublin Core vokabular. Or, if the content is not exactly the word or is the word in another language, the exact word from the vocabulary may be added as the title element of the html container.


This should contain the mime type. Since in html this is already done with the type attribute, or in the http header or in the html header in the meta element. On the other hand all these attributes may be exported to xml (rdf) as dc:format


This is most useful in the head section as property for the rel attribute of the link element. Similar to base this link does not add the extra functionality of base:

link rel="DC.identifier" href="" type="application/xhtml+xml" title="Combining the ideas of microformats and Dublin Core" lang="en" hreflang="en

This is the full identifier of the current document in the english xhtml version.


Points to a web resource which is the source for the current content or where the current content is based on or which gave the ideas to to current content. Or the current document may be a translated version of the source.


This is redundant in the head as well as in the body and so should be avoided. In html the same is achieved by the "lang" attribute, regarding parts of the current document, or by the "hreflang" attribute, specifying the language of the target attribute. In xml and xhtml documents this is specified by the xml:lang attribute,


For styting relations it is better to use the html rel and rev attributes. On the other hand it is possible to export the content of these attributes dc:relation in xml (rdf).


this makes a statement about the spatial or temporal validity of the document. In case of spatial limitations this document is only valid for some specified region. The temporal validation may be used for documents about history.

This is mostly useful in the meta element, regarding the current document.

The meaning is identical to the nowadays more widespread rel="license" and may be used alternatively.