summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2008-11-22 13:55:27 +0000
committerDries Buytaert <dries@buytaert.net>2008-11-22 13:55:27 +0000
commit151ed277865cf3a72bb16610b7855207e38e082c (patch)
tree4236495ad709c486b07e34a4ff26e7d7c1f3caa2
parent33cf35a6e8a7cab73147af368f2ee4d16a41dbd0 (diff)
downloadbrdo-151ed277865cf3a72bb16610b7855207e38e082c.tar.gz
brdo-151ed277865cf3a72bb16610b7855207e38e082c.tar.bz2
- Patch #332980 by scor: added an RDF namespace registry. Oh my ... :-)
-rw-r--r--includes/common.inc12
-rw-r--r--includes/theme.inc5
-rw-r--r--modules/system/system.module20
-rw-r--r--themes/bluemarine/page.tpl.php8
-rw-r--r--themes/chameleon/chameleon.theme8
-rw-r--r--themes/garland/page.tpl.php9
-rw-r--r--themes/pushbutton/page.tpl.php7
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 ?>