Index: includes/common.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/common.inc,v retrieving revision 1.827 diff -u -p -r1.827 common.inc --- includes/common.inc 16 Nov 2008 19:41:14 -0000 1.827 +++ includes/common.inc 18 Nov 2008 18:24:53 -0000 @@ -113,6 +113,18 @@ function drupal_get_breadcrumb() { } /** + * Returns a string containing RDF namespaces for the html tag of a XHTML page. + */ +function drupal_get_rdf_namespaces() { + // Serialize the RDF namespaces used in RDFa annotation. + $xml_rdf_namespaces = array(); + foreach (module_invoke_all('rdf_namespaces') as $prefix => $uri) { + $xml_rdf_namespaces[] = 'xmlns:' . $prefix . '="' . $uri . '"'; + } + return implode("\n ", $xml_rdf_namespaces); +} + +/** * Add output to the head tag of the HTML page. * * This function can be called as long the headers aren't sent. 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 18 Nov 2008 18:24:53 -0000 @@ -1882,6 +1882,11 @@ function template_preprocess_page(&$vari $variables['scripts'] = drupal_get_js(); $variables['tabs'] = theme('menu_local_tasks'); $variables['title'] = drupal_get_title(); + // RDFa annotatates XHTML with RDF data, while GRDDL provides + // mechanisms for extraction of this RDF content via XSLT transformation + // using an associated GRDDL profile. + $variables['rdf_namespaces'] = drupal_get_rdf_namespaces(); + $variables['grddl_profile'] = 'http://ns.inria.fr/grddl/rdfa/'; // Closure should be filled last. $variables['closure'] = theme('closure'); Index: modules/system/system.module =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.module,v retrieving revision 1.638 diff -u -p -r1.638 system.module --- modules/system/system.module 15 Nov 2008 08:23:07 -0000 1.638 +++ modules/system/system.module 18 Nov 2008 18:24:54 -0000 @@ -196,6 +196,26 @@ function system_perm() { } /** + * Implementation of hook_rdf_namespace(). + */ +function system_rdf_namespaces() { + 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/bluemarine/page.tpl.php =================================================================== RCS file: /cvs/drupal/drupal/themes/bluemarine/page.tpl.php,v retrieving revision 1.30 diff -u -p -r1.30 page.tpl.php --- themes/bluemarine/page.tpl.php 25 Jun 2008 09:12:25 -0000 1.30 +++ themes/bluemarine/page.tpl.php 18 Nov 2008 18:24:54 -0000 @@ -1,9 +1,9 @@ - - -
+?> +> +