Richard Cyganiak wrote:

My vote, if this were to be written up as an errata, would be to specify that if @datatype is non-empty but does not contain a valid CURIE,

(Well, it's a syntactically valid CURIE, it just uses an undeclared prefix.)

Technically.... it is a syntactically valid CURIE, but it is not a valid RDFa CURIE.  RDFa defines no mechanism for mapping CURIEs without a prefix.  And I believe this is covered quite well by the RDFa spec.  It says, in section 5.4.3:

An attribute may allow one or more CURIE-only values, disallowing other types of value. In this case any value that is not a 'curie' according to the definition in the section CURIE Syntax Definition MUST be ignored; this means that not only will there be no error reporting, but also the RDFa processor should act as if the value simply did not exist.
So... when a datatype attribute contains ONLY things that are not CURIEs, the process behaves as if there is no value for the datatype attribute.  When I was writing my implementation, I raised this very point, and was directed to step 9 of the processing model.  In there it says that the data is treated as a plain literal if the value of @datatype is empty.  When @datatype is made up of only illegal values, my belief is that it should be treated as empty.

Shane P. McCarron                          Phone: +1 763 786-8160 x120
Managing Director                            Fax: +1 763 786-8180
ApTest Minnesota                            Inet: