Index: uuid.module
===================================================================
--- uuid.module	(revision 1014)
+++ uuid.module	(working copy)
@@ -196,4 +196,11 @@
  */
 function uuid_is_valid($uuid) {
   return (boolean) preg_match('/^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$/', $uuid);
+}
+
+function uuid_views_api() {
+  return array(
+    'api' => 2,
+    'path' => drupal_get_path('module', uuid) .'/views',
+  );
 }
\ No newline at end of file
Index: views/uuid.views.inc
===================================================================
--- views/uuid.views.inc	(revision 0)
+++ views/uuid.views.inc	(revision 0)
@@ -0,0 +1,118 @@
+<?php
+// $Id: taxonomy.views.inc,v 1.57 2009/07/01 06:13:49 merlinofchaos Exp $
+/**
+ * @file
+ *
+ * Provide views data and handlers for taxonomy.module
+ */
+
+/**
+ * @defgroup views_taxonomy_module taxonomy.module handlers
+ *
+ * @{
+ */
+
+/**
+ * Implementation of hook_views_data()
+ */
+function uuid_views_data() {
+  $data = array();
+
+  // ----------------------------------------------------------------------
+  // vocabulary uui table
+
+  $data['vocabulary_uuid']['table']['group']  = t('Taxonomy');
+
+  $data['vocabulary_uuid']['table']['join'] = array(
+    // vocabulary links to term_data directly via vid.
+    'vocabulary' => array(
+      'left_field' => 'vid',
+      'field' => 'vid',
+    ),   
+   // vocabulary links to term_data directly via vid.
+    'term_data' => array(
+      'left_field' => 'vid',
+      'field' => 'vid',
+    ),
+    // vocabulary links to node through term_data via vid
+    'node' => array(
+      'left_table' => 'term_data',
+      'left_field' => 'vid',
+      'field' => 'vid',
+    ),
+    // vocabulary links to node_revision via term_data
+    'node_revision' => array(
+      'left_table' => 'term_data',
+      'left_field' => 'vid',
+      'field' => 'vid',
+    ),
+    
+  );
+
+  // vocabulary uuid
+  $data['vocabulary_uuid']['uuid'] = array(
+    'title' => t('Vocabulary UUID'), // The item it appears as on the UI,
+    'field' => array(
+      'help' => t('The UUID of the vocabulary.'),
+      'handler' => 'views_handler_field',
+      'click sortable' => TRUE,
+    ),
+    'sort' => array(
+      'handler' => 'views_handler_sort',
+    ),
+    'argument' => array(
+      'handler' => 'views_handler_argument_numeric',
+    ),
+  );
+
+  // ----------------------------------------------------------------------
+  // term_data uuid table
+
+  $data['term_data_uuid']['table']['group']  = t('Taxonomy');
+
+  // The term data table
+  $data['term_data_uuid']['table']['join'] = array(
+  // This is provided for many_to_one argument
+    'term_data' => array(
+      'field' => 'tid',
+      'left_field' => 'tid',
+    ),
+    'node' => array(
+      'left_table' => 'term_node',
+      'left_field' => 'tid',
+      'field' => 'tid',
+    ),
+    'node_revision' => array(
+      'left_table' => 'term_node',
+      'left_field' => 'tid',
+      'field' => 'tid',
+    ),
+    // This is provided for many_to_one argument
+    'term_node' => array(
+      'field' => 'tid',
+      'left_field' => 'tid',
+    ),
+  );
+
+  // uuid field
+  $data['term_data_uuid']['uuid'] = array(
+    'title' => t('Term UUID'),
+    'help' => t('The taxonomy term UUID'),
+    'field' => array(
+      'handler' => 'views_handler_field',
+      'click sortable' => TRUE,
+    ),
+    'sort' => array(
+      'handler' => 'views_handler_sort',
+    ),
+    'argument' => array(
+      'handler' => 'views_handler_argument',
+    ),
+  );
+
+  return $data;
+}
+
+/**
+ * @}
+ */
