W3C home > Mailing lists > Public > public-vocabs@w3.org > February 2013

Re: Schema.org markup on <body> tag

From: Ed Summers <ehs@pobox.com>
Date: Tue, 12 Feb 2013 22:20:10 -0500
Message-ID: <CABzDd=7WpyRzRF+jUSu7cK4iD3HA3bw1egi2A3qgFn8LBrTJ0A@mail.gmail.com>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 13 February 2013 03:20:49 GMT