Re: [whatwg] Micro-data/Microformats/RDFa Interoperability Requirement

2009-06-05 Thread Ian Hickson
On Sat, 9 May 2009, Manu Sporny wrote:
  
  For rel-license, the HTML5 spec defines the value to apply to the 
  content and not the page as a whole. This is a recent change to match 
  actual practice and I will be posting about this shortly.
 
 Hmm, yes - after re-reading the definitions, they do differ... 
 especially in how the hAudio Microformat uses rel=license. I find the 
 HTML5 one to be very problematic. Microformats rel=license is better, 
 and the RDFa use of rel=license is even better (I can go into the 
 reasoning if those on the list are curious).

The definition in HTML5 is just a description of how it's used in 
practice. It's not what I'd design if I had a choice. However, there's not 
much point defining something that doesn't match the reality of the 
situation.


 For example, in HTML5, how do you express 20 items on a page, each with 
 separate licenses? How do you differentiate a page that has 3 primary 
 topics, each with a separate license?

You can't, currently. Can you provide a sample of such a page?


 In short - what's the purpose of rel=license if a machine can't use it 
 to help the person browsing identify important sections of a page?

rel=license as it stands today is useful only (as far as I can tell) for 
people searching the Web for pages whose main content (e.g. the photo on a 
Flickr page, the text of a blog post on a blog post's permalink, etc) is 
licensed under a particular license identified by URI.


 Afterall, it's only machine readable, isn't it? What's the sense in 
 having rel=license if a machine can't be sure of the section of the 
 page to which it applies?

Generally speaking, search engines are pretty competent at distinguishing 
the page's main content from ancillary content such as style sheets or 
navigation links.


 More importantly, if you see this as an issue, why don't you see the 
 semantic difference between rel=alternate[3] in HTML4 and 
 rel=alternate[4] in HTML5 as being an issue? That case is even worse, 
 exactly the same string - entirely different semantics.

HTML5's definition, again, matches what actual implementations and author 
usage is. HTML5 isn't trying to be compatible with HTML4, it's trying to 
be compatible with legacy content.


  You would have to ask them. I tend not to argue with implementor 
  feedback. If they tell me they won't do something, I don't tell them 
  to do it.
 
 I would expect the primary editor for a web specification to understand 
 the reason that every single one of their implementors refuse to 
 implement a technique that they use elsewhere in their products.

I believe I do, but I wouldn't want to put words in their mouth on such 
controversial topics.


 I'd love to ask eacho of them why it is perceived as difficult and 
 discuss possible solutions. A public e-mail would be best so that we can 
 discuss on this list, but a private e-mail would be fine as well. So 
 please, if your organization has decided to not resolve prefixes in 
 attribute values, please send me an e-mail.
 
 After two weeks, I'll check back in with the mailing list to report on 
 the number of responses I received and a summary of the reasoning 
 (anonymized, of course) for the benefit of this community.

Did you receive any responses?

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] Micro-data/Microformats/RDFa Interoperability Requirement

2009-05-10 Thread Ben Adida

Julian wrote:

You are aware of MNot's Web Linking draft
(http://greenbytes.de/tech/webdav/draft-nottingham-http-link-header-05.html),
and the fact that it seems to enjoy support from the TAG?


Julian, you continue to bring this up as if we hadn't already discussed 
this: there are significant differences of opinion with mnot on whether 
his interpretation of @rel values is correct in prior HTML versions, and 
there are a number of folks who disagree (not just us in RDFa), 
including at least two RECs (RDFa and GRDDL).


The point is: if you assume that @rel=foo always means the same thing, 
then many folks believe you're already violating the HTML spec, which 
specifically uses @profile to modulate the meaning of @rel, and 
sometimes via another level of indirection.


-Ben



Re: [whatwg] Micro-data/Microformats/RDFa Interoperability Requirement

2009-05-09 Thread Manu Sporny
Ian Hickson wrote:
 On Thu, 7 May 2009, Manu Sporny wrote:
 That's certainly not what the WHATWG blog stated just 20 days ago for
 rel=license [...]
 
 The WHATWG blog is an open platform on which anyone can post, and content 
 is not vetted for correctness. Mark can sometimes make mistakes. Feel free 
 to post a correction. :-)

Well, the problem is that I don't know who to correct - you or Mark.
It's unclear to me if it's the spec that needs correcting or the blog post?

 For rel-license, the HTML5 spec defines the value to apply to the content 
 and not the page as a whole. This is a recent change to match actual 
 practice and I will be posting about this shortly.

Hmm, yes - after re-reading the definitions, they do differ...
especially in how the hAudio Microformat uses rel=license. I find the
HTML5 one to be very problematic. Microformats rel=license is better,
and the RDFa use of rel=license is even better (I can go into the
reasoning if those on the list are curious).

