I'm currently a little confused about microdata and schema.org. Is microdata and schema.org the same? I read the Google and Microsoft documentation, but that didn't helped me to get the difference between this two names.
So far I understood this I have produced this HTML code:
<span itemscope itemtype="https://schema.org/BreadcrumbList">
 <a href="/" itemprop="url"><span itemprop="title">My Page</span></a>
</span>
<span itemscope itemtype="https://schema.org/BreadcrumbList">
 <a href="/cat1" itemprop="url"><span itemprop="title">Category 1</span></a>
</span>
<span itemscope itemtype="https://schema.org/BreadcrumbList">
 <a href="/cat1/content" itemprop="url"><span itemprop="title">Content</span></a>
</span>
In my opinion too much overhead but okay if the search results look nice. Is it possible to reduce the count of html code?
Also if I don't need that how does the search engines detect two different trails?
My next problem is that I want to apply this format to the drupal breadcrumps. I found on the web this fix which I tried to include to my own SEO module like this:
function mymod_page_alter(&$variables) {
    if (!isset($variables['breadcrumb'])) {
        $variables['breadcrumb'] = theme('my_microdata', array('breadcrumb' => drupal_get_breadcrumb()));
    }
}
function mymod_theme($existing, $type, $theme, $path) {
  return array(
    'my_microdata' => array(
     'variables' => array('breadcrumb' =>array()),
    ),
  );
}
function mymod_menu_breadcrumb_alter(&$active_trail, $item){
  foreach($active_trail as $id=>$active_trail_item){
    $active_trail[$id]['localized_options']['attributes']['itemprop'][]="url";
  }
}
function theme_my_microdata($variables){
 $breadcrumb=$variables['breadcrumb'];
print_r(debug_backtrace());
 $output="*+*+*+*+*";
  if (!empty($breadcrumb)) {
    // Provide a navigational heading to give context for breadcrumb links to
    // screen-reader users. Make the heading invisible with .element-invisible.
    $output = '<h2 class="element-invisible">' . t('You are here') . '</h2>';
    $output .= '<div class="breadcrumb">';
    $separator="";
    foreach($breadcrumb as $breadcrumb_item){
      $output.='<span typeof="datav:Breadcrumb">'.$separator.$breadcrumb_item."</span>";
      $separator="»";
    }
    $output .='</div>';
  }
    return $output."xXxXxXx";
}
So far I checked that all this code is executed. But this theming is not applied on my page. Why does that code not work? Could this been related with the module breadcrumb? I know that this output will be garbage but I cannot see the result.
If I guess right than is the output created by theme.inc line 1682ff theme_breadcrumb(...)instead of my code.
It would be nice if somebody could help me, also if you don’t know all answers of my questions!