W3C home > Mailing lists > Public > public-rdfa-wg@w3.org > July 2010

SHOULD vs MUST ignore @version

From: Toby Inkster <tai@g5n.co.uk>
Date: Wed, 14 Jul 2010 13:05:28 +0100
To: public-rdfa-wg@w3.org
Message-ID: <20100714130528.6d39153b@miranda.g5n.co.uk>
Essentially what we want parsers to do is ignore @version -- i.e.
always use the latest version of RDFa. 

Firstly, let's check that we've left enough space for future
innovation. I think we have. If a future version of RDFa, say 2.0, is
so incompatible with RDFa 1.x that version detection is needed, they
can say that authors MUST include a particular profile attribute on
their root element, say:

	profile="urn:w3c:rdfa:2.0"

As it's deliberately unresolvable, an RDFa 1.1 processor will skip the
root element. This effectively allows future RDFa Working Groups to
re-establish versioning, so I think we have that covered.

So the versioning discussion only needs to apply to RDFa 1.0 and 1.1.

Now, let's assume that somebody *wants* to do version detection,
despite us saying it's a bad idea. Their code might be something like
this:

	function rdfa11_processor ($doc) {
		if (check_version($doc)==1.0) {
			return rdfa10_parse($doc);
		} else {
			return rdfa11_parse($doc);
		}
	}

If we prohibit this and say it's not conforming, they just refactor
their code:

	function html_processor ($doc) {
		if (check_version($doc)==1.0) {
			return rdfa10_processor($doc);
		} else {
			return rdfa11_processor($doc);
		}
	}

Now they're still doing version detection, but their rdfa11_processor
function is technically conforming, because the version detection
occurs externally to it.

So my argument is that we make ignoring @version a SHOULD rather than a
MUST, because if it's a MUST people can just work around it.

-- 
Toby A Inkster
<mailto:mail@tobyinkster.co.uk>
<http://tobyinkster.co.uk>
Received on Wednesday, 14 July 2010 12:06:32 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 27 April 2012 04:55:07 GMT