For example, in HTML5, how do you express 20 items on a page, each with
separate licenses? How do you differentiate a page that has 3 primary
topics, each with a separate license?

In short - what's the purpose of rel=license if a machine can't use it
to help the person browsing identify important sections of a page?
Afterall, it's only machine readable, isn't it? What's the sense in
having rel=license if a machine can't be sure of the section of the
page to which it applies?

 Surely this is what namespaces were intended for.
 Uhh, what sort of namespaces are we talking about here? xmlns-style, 
 namespaces?
 
 The idea of XML Namespaces was to allow people to extend vocabularies
 with a new features without clashing with older features by putting the 
 new names in new namespaces. It seems odd that RDFa, a W3C technology for 
 an XML vocabulary, didn't use namespaces to do it.

As you are aware, the RDF in XHTML 1.1 Task Force was created to figure
out a way to express RDF via XHTML. The standard mechanism for extending
XHTML is XHTML Modularization[1]. From the XHTML modularization spec:


This modularization provides a means for subsetting and extending
XHTML... this specification is intended for use by language designers as
they construct new XHTML Family Markup Languages.


We used the standard mechanism, specifically designed to extend XHTML
vocabularies, approved by the XHTML working group, the W3C TAG and a
number of other W3C and public web groups, to extend the language.

Had we been tasked with expressing RDF in XML, we would have called it
RDF/XML[2]... :)

 For example, the way that n:next and next can end up being 
 equivalent in RDFa processors despite being different per HTML rules 
 (assuming an n namespace is appropriately declared).
 If they end up being equivalent in RDFa, the RDFa author did so 
 explicitly when declaring the 'n' prefix to the default prefix 
 mapping and we should not second-guess the authors intentions.
 My only point is that it is not compatible with HTML4 and HTML5, 
 because they end up with different results in the same situation (one 
 can treat two different values as the same, while the other can treat 
 two different values as different).
 It is only not compatible with HTML5 if this community chooses for it to 
 not be compatible with HTML5. Do you agree or disagree that we shouldn't 
 second guess the authors intentions if they go out of their way to 
 declare a mapping for 'n'?
 
 I don't think that's a relevant question. My point is that it is possible 
 in RDFa to put two strings that have different semantics in HTML4 and yet 
 have them have the same semantics in RDFa. This means RDFa is not 
 compatible with HTML4.

Of course it's relevant - the whole reason there are two strings with
the same semantics, in your rather contrived example, is because the
author went out of their way to make the statement. This doesn't happen
by accident - the web page author intended it to happen.

More importantly - you've just made the same statement twice in RDFa and
once in HTML4. I can't think of a single technically significant
negative repercussion for generating a duplicate triple in a corner
case. Why does one duplicated triple in a contrived example mean that
the entirety of RDFa isn't compatible with HTML4?

More importantly, if you see this as an issue, why don't you see the
semantic difference between rel=alternate[3] in HTML4 and
rel=alternate[4] in HTML5 as being an issue? That case is even worse,
exactly the same string - entirely different semantics.

If HTML4 validation is a concern, there's even a preliminary HTML4+RDFa
DTD that is available:

http://www.w3.org/MarkUp/DTD/html4-rdfa-1.dtd

I do get your point - but why should we be concerned about it?

 Browser vendors would not accept having to resolve prefixes in 
 attribute values as part of processing link relations.
 Why not?
 
 You would have to ask them. I tend not to argue with implementor feedback. 
 If they tell me 

Re: [whatwg] Micro-data/Microformats/RDFa Interoperability Requirement

2009-05-08 Thread Ian Hickson
On Thu, 7 May 2009, Manu Sporny wrote:
 
 That's certainly not what the WHATWG blog stated just 20 days ago for
 rel=license [...]

