diff options
-rw-r--r-- | includes/common.inc | 12 | ||||
-rw-r--r-- | includes/theme.inc | 5 | ||||
-rw-r--r-- | modules/system/system.module | 20 | ||||
-rw-r--r-- | themes/bluemarine/page.tpl.php | 8 | ||||
-rw-r--r-- | themes/chameleon/chameleon.theme | 8 | ||||
-rw-r--r-- | themes/garland/page.tpl.php | 9 | ||||
-rw-r--r-- | themes/pushbutton/page.tpl.php | 7 |
7 files changed, 55 insertions, 14 deletions
diff --git a/includes/common.inc b/includes/common.inc index e944ca300..76eac625b 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -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. diff --git a/includes/theme.inc b/includes/theme.inc index d2eedcf80..00b8b50af 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -1881,6 +1881,11 @@ function template_preprocess_page(&$variables) { $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'); diff --git a/modules/system/system.module b/modules/system/system.module index cfc10fe68..a85e3fa49 100644 --- a/modules/system/system.module +++ b/modules/system/system.module @@ -209,6 +209,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() { diff --git a/themes/bluemarine/page.tpl.php b/themes/bluemarine/page.tpl.php index b279cd42a..1a1e73ff5 100644 --- a/themes/bluemarine/page.tpl.php +++ b/themes/bluemarine/page.tpl.php @@ -1,9 +1,9 @@ <?php // $Id$ -?><!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" lang="<?php print $language->language ?>" xml: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 ?> diff --git a/themes/chameleon/chameleon.theme b/themes/chameleon/chameleon.theme index dc9d7d738..8a34019c0 100644 --- a/themes/chameleon/chameleon.theme +++ b/themes/chameleon/chameleon.theme @@ -22,14 +22,16 @@ function chameleon_page($content, $show_blocks = TRUE, $show_messages = TRUE) { } $title = drupal_get_title(); + $rdf_namespaces = drupal_get_rdf_namespaces(); // Get blocks before so that they can alter the header (JavaScript, Stylesheets etc.) $blocks_left = theme_blocks('left'); $blocks_right = theme_blocks('right'); - $output = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"; - $output .= "<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"$language\" xml:lang=\"$language\" dir=\"$direction\">\n"; - $output .= "<head>\n"; + $output = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML+RDFa 1.0//EN\" \"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd\">\n"; + $output .= "<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"$language\" xml:lang=\"$language\" dir=\"$direction\"\n"; + $putput .= " $rdf_namespaces>\n"; + $output .= "<head profile=\"http://ns.inria.fr/grddl/rdfa/\">\n"; $output .= " <title>" . ($title ? strip_tags($title) . " | " . variable_get("site_name", "Drupal") : variable_get("site_name", "Drupal") . " | " . variable_get("site_slogan", "")) . "</title>\n"; $output .= drupal_get_html_head(); $output .= drupal_get_css(); diff --git a/themes/garland/page.tpl.php b/themes/garland/page.tpl.php index 4cef92d2b..f6afc5eb1 100644 --- a/themes/garland/page.tpl.php +++ b/themes/garland/page.tpl.php @@ -1,9 +1,10 @@ <?php // $Id$ -?><!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 ?> diff --git a/themes/pushbutton/page.tpl.php b/themes/pushbutton/page.tpl.php index 6d06c0453..8cf1c3981 100644 --- a/themes/pushbutton/page.tpl.php +++ b/themes/pushbutton/page.tpl.php @@ -1,8 +1,9 @@ <?php // $Id$ -?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language->language ?>" xml: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> <meta http-equiv="Content-Style-Type" content="text/css" /> <?php print $head ?> |