- From: Toby Inkster <tai@g5n.co.uk>
- Date: Wed, 14 Jul 2010 13:05:28 +0100
- To: public-rdfa-wg@w3.org
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 UTC