The WHATWG blog is an open platform on which anyone can post, and content 
is not vetted for correctness. Mark can sometimes make mistakes. Feel free 
to post a correction. :-)


 and the spec doesn't seem to clearly outline the difference in 
 definition either (at least, that's not my reading of the spec):
 
 http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#link-type-license
 http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#link-type-tag

Actually I just looked at the rel-tag faq and found that it disagrees with 
what Tantek had told me, so (assuming the faq is normative or that the 
rel-tag spec does mention this somewhere that I didn't find) the specs do 
match here.

For rel-license, the HTML5 spec defines the value to apply to the content 
and not the page as a whole. This is a recent change to match actual 
practice and I will be posting about this shortly.


  The RDFa specification is very confusing to me (e.g. I don't 
  understand how the normative processing model is separate from the 
  section RDFa Processing in detail), so I may be misinterpreting 
  things, but as far as I can tell:
  
html xmlns=http://www.w3.org/1999/xhtml;
 head
  base href=http://example.com//
  link about=http://example.net/;
rel=dc.author 
href=http://a.example.org//
 ...
  
  ...will result in the following triple:
  
 http://example.net/ http://example.com/dc.author 
  http://a.example.org/ .
 
 Two corrections:
 
 The first is that an RDFa processor would not generate this triple.

My apologies, I misinterpreted 5.4.4. Use of CURIEs in Specific Attributes 
to mean that rel= was a relative-uri-or-curie attribute. (5.4.4. Use of 
CURIEs in Specific Attributes says it's link-type-or-curie, but 5.4.3. 
General Use of CURIEs in Attributes doesn't list that as a possibility and 
at the end says that rel= is an exception only insofar as it supports 
specific link types as well, which I interpreted differently.)


  For example, it would be somewhat presumptious of RDFa to prevent any 
  future version of HTML from being able to use the word resource as 
  an attribute name. What if we want to extend the forms features to 
  have an XForms datatype compatibility layer; why should we not be 
  able to use the datatype and typeof attributes?
 
 As long as their legacy nature was preserved, and those uses didn't 
 create ambiguity in RDFa processors and semantic equivalence was 
 ensured, I don't see why they shouldn't be re-used.

Ah, ok. If such attributes are re-used, I suppose that it should be 
possible to make sure that it is possible to re-use them in a way that 
doesn't conflict with RDFa (e.g. by triggering the non-curie-non-uri 
behaviour for property= or by having authors who want RDFa compatibility 
use xmlns:http=http: declarations or some such).

Noted.


  Surely this is what namespaces were intended for.
 
 Uhh, what sort of namespaces are we talking about here? xmlns-style, 
 namespaces?

The idea of XML Namespaces was to allow people to extend vocabularies
with a new features without clashing with older features by putting the 
new names in new namespaces. It seems odd that RDFa, a W3C technology for 
an XML vocabulary, didn't use namespaces to do it.


  For example, the way that n:next and next can end up being 
  equivalent in RDFa processors despite being different per HTML rules 
  (assuming an n namespace is appropriately declared).
 
  If they end up being equivalent in RDFa, the RDFa author did so 
  explicitly when declaring the 'n' prefix to the default prefix 
  mapping and we should not second-guess the authors intentions.
  
  My only point is that it is not compatible with HTML4 and HTML5, 
  because they end up with different results in the same situation (one 
  can treat two different values as the same, while the other can treat 
  two different values as different).
 
 It is only not compatible with HTML5 if this community chooses for it to 
 not be compatible with HTML5. Do you agree or disagree that we shouldn't 
 second guess the authors intentions if they go out of their way to 
 declare a mapping for 'n'?

I don't think that's a relevant question. My point is that it is possible 
in RDFa to put two strings that have different semantics in HTML4 and yet 
have them have the same semantics in RDFa. This means RDFa is not 
compatible with HTML4.


  Another example would be:
  
html xmlns=http://www.w3.org/1999/xhtml;
 head about=
  link rel=stylesheet alternate next href=...
  ...
  
  ...which in RDFa would cause the following triples to be created:
  
  http://www.w3.org/1999/xhtml/vocab#stylesheet ... .
  http://www.w3.org/1999/xhtml/vocab#alternate ... .
  http://www.w3.org/1999/xhtml/vocab#next ... .
  
  ...but according to 

[whatwg] Micro-data/Microformats/RDFa Interoperability Requirement

2009-05-05 Thread Manu Sporny
bcc: Public RDFa Task Force mailing list (but not speaking as a member)

Thinking out loud...

It seems as though there is potential here, based on the recent IRC
conversations about the topic[1] and the use cases[2] posted by Ian,
that WHATWG's use cases/requirements, and therefore solution, could
diverge from both the Microformats community as well as the RDFa
community use cases/requirements/solution.

There should be a requirement, as Microformats and XHTML1.1+RDFa have
required, that a potential solution to this issue should be compatible
with both the Microformats and RDFa approaches. This would mean, at a
high-level:

- Not creating ambiguous cases for parser writers.
- Not triggering output in a Microformats/RDFa parser as a side-effect
  of WHATWG micro-data markup.
- Not creating an environment where WHATWG micro-data markup breaks or
  eliminates Microformats/RDFa markup.

I think these are implied since HTML5 has gone to great lengths to
provide backward compatibility. However, since I'm not clear on the
details of how this community operates, I thought it better to be
explicit about the requirement.

-- manu

[1]http://krijnhoetmer.nl/irc-logs/whatwg/20090430#l-693
[2]http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-April/019374.html

-- 
Manu Sporny
President/CEO - Digital Bazaar, Inc.
blog: A Collaborative Distribution Model for Music
http://blog.digitalbazaar.com/2009/04/04/collaborative-music-model/