If one is in a situation where you are required to use a URI (simple strings would not do)...how would you refer to the concept of an HTML5 element ("div", "li", etc.)?

As a starting point for what an answer to this question might look sort of like, here is a URL for div under w3.org:


XHTML had namespaces, so you might have built on that:


But even then, how would you have referred to div, specifically? http://www.w3.org/1999/xhtml/div?

(I don't know any precedent for how to combine them, only to invoke as <div xmlns="http://www.w3.org/1999/xhtml/">...</div>. Did any such precedent ever arise to produce a combined URI from a namespace and an element?)

Properties of a good solution:

  • All HTML5 elements covered, each with a separate unique URL (or URN... urn:html5:div?)

  • Defined invariantly by w3c.org or similar, in a place where they promise to obey the Cool URIs don't change principle

  • Though not as important as the other requirements, it would be ideal if there were some machine-processable information returned when the URI was fetched (list of legal attributes, etc.)

  • 1
    You've obviously spent some thought on this, but for the rest of us, it might help if you told us a little bit more about what you'd need such a URI for. Knowing more about your motivation might help in judging the relative merits of different options, or it might even suggest some completely different solution. Commented Jun 28, 2014 at 22:03
  • @IlmariKaronen Good suggestion but I don't know if it will help. I've made a graph database structure in which each node has a "tag" that must be a URI. Though the underlying structure enforces that rule, I'd like it to be able to import and export HTML5. So I have to map all the HTML5 tags (and attributes, because they get their own nodes too) into a choice of URL per node. Perhaps I'm used to Stackoverflow where questions, comments, versions of questions are all permalinkable...but it seems a URI for each element type would have been canonized somewhere! :-/ Maybe not... Commented Jun 29, 2014 at 1:11

1 Answer 1


Each W3C standard offers stable URIs for different maturity levels and versions.

The HTML5 specification has an URI which always points to the most recent version:

Currently, it’s a "Last Call Working Draft", and this version has the URI:

You can link to each element and attribute in this specification. For example, the div element:

As HTML elements are not "the same" across different HTML versions (and even not across different drafts of the same HTML version), it probably wouldn’t make sense to use URIs that don’t point to a specific version of the specification. For example, think of the u element: In HTML5, it was obsolete for a long time, but then re-introduced with a different meaning than it had in HTML 4.01. And its definition might change again in the future (until HTML5 is published as Recommendation, after which comes the next version HTML 5.1).

Also note that W3C’s un-dated URIs aren’t necessarily stable, so the URI "http://www.w3.org/TR/html5/grouping-content.html#the-div-element" might change/break with the next publication.

While it would be possible for the HTML5 editors to include RDFa (giving metadata about the specification content) in the specification (like it’s the case with RDFa’s own spec), this is (at least, currently) not the case. So you’d have to parse the HTML for metadata.

  • Good links, thanks. It seems odd I'd have to improvise something when "links-power-the-web" is the supposed attitude. Perhaps I could document what I choose, and start a half-baked standard...all I need is a catchy name. :-) Commented Jul 3, 2014 at 4:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.