Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.450
diff -u -p -r1.450 theme.inc
--- includes/theme.inc	10 Nov 2008 15:40:03 -0000	1.450
+++ includes/theme.inc	12 Nov 2008 15:47:51 -0000
@@ -1885,6 +1885,19 @@ function template_preprocess_page(&$vari
   // Closure should be filled last.
   $variables['closure']           = theme('closure');
 
+  // Serialize the RDF namespaces used in RDFa annotation.
+  $xml_rdf_namespaces = array();
+  foreach (module_invoke_all('rdf_namespace') as $prefix => $uri) {
+    $xml_rdf_namespaces[] = 'xmlns:' . $prefix . '="' . $uri . '"';
+  }
+  $variables['rdf_namespaces'] = implode("\n  ", $xml_rdf_namespaces);
+  
+  // While RDFa allows to annotate XHTML with RDF data, GRDDL provides a set
+  // of mechanisms for performing the actual extraction of this RDF content
+  // via XSLT transformation. By associating a GRDDL profile with the
+  // generated document, GRDDL aware agents are able to extract the RDF data.
+  $variables['grddl_profile'] = 'http://ns.inria.fr/grddl/rdfa/';
+
   if ($node = menu_get_object()) {
     $variables['node'] = $node;
   }
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.635
diff -u -p -r1.635 system.module
--- modules/system/system.module	31 Oct 2008 02:18:22 -0000	1.635
+++ modules/system/system.module	12 Nov 2008 15:47:51 -0000
@@ -197,6 +197,26 @@ function system_perm() {
 }
 
 /**
+ * Implementation of hook_rdf_namespace().
+ */
+function system_rdf_namespace() {
+  return array(
+    'admin'    => 'http://webns.net/mvcb/',
+    'content'  => 'http://purl.org/rss/1.0/modules/content/',
+    'dc'       => 'http://purl.org/dc/elements/1.1/',
+    'dcterms'  => 'http://purl.org/dc/terms/',
+    'foaf'     => 'http://xmlns.com/foaf/0.1/',
+    'owl'      => 'http://www.w3.org/2002/07/owl#',
+    'rdf'      => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
+    'rdfs'     => 'http://www.w3.org/2000/01/rdf-schema#',
+    'rss'      => 'http://purl.org/rss/1.0/',
+    'sioc'     => 'http://rdfs.org/sioc/ns#',
+    'xsi'      => 'http://www.w3.org/2001/XMLSchema-instance#',
+    'xsd'      => 'http://www.w3.org/2001/XMLSchema#',
+  );
+}
+
+/**
  * Implementation of hook_elements().
  */
 function system_elements() {
Index: themes/garland/page.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/page.tpl.php,v
retrieving revision 1.21
diff -u -p -r1.21 page.tpl.php
--- themes/garland/page.tpl.php	14 Sep 2008 02:03:35 -0000	1.21
+++ themes/garland/page.tpl.php	12 Nov 2008 15:47:51 -0000
@@ -1,9 +1,10 @@
 <?php
 // $Id: page.tpl.php,v 1.21 2008/09/14 02:03:35 webchick Exp $
-?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>">
-  <head>
+?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
+  "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>"
+  <?php print $rdf_namespaces ?>>
+  <head profile="<?php print $grddl_profile ?>">
     <title><?php print $head_title ?></title>
     <?php print $head ?>
     <?php print $styles ?>
