Re: Review of latest RDFa Core 1.1

Gregg,

My implementation is somewhat naive in this respect.  It says:

if (defined $p && defined $v && $p ne "" && $p =~ m/([^:]+):$/) {

So... if there is a prefix and a value and the prefix is not an empty 
string and the prefix has SOME characters that are not a colon followed 
by a colon... then process the prefix...  I don't check if the pattern 
matches an NCNAME, but I should.

Thanks for pointing this out!

On 3/6/2011 5:45 PM, Gregg Kellogg wrote:
> On Mar 6, 2011, at 10:09 AM, Gregg Kellogg wrote:
>
>> [snip]
>>>> Section 6. CURIE Syntax Definition
>>>>
>>>> Paragraph 3 describes the 'default prefix' mapping to behttp://www.w3.org/1999/xhtml/vocab#. To me, this implies that the initial list of URI mappings (described in 7.5) contains such a mapping, however the text explicitly states that it is empty (or as defined in the RDFa Profile). Indeed, the XML RDFa Profile does contain this mapping, but what about host languages that don't use this profile? 4.3 XML+RDFa Document Conformance only applies to generic XML documents, and is integrated into XHTML+RDFa 1.1. Presumably, a host language could not include this definition, or any default profile. Should the language indicate that the initial set of uri mappings include XHV?
>>>
>>> The default prefix mapping is very special.   It is the mapping that 
>>> comes into play with there is a colon and a reference (e.g., 
>>> :prev).  It is not possible to override this mapping.  All RDFa 
>>> processors are required to support it.  The term 'default prefix' is 
>>> unfortunate, but is historical and I don't feel like we can change 
>>> it at this time.
>>>
>>> So, to answer your question, no - I don't think that there is any 
>>> need to define this mapping in the RDFa Profile.  Indeed, I don't 
>>> think there is any WAY to define it.  And if there is, I think that 
>>> is an error.  Since this is not meant to be overridable, there 
>>> shouldn't be a way to define the mapping.  That way lies madness ;-)
>>
>> Yes, I see that a prefix must match the NCName production, which 
>> precludes the empty string. I'll add a test for @prefix and @profile 
>> to ensure that these do not result in a change of the default prefix.
>
> So, there is a test for this: Test 0180 checks to see that defining 
> prefix to ":" changes the mapping. So, from what you're saying, this 
> test should be marked "rejected" and replaced with a new test that 
> ensure that it cannot change this mapping. My processor was not 
> actually requiring that the prefix was an NCName, and allowed an empty 
> string. How do other processors handle this?
>
>     <?xml version="1.0" encoding="UTF-8"?>
>     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN"
>     "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
>     <html xmlns="http://www.w3.org/1999/xhtml"
>     >
>     <head>
>     <title>Test 0180</title>
>     <base href="http://example.org/"/>
>     </head>
>     <body>
>     <div about ="#me" prefix=": http://xmlns.com/foaf/0.1/" >
>     <p property=":name">Ivan Herman</p>
>     </div>
>     </body>
>     </html>
>
>     <http://example.org/#me> <http://xmlns.com/foaf/0.1/name> "Ivan
>     Herman" .
>
> Gregg

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

Received on Monday, 7 March 2011 02:13:01 UTC