- From: Ed Summers <ehs@pobox.com>
- Date: Tue, 12 Feb 2013 22:20:10 -0500
- To: Aaron Bradley <aaranged@gmail.com>
- Cc: Joshua Wulf <jwulf@redhat.com>, public-vocabs <public-vocabs@w3.org>
I guess I'm unclear on why a LocalBusiness and Blog items can't be expressed in the same page like this. The itemscope in both indicates that a new item is being created. Is the fact that the LocalBusiness and the Blog aren't related together really a problem? I couldn't find anything in the Microdata spec that precluded this, and it seems like microdatajs at least extracts two items in its JSON representation [1]. //Ed [1] http://bit.ly/Y7MpSy On Tue, Feb 12, 2013 at 8:37 PM, Aaron Bradley <aaranged@gmail.com> wrote: > No, it is not valid, both because you need to declare an itemprop before you > can introduce an itemscope that's within the still-open scope of > schema.org/Blog, and because schema.org/LocalBusiness isn't an expected > property of schema.org/Blog. > > To make this valid you could leverage any of the properties under which you > could declare an Organization - author, copyrightHolder, provider, > publisher, etc. - and then nest the Organization information. > > E.g.: > <itemprop="author" itemscope itemtype="http://schema.org/LocalBusiness"> > [...] > > However, it's unlikely that this is going to be useful or valid for you (for > example, if all you're doing is reviewing a local business that is otherwise > unassociated with your blog. This is one of the perils of declaring a type > at the <html>, <head> or <body> level. See this from Googler Jenny Murphy > [1]: > > "You can add the itemscope attribute to any element on your page that > contains all of the attributes that make up that scope. This includes the > <html> element at the root of your page (since by definition it contains all > of the elements on your page), but you may find it technically easier and > more readable to add the itemscope further down your tree to the lowest > parent of all of your microdata." > > "For example, in the case of your local address information you may want to > add it to the element, possibly a div, that contains all of the address > info. This will result in a tighter grouping of your microdata and better > match it to what your user's see." > > [1] http://bit.ly/12dto8R > > > On Tue, Feb 12, 2013 at 4:13 PM, Joshua Wulf <jwulf@redhat.com> wrote: >> >> We're currently working on a schema.org to triples parser. How do we >> handle this: >> >> I have a Wordpress blog site [1] with a schema.org plugin. The plugin puts >> this into the body tag: >> >> <body itemtype="http://schema.org/Blog" itemscope="" class="home blog" >> data-twttr-rendered="true"> >> >> Inside that body I have an address that is marked up with LocalBusiness: >> >> <div itemscope="" itemtype="http://schema.org/LocalBusiness"> >> <span itemprop="name">Atma Yoga</span> >> <span itemprop="description">Yoga studio in the Brisbane CBD.</span> >> <div itemprop="address" itemscope="" >> itemtype="http://schema.org/PostalAddress"> >> <span itemprop="streetAddress"><strong>1st Floor, 99 Elizabeth >> Street</strong></span> <span >> itemprop="addressLocality"><strong>Brisbane</strong></span><br> >> Phone: <span itemprop="telephone"><strong>0458 108 >> 008</strong></span> >> </div> >> </div> >> >> So the LocalBusiness item occurs inside the body tag. >> >> Two questions: >> >> 1. Is this valid? >> 2. Does it imply semantically that the LocalBusiness item is somehow an >> attribute of the item identified in the body tag, the blog? >> >> - Josh >> >> >> [1] http://www.atmayoga.com.au >> >
Received on Wednesday, 13 February 2013 03:20:48 UTC