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

Re: Schema.org markup on <body> tag

From: Aaron Bradley <aaranged@gmail.com>
Date: Tue, 12 Feb 2013 17:37:22 -0800
Message-ID: <CAMbipBv36AVG5fc_DU062rJVQAJ_-xWk-0S8vnKKXSsrA=a3oQ@mail.gmail.com>
To: Joshua Wulf <jwulf@redhat.com>
Cc: public-vocabs <public-vocabs@w3.org>
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 01:37:49 GMT

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