From f6dbb6907f41bcd9eddd27ed498083ce2a366c7e Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Wed, 3 Dec 2008 00:13:24 -0500
Subject: sha256 for 0.70.0

---
 CHANGELOG | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index b98af0b1..8932621d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -9,11 +9,11 @@ Reverse Chronological:
 
 %% STABLE MANIFEST
 
-%% sisu_0.70.0.orig.tar.gz (2008-12-02:48/2)
+%% sisu_0.70.0.orig.tar.gz (2008-12-03:48/3)
 http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.0.orig.tar.gz
-  sisu_0.70.0.orig.tar.gz
-  sisu_0.70.0-1.dsc
-  sisu_0.70.0-1.diff.gz
+  51e4d5c2ac3c490332d8468de2400abcf454b55ac1e21ec625680a346fb41e4a 1540091 sisu_0.70.0.orig.tar.gz
+  19639ff718204575e66da774fa90a18644c964535c4a94ddc9d76651cac36539 1159 sisu_0.70.0-1.dsc
+  8b489270ea44f006c4406182d3d24f6ec5480f3f7379d4e6ce53d65bba8474aa 147054 sisu_0.70.0-1.diff.gz
 
   [version bump because formatting rule introduced to author / creator header -
   where new site metadata harvest feature is used, (at present changes changes
@@ -58,6 +58,8 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.0.orig.tar.gz
 
   * tidy copyright marks in program headers, remove repetition of dates
 
+  [date changed, built just after midnight]
+
 %% sisu_0.69.4.orig.tar.gz (2008-11-02:43/7)
 http://www.jus.uio.no/sisu/pkg/src/sisu_0.69.4.orig.tar.gz
   06ba062400396d234334beb72bf171e580a6bd78d8200e316606456529930165 1532819 sisu_0.69.4.orig.tar.gz
-- 
cgit v1.2.3


From 0fa51361a389fdf3f98e06b8a3e5296f185b8247 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Thu, 11 Dec 2008 21:20:09 -0500
Subject: odf_format, copyright notice consistency

---
 lib/sisu/v0/odf_format.rb | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/sisu/v0/odf_format.rb b/lib/sisu/v0/odf_format.rb
index fe94bf5b..62e42863 100644
--- a/lib/sisu/v0/odf_format.rb
+++ b/lib/sisu/v0/odf_format.rb
@@ -14,8 +14,7 @@
 
    SiSU, a framework for document structuring, publishing and search
 
-   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-   2007, 2008 Ralph Amissah
+   Copyright (C) Ralph Amissah
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the Free
-- 
cgit v1.2.3


From 1b8c2dbfb474dce40548bc1cfc052017a9682a12 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Thu, 11 Dec 2008 21:30:36 -0500
Subject: harvest, better integrated into sisu

[note sql module not yet updated to include topic_register, as requires
recreation of all sisu db(s)]
---
 lib/sisu/v0/css.rb             | 90 ++++++++++++++++++++++++++++++++++++------
 lib/sisu/v0/harvest.rb         |  4 ++
 lib/sisu/v0/harvest_authors.rb | 33 ++++++++++++++--
 lib/sisu/v0/harvest_topics.rb  | 33 ++++++++++++++--
 lib/sisu/v0/hub.rb             |  6 +--
 lib/sisu/v0/i18n.rb            | 21 ++++++++++
 lib/sisu/v0/manifest.rb        | 16 +++++++-
 7 files changed, 181 insertions(+), 22 deletions(-)

diff --git a/lib/sisu/v0/css.rb b/lib/sisu/v0/css.rb
index d5a15971..2094134f 100644
--- a/lib/sisu/v0/css.rb
+++ b/lib/sisu/v0/css.rb
@@ -248,6 +248,7 @@ WOK
     }
     th, td {
       display: inline;
+      vertical-align: top;
     }
 */
   a:link {
@@ -334,7 +335,7 @@ WOK
 
   .norm, .bold {
     line-height: 150%;
-    margin-left: 1em;
+    margin-left: 0em;
     margin-right: 2em;
     margin-top: 10px;
     margin-bottom: 0px;
@@ -347,22 +348,83 @@ WOK
     font-weight: normal;
     line-height: 150%;
     text-align: justify;
-    margin-left: 1em;
+    margin-left: 0em;
     margin-right: 2em;
     text-indent: 0mm;
     margin-top: 3px;
     margin-bottom: 3px;
   }
   p.norm { }
-  p.i1 {margin-left: 2em;}
-  p.i2 {margin-left: 3em;}
-  p.i3 {margin-left: 4em;}
-  p.i4 {margin-left: 5em;}
-  p.i5 {margin-left: 6em;}
-  p.i6 {margin-left: 7em;}
-  p.i7 {margin-left: 8em;}
-  p.i8 {margin-left: 9em;}
-  p.i9 {margin-left: 10em;}
+  p.i1 {margin-left: 1em;}
+  p.i2 {margin-left: 2em;}
+  p.i3 {margin-left: 3em;}
+  p.i4 {margin-left: 4em;}
+  p.i5 {margin-left: 5em;}
+  p.i6 {margin-left: 6em;}
+  p.i7 {margin-left: 7em;}
+  p.i8 {margin-left: 8em;}
+  p.i9 {margin-left: 9em;}
+
+  p.it0 {
+    margin-left: 0em;
+    margin-top: 6px;
+    margin-bottom: 0px;
+    line-height: 100%;
+  }
+  p.it1 {
+    margin-left: 1em;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    line-height: 100%;
+  }
+  p.it2 {
+    margin-left: 2em;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    line-height: 100%;
+  }
+  p.it3 {
+    margin-left: 3em;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    line-height: 100%;
+  }
+  p.it4 {
+    margin-left: 4em;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    line-height: 100%;
+  }
+  p.it5 {
+    margin-left: 5em;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    line-height: 100%;
+  }
+  p.it6 {
+    margin-left: 6em;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    line-height: 100%;
+  }
+  p.it7 {
+    margin-left: 7em;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    line-height: 100%;
+  }
+  p.it8 {
+    margin-left: 8em;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    line-height: 100%;
+  }
+  p.it9 {
+    margin-left: 9em;
+    margin-bottom: 0px;
+    margin-top: 0px;
+    line-height: 100%;
+  }
 
   p.code {
     font-family: inconsolata, andale mono, courier new, courier, monospace;
@@ -396,6 +458,10 @@ WOK
   p.bold {
     font-weight: bold;
   }
+  p.bold_left {
+    font-weight: bold;
+    text-align: left;
+  }
   p.centerbold {
     text-align: center;
     font-weight: bold;
@@ -534,7 +600,7 @@ WOK
 
   table { }
   tr { }
-  th, td { }
+  th, td { vertical-align: top; }
 
   p.left, th.left, td.left {
     text-align: left;
diff --git a/lib/sisu/v0/harvest.rb b/lib/sisu/v0/harvest.rb
index e8609a93..49303571 100644
--- a/lib/sisu/v0/harvest.rb
+++ b/lib/sisu/v0/harvest.rb
@@ -80,6 +80,10 @@ def cases(opt)
     css(opt) if opt.cmd.inspect =~/M/
     HARVEST_authors::Songsheet.new(opt).songsheet
     HARVEST_topics::Songsheet.new(opt).songsheet
+    if opt.cmd.inspect =~/R/
+      require "#{SiSU_lib}/remote"
+      SiSU_Remote::Put.new(opt).rsync_harvest
+    end
   else
     help
   end
diff --git a/lib/sisu/v0/harvest_authors.rb b/lib/sisu/v0/harvest_authors.rb
index 7a5e1cea..9586fcc3 100644
--- a/lib/sisu/v0/harvest_authors.rb
+++ b/lib/sisu/v0/harvest_authors.rb
@@ -168,38 +168,57 @@ module HARVEST_authors
       @env=SiSU_Env::Info_env.new
       @rc=Get_init.instance.yamlrc
       @page='sisu_manifest.html'
+      @alph=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
+      @letter=@alph.shift
+      @vz=SiSU_Env::Get_init.instance.skin
+    end
+    def html_file_open
       @output={}
       @output[:html]=File.new("#{@env.path.output_md_harvest}/harvest_authors.html",'w')
       @output[:html_mnt]= if @opt.cmd.inspect =~/-M/
         File.new("#{@env.path.pwd}/harvest_authors.html",'w')
       else nil
       end
-      @alph=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
-      @letter=@alph.shift
+    end
+    def html_file_close
+      @output[:html].close
+      @output[:html_mnt].close if @output[:html_mnt].class == File
     end
     def html_print
       def html_songsheet
+        html_file_open
         html_head
         html_alph
         html_body
         html_tail
+        html_file_close
       end
       def html_head_adjust(type='')
         css_path=if type !~/maintenance/
           '../_sisu/css/harvest.css'
         else 'harvest.css'
         end
+        sv=SiSU_Env::Info_version.new.get_version
         <<WOK
 <!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">
 <head>
 <title>SiSU Metadata Harvest - Authors</title>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta name="dc.title" content= "SiSU metadata harvest, Authors - SiSU information Structuring Universe, Structured information Serialised Units, 2008" />
+<meta name="dc.subject" content= "document structuring, ebook, publishing, PDF, LaTeX, XML, ODF, SQL, postgresql, sqlite, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, granular search, digital library" />
+<meta name="generator" content="#{sv[:project]} #{sv[:version]} of #{sv[:date_stamp]} (n*x and Ruby!)" />
+<link rel="generator" href="http://www.jus.uio.no/sisu/SiSU" />
 <link rel="stylesheet" href="#{css_path}" type="text/css" />
+<link rel="shortcut icon" href="../_sisu/image/rb7.ico" />
 </head>
 <body bgcolor="#ffffff" text="#000000" link="#003090" lang="en" xml:lang="en">
+<a name="top" id="top"></a>
+<a name="up" id="up"></a>
+<a name="start" id="start"></a>
 <h1>SiSU Metadata Harvest - Authors</h1>
-<p>also see <a href="harvest_topics.html">SiSU Metadata Harvest - Topics</a></p>
+<p>[<a href="../index.html">&nbsp;HOME&nbsp;</a>] also see <a href="harvest_topics.html">SiSU Metadata Harvest - Topics</a></p>
 <hr />
 WOK
       end
@@ -222,6 +241,14 @@ WOK
       def html_tail
         a=[]
         a <<<<WOK
+<hr />
+<a name="bottom" id="bottom"></a>
+<a name="down" id="down"></a>
+<a name="end" id="end"></a>
+<a name="finish" id="finish"></a>
+<a name="stop" id="stop"></a>
+<a name="credits"></a>
+#{@vz.credits_sisu}
 </body>
 </html>
 WOK
diff --git a/lib/sisu/v0/harvest_topics.rb b/lib/sisu/v0/harvest_topics.rb
index bda82629..51f55b2b 100644
--- a/lib/sisu/v0/harvest_topics.rb
+++ b/lib/sisu/v0/harvest_topics.rb
@@ -251,37 +251,56 @@ module HARVEST_topics
       @env=SiSU_Env::Info_env.new
       @rc=Get_init.instance.yamlrc
       @page='sisu_manifest.html'
+      @alph=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
+      @letter=@alph.shift
+      @vz=SiSU_Env::Get_init.instance.skin
+    end
+    def html_file_open
       @output={}
       @output[:html]=File.new("#{@env.path.output_md_harvest}/harvest_topics.html",'w')
       if @opt.cmd.inspect =~/-M/
         @output[:html_mnt]=File.new("#{@env.path.pwd}/harvest_topics.html",'w')
       end
-      @alph=%W[9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
-      @letter=@alph.shift
+    end
+    def html_file_close
+      @output[:html].close
+      @output[:html_mnt].close if @output[:html_mnt].class == File
     end
     def html_print
       def html_songsheet
+        html_file_open
         html_head
         html_alph
         html_body
         html_tail
+        html_file_close
       end
       def html_head_adjust(type='')
         css_path=if type !~/maintenance/
           '../_sisu/css/harvest.css'
         else 'harvest.css'
         end
+        sv=SiSU_Env::Info_version.new.get_version
         <<WOK
 <!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">
 <head>
 <title>SiSU Metadata Harvest - Topics</title>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta name="dc.title" content= "SiSU metadata harvest, Topics - SiSU information Structuring Universe, Structured information Serialised Units, 2008" />
+<meta name="dc.subject" content= "document structuring, ebook, publishing, PDF, LaTeX, XML, ODF, SQL, postgresql, sqlite, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, granular search, digital library" />
+<meta name="generator" content="#{sv[:project]} #{sv[:version]} of #{sv[:date_stamp]} (n*x and Ruby!)" />
+<link rel="generator" href="http://www.jus.uio.no/sisu/SiSU" />
 <link rel="stylesheet" href="#{css_path}" type="text/css" />
+<link rel="shortcut icon" href="../_sisu/image/rb7.ico" />
 </head>
 <body bgcolor="#ffffff" text="#000000" link="#003090" lang="en" xml:lang="en">
+<a name="top" id="top"></a>
+<a name="up" id="up"></a>
+<a name="start" id="start"></a>
 <h1>SiSU Metadata Harvest - Topics</h1>
-<p>also see <a href="harvest_authors.html">SiSU Metadata Harvest - Authors</a></p>
+<p>[<a href="../index.html">&nbsp;HOME&nbsp;</a>] also see <a href="harvest_authors.html">SiSU Metadata Harvest - Authors</a></p>
 <hr />
 WOK
       end
@@ -304,6 +323,14 @@ WOK
       def html_tail
         a=[]
         a <<<<WOK
+<hr />
+<a name="bottom" id="bottom"></a>
+<a name="down" id="down"></a>
+<a name="end" id="end"></a>
+<a name="finish" id="finish"></a>
+<a name="stop" id="stop"></a>
+<a name="credits"></a>
+#{@vz.credits_sisu}
 </body>
 </html>
 WOK
diff --git a/lib/sisu/v0/hub.rb b/lib/sisu/v0/hub.rb
index 93766140..33af71f9 100644
--- a/lib/sisu/v0/hub.rb
+++ b/lib/sisu/v0/hub.rb
@@ -181,7 +181,7 @@ module SiSU
             end
           end
         end
-        SiSU_Remote::Put.new(@opt).rsync_harvest if @opt.cmd.inspect =~/R/ and @opt.mod.inspect =~/harvest/
+        #SiSU_Remote::Put.new(@opt).rsync_harvest if @opt.cmd.inspect =~/R/ and @opt.mod.inspect =~/harvest/
       elsif @req =~/^dbi$/;            SiSU_DBI::SiSU_SQL.new(@opt).connect      # -D -d
       elsif @req=~/^sisupod_make$/;    SiSU_Doc::Source.new(@opt).read           # -S
       end
@@ -495,8 +495,8 @@ p "here #{__FILE__} #{__LINE__}" if @opt =~/M/
           if @opt.cmd =~/R/; op('remote','rsync')                  #% -R copy to remote server
           end
         else
-          if @opt.cmd =~/R/; op('remote','rsync_harvest')          #% -R copy to remote server
-          end
+          #if @opt.cmd =~/R/; op('remote','rsync_harvest')          #% -R copy to remote server
+          #end
         end
         if @opt.cmd =~/[QuUvVM]/; op('urls','urls')                  #% -Q -u -v -V -M urls
         end
diff --git a/lib/sisu/v0/i18n.rb b/lib/sisu/v0/i18n.rb
index 673ab08d..20f788f5 100644
--- a/lib/sisu/v0/i18n.rb
+++ b/lib/sisu/v0/i18n.rb
@@ -227,6 +227,9 @@ module SiSU_Translate
     def prefix_b
       @lang_class.prefix_b
     end
+    def topic_register
+      @lang_class.topic_register
+    end
     def fns
       @lang_class.fns
     end
@@ -436,6 +439,9 @@ module SiSU_Translate
     def prefix_b
       'Prefix (b)'
     end
+    def topic_register
+      'Topics Registered'
+    end
     def sourcefile
       'Sourcefile'
     end
@@ -641,6 +647,9 @@ module SiSU_Translate
     def prefix_b
       'Préfixe (b)'
     end
+    def topic_register
+      'Topics Registered'
+    end
     def sourcefile
       'Fichier source'
     end
@@ -846,6 +855,9 @@ module SiSU_Translate
     def prefix_b
       'Präfix (b)'
     end
+    def topic_register
+      'Topics Registered'
+    end
     def sourcefile
       'Quelldatei'
     end
@@ -1051,6 +1063,9 @@ module SiSU_Translate
    def prefix_b
      'Prefijo (b)'
    end
+    def topic_register
+      'Topics Registered'
+    end
    def sourcefile
      'Fichero fuente'
    end
@@ -1256,6 +1271,9 @@ module SiSU_Translate
     def prefix_b
       'Premessa (b)'
     end
+    def topic_register
+      'Topics Registered'
+    end
     def sourcefile
       'Sorgente'
     end
@@ -1461,6 +1479,9 @@ module SiSU_Translate
     def prefix_b
       'Prefix (b)'
     end
+    def topic_register
+      'Topics Registered'
+    end
     def sourcefile
       'Lähdetiedosto'
     end
diff --git a/lib/sisu/v0/manifest.rb b/lib/sisu/v0/manifest.rb
index 0b7c7bfc..793ecdc2 100644
--- a/lib/sisu/v0/manifest.rb
+++ b/lib/sisu/v0/manifest.rb
@@ -170,7 +170,7 @@ module SiSU_Manifest
         end
       end
       def metadata(id,info)
-        @manifest[:html] << %{<tr><th class="left"><p class="bold">#{id}:</p></th><td><p class="left">#{info}</p></td></tr>\n}
+        @manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{id}:</p></th><td><p class="left">#{info}</p></td></tr>\n}
       end
       def links(url,lnk,target)
         static=if url =~/^\.\//; url.gsub(/^\.(\.)?/,@base_url)
@@ -465,6 +465,20 @@ module SiSU_Manifest
           id,info=@translate.prefix_b,@md.prefix_b
           metadata(id,info)
         end
+        if @md.topic_register_array.length > 1
+          @manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{@translate.topic_register}:</p></th><td>\n}
+          @md.topic_register_array.each do |t|
+            t.each_with_index do |st,i|
+              if st.class == Array
+                st.each do |v|
+                  @manifest[:html] << %{<p class="it#{i}">#{v}</p>\n}
+                end
+              else @manifest[:html] << %{<p class="it#{i}">#{st}</p>\n}
+              end
+            end
+          end
+          @manifest[:html] << %{</td></tr>\n}
+        end
         if @md.fns
           id,info=@translate.sourcefile,@md.fns
           metadata(id,info)
-- 
cgit v1.2.3


From 54d887609748062b4053a723aa5e129c3f766fc8 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Thu, 11 Dec 2008 21:35:05 -0500
Subject: param, enfoorce name formatting rule (recently introduced) across
 name fields

---
 lib/sisu/v0/param.rb | 240 +++++++++++++++++++++++++++------------------------
 1 file changed, 128 insertions(+), 112 deletions(-)

diff --git a/lib/sisu/v0/param.rb b/lib/sisu/v0/param.rb
index 2829abe1..0d2095dd 100644
--- a/lib/sisu/v0/param.rb
+++ b/lib/sisu/v0/param.rb
@@ -118,7 +118,7 @@ module SiSU_Param
       @doc={ :lv=>[] }
       @doc[:fns],@doc[:fnb],@doc[:scr_suffix]='','',''
       @@publisher='SiSU scribe'
-      attr_accessor :cmd,:mod,:env,:fn,:fns,:fnb,:fnn,:fnt,:fnl,:flv,:fnz,:fnstex,:ocn,:sfx_src,:sfx,:pdf,:file_type,:dir_out,:dir_tex,:dir_lout,:txt_path,:site_skin,:sisu,:sisu_version,:ruby_version,:title,:dc_title,:html_title,:subtitle,:subtitle_tex,:creator_home,:dc_creator,:authors,:authorship,:translator,:illustrator,:prepared_by,:digitized_by,:dc_subject,:dc_description,:dc_publisher,:dc_contributor,:dc_date,:dc_date_created,:dc_date_issued,:dc_date_available,:dc_date_valid,:dc_date_modified,:date_scheme,:date_created_scheme,:date_issued_scheme,:date_available_scheme,:date_valid_scheme,:date_modified_scheme,:dc_type,:dc_format,:dc_identifier,:dc_source,:dc_language,:language_original,:dc_relation,:dc_coverage,:dc_rights,:keywords,:comments,:abstract,:cls_loc,:cls_dewey,:cls_pg,:cls_isbn,:papersize,:papersize_array,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:pagenew,:pagebreak,:num_top,:toc_lev_limit,:flag_endnotes,:flag_auto_endnotes,:flag_separate_endnotes,:flag_separate_endnotes_make,:flag_auto_heading_num,:markup,:markup_instruction,:markup_version,:markup_declared,:make_bold,:make_italic,:flag_tables,:vocabulary,:doc_skin,:doc_css,:yaml,:lnk,:prefix_a,:prefix_b,:suffix,:information,:contact,:icon,:image,:ad_url,:ad_png,:ad_alt,:ad_began,:flag_promo,:promo,:ad_home,:stmp,:stmpd,:sc_filename,:sc_number,:sc_date,:sc_time,:sc_info,:yamladdr,:locale,:wc_lines,:wc_words,:wc_bytes,:file_encoding,:file_size,:user,:home,:hostname,:pwd,:firstseg,:programs,:creator_copymark,:lang,:en,:dgst,:dgst_skin,:generated,:tags,:tag_array,:concord_make,:seg_names,:seg_autoname_safe,:set_header_title,:set_heading_top,:set_heading_seg,:heading_seg_first,:heading_seg_first_flag,:base_program,:man_section,:man_name,:man_synopsis,:ec,:opt,:sem_tag,:book_idx,:topic_register,:original_publication_details
+      attr_accessor :cmd,:mod,:env,:fn,:fns,:fnb,:fnn,:fnt,:fnl,:flv,:fnz,:fnstex,:ocn,:sfx_src,:sfx,:pdf,:file_type,:dir_out,:dir_tex,:dir_lout,:txt_path,:site_skin,:sisu,:sisu_version,:ruby_version,:title,:dc_title,:html_title,:subtitle,:subtitle_tex,:creator_home,:dc_creator,:authors,:authorship,:translator,:illustrator,:prepared_by,:digitized_by,:dc_subject,:dc_description,:dc_publisher,:dc_contributor,:dc_date,:dc_date_created,:dc_date_issued,:dc_date_available,:dc_date_valid,:dc_date_modified,:date_scheme,:date_created_scheme,:date_issued_scheme,:date_available_scheme,:date_valid_scheme,:date_modified_scheme,:dc_type,:dc_format,:dc_identifier,:dc_source,:dc_language,:language_original,:dc_relation,:dc_coverage,:dc_rights,:keywords,:comments,:abstract,:cls_loc,:cls_dewey,:cls_pg,:cls_isbn,:papersize,:papersize_array,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:pagenew,:pagebreak,:num_top,:toc_lev_limit,:flag_endnotes,:flag_auto_endnotes,:flag_separate_endnotes,:flag_separate_endnotes_make,:flag_auto_heading_num,:markup,:markup_instruction,:markup_version,:markup_declared,:make_bold,:make_italic,:flag_tables,:vocabulary,:doc_skin,:doc_css,:yaml,:lnk,:prefix_a,:prefix_b,:suffix,:information,:contact,:icon,:image,:ad_url,:ad_png,:ad_alt,:ad_began,:flag_promo,:promo,:ad_home,:stmp,:stmpd,:sc_filename,:sc_number,:sc_date,:sc_time,:sc_info,:yamladdr,:locale,:wc_lines,:wc_words,:wc_bytes,:file_encoding,:file_size,:user,:home,:hostname,:pwd,:firstseg,:programs,:creator_copymark,:lang,:en,:dgst,:dgst_skin,:generated,:tags,:tag_array,:concord_make,:seg_names,:seg_autoname_safe,:set_header_title,:set_heading_top,:set_heading_seg,:heading_seg_first,:heading_seg_first_flag,:base_program,:man_section,:man_name,:man_synopsis,:ec,:opt,:sem_tag,:book_idx,:topic_register,:topic_register_array,:original_publication_details
       def initialize(fns_array,opt)
         @env=@fn=@fns=@fnb=@fnn=@fnt=@fnl=@flv=@fnz=@fnstex=@ocn=@sfx_src=@sfx=@pdf=@file_type=@dir_out=@dir_tex=@dir_lout=@txt_path=@flag_endnotes=@flag_auto_endnotes=@flag_separate_endnotes=@flag_separate_endnotes_make=@site_skin=@sisu=@sisu_version=@ruby_version=@title=@dc_title=@html_title=@subtitle=@subtitle_tex=@creator_home=@dc_creator=@translator=@illustrator=@prepared_by=@digitized_by=@dc_subject=@dc_description=@dc_publisher=@dc_contributor=@dc_date=@dc_date_created=@dc_date_issued=@dc_date_available=@dc_date_valid=@dc_date_modified=@date_scheme=@date_created_scheme=@date_issued_scheme=@date_available_scheme=@date_valid_scheme=@date_modified_scheme=@dc_type=@dc_format=@dc_identifier=@dc_source=@dc_language=@language_original=@dc_relation=@dc_coverage=@dc_rights=@keywords=@comments=@abstract=@cls_loc=@cls_dewey=@cls_pg=@cls_isbn=@papersize=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@pagenew=@pagebreak=@num_top=@toc_lev_limit=@flag_auto_heading_num=@make_bold=@make_italic=@flag_tables=@vocabulary=@doc_skin=@doc_css=@yaml=@lnk=@prefix_a=@prefix_b=@suffix=@information=@contact=@icon=@ad_url=@ad_png=@ad_alt=@ad_began=@promo=@ad_home=@stmp=@stmpd=@sc_filename=@sc_number=@sc_date=@sc_time=@sc_info=@yamladdr=@locale=@wc_lines=@wc_words=@wc_bytes=@file_encoding=@file_size=@firstseg=@programs=@creator_copymark=@lang=@en=@dgst=@dgst_skin=@generated=@heading_seg_first=@base_program=@man_synopsis=@topic_register=@original_publication_details=nil
         @man_section=1
@@ -131,8 +131,7 @@ module SiSU_Param
         @markup=@markup_instruction #use @markup_instruction
         @doc,@fn,@make_italic,@make_bold,@tag_hash,@ec={},{},{},{},{},{},{}
         @flv,@lang,@seg_names,@tags,@tag_array,@tag_a,@ec[:image],@ec[:audio],@ec[:multimedia]=Array.new(9){[]}
-        @authors=[]
-        @papersize_array=[]
+        @authors,@topic_register_array,@papersize_array=[],[],[]
         @rgx_image=/(?:^|[^_\\])\{\s*(\S+?\.(?:png|jpg|gif))/
         @rgx_audio=/\{\s*(\S+?\.(?:mp3|ogg))/
         @rgx_mm=/\{\s*(\S+?\.(?:ogg|mpeg))/ #expand and distinguish ogg
@@ -152,6 +151,42 @@ module SiSU_Param
         else                            'A4'
         end
       end
+      def name_format(name)
+        name.strip!
+        @name_a_h=[]
+        authors=name.scan(/[^;]+/)
+        authors.each do |a|
+          if a =~/"(.+?)"/
+            @name_a_h << { :the => $1 }
+          else #if a =~/,/
+            x=a.scan(/[^,]+/)
+            if x.length == 1
+              @name_a_h << { :the => x[0].strip }
+            elsif x.length == 2
+              @name_a_h << { :the => x[0].strip, :others => x[1].strip }
+            else #p x.length
+            end
+          end
+        end
+        l = @name_a_h.length
+        name_str=''
+        @name_a_h.each_with_index do |a,i|
+          name_str += if a[:others]
+            if (l - i) > 1
+              "#{a[:others].strip} #{a[:the].strip}, "
+            else
+              "#{a[:others].strip} #{a[:the].strip}"
+            end
+          else
+            if (l - i) > 2
+              "#{a[:the].strip}, "
+            else
+              "#{a[:the].strip}"
+            end
+          end
+        end
+        {:name_a_h =>@name_a_h,:name_str =>name_str}
+      end
       def extract
         @user,@home,@hostname,@pwd=ENV['USER'],ENV['HOME'],ENV['HOSTNAME'],ENV['PWD']
         @programs,@wc,@dc_language,@language_original={},{},{},{}
@@ -267,12 +302,12 @@ module SiSU_Param
           when /^\}code\s*$/; false
           else @code_flag
           end
-          regx_header=/^(?:0~|@\S+?:[+-]?\s)/
+          regx_header=/^(?:@\S+?:[+-]?\s|0~\S+)/
           if para =~regx_header \
           and not @code_flag #or para=~/^(?:1|:?A)~/
             case para
-            when /^(?:0~ocn|@ocn:)\s+(.+?)$/m;  @ocn=$1                                             #% processing
-            when /^(?:0~title|@title:)\s+(.+?)$/m                                                   #% metainfo DC
+            when /^(?:@ocn:|0~ocn)\s+(.+?)$/m; @ocn=$1                                              #% processing
+            when /^(?:@title:|0~title)\s+(.+?)$/m                                                   #% metainfo DC
               @title=$1.strip
               @dc_title=@title.dup
               @html_title=@title.gsub(/(<p>|<p \/>|<br>|<br \/>)/,'')
@@ -281,66 +316,37 @@ module SiSU_Param
               @html_title.chomp!(' ')
               tell=SiSU_Screen::Ansi.new(@cmd,'Parameters',@html_title)
               tell.txt_grey unless @cmd =~/q/
-            when /^(?:0~subtitle|@subtitle:)\s+(.+?)$/m                                             #% metainfo
+            when /^(?:@subtitle:|0~subtitle)\s+(.+?)$/m                                             #% metainfo
               @subtitle=$1.strip
               @dc_title="#{@title} - #{@subtitle}"
               @subtitle_tex=@subtitle
-            when /^(?:0~(creator|author)-?|@(creator|author)-?:)\s+/                                #% metainfo DC
-              if para[/(?:0~|@)(?:creator|author):?\s+((?:https?|ftp)\S+)\s+(.+?)$/m]
-                @creator_home, @dc_creator=$1,$2
-              else @dc_creator=/(?:0~|@)(?:creator|author)-?:?\s+(.+?)$/m.match(para)[1]
-              end
-              @dc_creator.strip!
-              authors=@dc_creator.scan(/[^;]+/)
-              authors.each do |a|
-                if a =~/"(.+?)"/
-                  @authors << { :the => $1 }
-                else #if a =~/,/
-                  x=a.scan(/[^,]+/)
-                  if x.length == 1
-                    @authors << { :the => x[0].strip }
-                  elsif x.length == 2
-                    @authors << { :the => x[0].strip, :others => x[1].strip }
-                  else #p x.length
-                  end
-                end
-              end
-              l = @authors.length
-              authorship=''
-              @authors.each_with_index do |a,i|
-                authorship += if a[:others]
-                  if (l - i) > 1
-                    "#{a[:others].strip} #{a[:the].strip}, "
-                  else
-                    "#{a[:others].strip} #{a[:the].strip}"
-                  end
-                else
-                  if (l - i) > 2
-                    "#{a[:the].strip}, "
-                  else
-                    "#{a[:the].strip}"
-                  end
-                end
-              end
-              @authorship=@dc_creator=authorship
-            when /^(?:0~(?:translator|translated_by)|@(?:translator|translated_by):)\s+(.+?)$/m     #% metainfo
-              @translator=$1
-            when /^(?:0~(?:illustrator|illustrated_by)|@(?:illustrator|illustrated_by):)\s+(.+?)$/m #% metainfo
-              @illustrator=$1
-            when /^(?:0~prepared_by|@prepared_by:)\s+(.+?)$/m                                       #% metainfo
-              @prepared_by=$1
-            when /^(?:0~digitized_by|@digitized_by:)\s+(.+?)$/m                                     #% metainfo DC
-              @digitized_by=$1
-            when /^(?:0~subject|@subject:)\s+(.+?)$/m                                               #% metainfo DC
+            when /^(?:@(?:creator|author)-?:|0~(?:creator|author)-?)\s+(.+?)$/                      #% metainfo DC
+              names=name_format($1)
+              @authorship=@dc_creator=names[:name_str]
+              @authors=names[:name_a_h]
+            when /^(?:@(?:translator|translated_by):|0~(?:translator|translated_by))\s+(.+?)$/m     #% metainfo
+              names=name_format($1)
+              @translator=names[:name_str]
+            when /^(?:@(?:illustrator|illustrated_by):|0~(?:illustrator|illustrated_by))\s+(.+?)$/m #% metainfo
+              names=name_format($1)
+              @illustrator=names[:name_str]
+            when /^(?:@prepared_by:|0~prepared_by)\s+(.+?)$/m                                       #% metainfo
+              names=name_format($1)
+              @prepared_by=names[:name_str]
+            when /^(?:@digitized_by:|0~digitized_by)\s+(.+?)$/m                                     #% metainfo DC
+              names=name_format($1)
+              @digitized_by=names[:name_str]
+            when /^(?:@subject:|0~subject)\s+(.+?)$/m                                               #% metainfo DC
               @dc_subject=$1
-            when /^(?:0~description|@description:)\s+(.+?)$/m                                       #% metainfo DC & rss feed
+            when /^(?:@description:|0~description)\s+(.+?)$/m                                       #% metainfo DC & rss feed
               @dc_description=$1
-            when /^(?:0~contributor|@contributor:)\s+(.+?)$/m                                       #% metainfo DC
-              @dc_contributor=$1
-            when /^(?:0~publisher|@publisher:)\s+(.+?)$/m                                           #% metainfo DC
+            when /^(?:@contributor:|0~contributor)\s+(.+?)$/m                                       #% metainfo DC
+              names=name_format($1)
+              @dc_contributor=names[:name_str]
+            when /^(?:@publisher:|0~publisher)\s+(.+?)$/m                                           #% metainfo DC
               @dc_publisher=$1
-            when /^(?:0~|@)date.+?$/m                                                               #% metainfo DC
-              if para =~/(?:0~date|@date:)\s+(.+?)$/m
+            when /^(?:@|0~)date.+?$/m                                                               #% metainfo DC
+              if para =~/(?:@date:|0~date)\s+(.+?)$/m
                 @dc_date=$1.strip
                 if @dc_date !~regx_date \
                 and not @dc_date.empty?
@@ -349,7 +355,7 @@ module SiSU_Param
                 end
                 @date_scheme='scheme="ISO-8601"' if @dc_date =~/\d{4}-\d{2}-\d{2}/
               end
-              if para =~/(?:0~date\.created|@date\.created:)\s*(.+?)$/m
+              if para =~/(?:@date\.created:|0~date\.created)\s*(.+?)$/m
                 date=$1.strip
                 if date !~regx_date \
                 and not date.empty?
@@ -359,7 +365,7 @@ module SiSU_Param
                 @dc_date_created=date
                 @date_created_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
-              if para =~/(?:0~date\.issued|@date\.issued:)\s*(.+?)$/m
+              if para =~/(?:@date\.issued:|0~date\.issued)\s*(.+?)$/m
                 date=$1.strip
                 if date !~regx_date \
                 and not date.empty?
@@ -369,7 +375,7 @@ module SiSU_Param
                 @dc_date_issued=date
                 @date_issued_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
-              if para =~/(?:0~date\.available|@date\.available:)\s*(.+?)$/m
+              if para =~/(?:@date\.available:|0~date\.available)\s*(.+?)$/m
                 date=$1.strip
                 if date !~regx_date \
                 and not date.empty?
@@ -379,7 +385,7 @@ module SiSU_Param
                 @dc_date_available=date
                 @date_available_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
-              if para =~/^(?:0~date\.valid|@date\.valid:)\s*(.+?)$/m
+              if para =~/^(?:@date\.valid:|0~date\.valid)\s*(.+?)$/m
                 date=$1.strip
                 if date !~regx_date \
                 and not date.empty?
@@ -389,7 +395,7 @@ module SiSU_Param
                 @dc_date_valid=date
                 @date_valid_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
-              if para =~/^(?:0~date\.modified|@date\.modified:)\s*(.+?)$/m                                                               #% of interest rss feed & sitemap
+              if para =~/^(?:@date\.modified:|0~date\.modified)\s*(.+?)$/m                                                               #% of interest rss feed & sitemap
                 date=$1.strip
                 if date !~regx_date \
                 and not date.empty?
@@ -399,33 +405,33 @@ module SiSU_Param
                 @dc_date_modified=date
                 @date_modified_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
-            when /^(?:0~type|@type:)\s+(.+?)$/m;             @dc_type=$1                                                 #% metainfo DC
-            when /^(?:0~format|@format:)\s+(.+?)$/m;         @dc_format=$1                                               #% metainfo DC
-            #when /^(?:0~identifier|@identifier:)\s+(.+?)$/m; @dc_identifier=$1                                           #% metainfo DC
-            when /^(?:0~source|@source:)\s+(.+?)$/m;         @dc_source=$1                                               #% metainfo DC
-            when /^(?:0~language(?:\.document)?|@language(?:\.document)?:)\s+(.+?)$/m                                    #% metainfo DC
+            when /^(?:@type:|0~type)\s+(.+?)$/m;             @dc_type=$1                                                 #% metainfo DC
+            when /^(?:@format:|0~format)\s+(.+?)$/m;         @dc_format=$1                                               #% metainfo DC
+            #when /^(?:@identifier:|0~identifier)\s+(.+?)$/m; @dc_identifier=$1                                           #% metainfo DC
+            when /^(?:@source:|0~source)\s+(.+?)$/m;         @dc_source=$1                                               #% metainfo DC
+            when /^(?:@language(?:\.document)?:|0~language(?:\.document)?)\s+(.+?)$/m                                    #% metainfo DC
               x=$1.strip
               lang=SiSU_Env::Standardise_language.new(x.dup)
               @dc_language[:code]=lang.code
               @dc_language[:name]=lang.title
-            when /^(?:0~language\.original|@language\.original:)\s+(.+?)$/m                                              #% metainfo DC
+            when /^(?:@language\.original:|0~language\.original)\s+(.+?)$/m                                              #% metainfo DC
               x=$1.strip
               lang=SiSU_Env::Standardise_language.new(x.dup)
               @language_original[:name]=lang.title
-            when /^(?:0~relation|@relation:)\s+(.+?)$/m;     @dc_relation=$1                                             #% metainfo DC
-            when /^(?:0~coverage|@coverage:)\s+(.+?)$/m;     @dc_coverage=$1                                             #% metainfo DC
-            when /^(?:0~rights|@rights:)\s+(.+?)$/m;         @dc_rights=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line]) #% metainfo DC copyright, public domain, copyleft, creative commons, etc.
-            when /^(?:0~papersize|@papersize:)\s+(.+?)$/m                                                                #% metainfo DC
+            when /^(?:@relation:|0~relation)\s+(.+?)$/m;     @dc_relation=$1                                             #% metainfo DC
+            when /^(?:@coverage:|0~coverage)\s+(.+?)$/m;     @dc_coverage=$1                                             #% metainfo DC
+            when /^(?:@rights:|0~rights)\s+(.+?)$/m;         @dc_rights=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line]) #% metainfo DC copyright, public domain, copyleft, creative commons, etc.
+            when /^(?:@papersize:|0~papersize)\s+(.+?)$/m                                                                #% metainfo DC
               l=$1
               if @mod.inspect !~/--papersize[=-]\S+/
                 l=determine_papersize(l.dup)
                 @papersize=l
               end
-            when /^(?:0~keywords?|@keywords?:?)\s+(.+?)$/m;  @keywords=$1                                                #% metainfo DC
-            when /^(?:0~comments?|@comments?:?)\s+(.+?)$/m;  @comments=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line])  #% metainfo DC
-            when /^(?:0~abstract|@abstract)\s+(.+?)$/m;      @abstract=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line])  #% metainfo DC
-            when /^(?:0~tags?|@tags?:)\s+\S/m                                                                            #% metainfo
-              tags=para.match(/^(?:0~tags?|@tags?:)\s+(.+)\Z/m)[1]
+            when /^(?:@keywords?:|0~keywords?)\s+(.+?)$/m;  @keywords=$1                                                #% metainfo DC
+            when /^(?:@comments?:|0~comments?)\s+(.+?)$/m;  @comments=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line])  #% metainfo DC
+            when /^(?:@abstract:|0~abstract)\s+(.+?)$/m;      @abstract=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line])  #% metainfo DC
+            when /^(?:@tags?:|0~tags?)\s+\S/m                                                                            #% metainfo
+              tags=para.match(/^(?:@tags?:|0~tags?)\s+(.+)\Z/m)[1]
               tags.split(/,|$/).each do |tag|
                 tag.strip!
                 @tags << tag
@@ -434,18 +440,18 @@ module SiSU_Param
                 tag_a=tag_a.split(/:/).join('][')
                 @tag_a << tag_a
               end
-            when /^(?:0~catalogue|@catalogue:)\s+(.+)?$/m                                                                #% metainfo
+            when /^(?:@catalogue:|0~catalogue)\s+(.+)?$/m                                                                #% metainfo
               m=$1
               @cls_pg=m.match(/pg=(\S+)/)[1] if m =~/pg=/
               @cls_isbn=m.match(/isbn=(\S+)/)[1] if m =~/isbn=/
               @cls_dewey=m.match(/dewey=(\S+)/)[1] if m =~/dewey=/
               @cls_loc=m.match(/loc=(\S+)/)[1] if m =~/loc=/
-            when /^(?:0~class(?:ify)?_loc|@class(?:ify)?_loc:)\s+(.+?)$/m;             @cls_loc=$1                       #% metainfo
-            when /^(?:0~class(?:ify)?_dewey|@class(?:ify)?_dewey:)\s+(.+?)$/m;         @cls_dewey=$1                      #% metainfo
-            when /^(?:0~class(?:ify)?_pg|@class(?:ify)?_pg)\s+(.+?)$/m;                @cls_pg=$1                        #% metainfo
-            when /^(?:0~(?:class(?:ify)?_)?isbn|@(?:class(?:ify)?_)?isbn)\s+(\S+?)$/m; @cls_isbn=$1                      #% metainfo
-            when /^(?:0~images?|@images?:)\s+(.+?)$/m;                                 @image=$1                         #% processing
-            when /^(?:0~(?:toc|structure)|@(?:toc|structure):)\s+(.+?)\Z/m                                                 #% processing
+            when /^(?:@class(?:ify)?_loc:|0~class(?:ify)?_loc)\s+(.+?)$/m;             @cls_loc=$1                       #% metainfo
+            when /^(?:@class(?:ify)?_dewey:|0~class(?:ify)?_dewey)\s+(.+?)$/m;         @cls_dewey=$1                      #% metainfo
+            when /^(?:@class(?:ify)?_pg:|0~class(?:ify)?_pg)\s+(.+?)$/m;                @cls_pg=$1                        #% metainfo
+            when /^(?:@(?:class(?:ify)?_)?isbn:|0~(?:class(?:ify)?_)?isbn)\s+(\S+?)$/m; @cls_isbn=$1                      #% metainfo
+            when /^(?:@images?:|0~images?)\s+(.+?)$/m;                                 @image=$1                         #% processing
+            when /^(?:@(?:toc|structure):|0~(?:toc|structure))\s+(.+?)\Z/m                                                 #% processing
               doc_toc_str=$1
               @toc=doc_toc_str.split(/;\s*/)
               @toc=[ @toc ] if @toc == String
@@ -462,8 +468,8 @@ module SiSU_Param
               @lv5=/^#{lv5}/
               lv6=@toc[5] ||='6~ '
               @lv6=/^#{lv6}/
-            when /^(?:0~(?:level|page|markup)|@(?:level|page|markup):)\s+(.+?)$/m                   #% processing revisit..., use syntax 0~level new=1,2,3; break=4
-              if para =~/(?:0~|@)(?:markup|level|page):?\s+(.+?)\Z/m
+            when /^(?:@(?:level|page|markup):|0~(?:level|page|markup))\s+(.+?)$/m                   #% processing revisit..., use syntax 0~level new=1,2,3; break=4
+              if para =~/(?:@|0~)(?:markup|level|page):?\s+(.+?)\Z/m
                 page_break_str=$1
                 pagebreaks=page_break_str.split(/;\s*/)
                 #pagebreaks=[ pagebreaks ] if pagebreaks == String
@@ -480,11 +486,11 @@ module SiSU_Param
                 @toc_lev_limit=toc_lev_limit if toc_lev_limit
                 @flag_auto_heading_num=true if para =~/num_top/
               end
-              if para =~/^(?:0~markup|@markup:)\s+(.+?)$/m                             #%use of markup depreciated for num_top
+              if para =~/^(?:@markup:|0~markup)\s+(.+?)$/m                             #%use of markup depreciated for num_top
                 @markup=$1
                 @flag_auto_heading_num=true if para =~/num_top/
               end
-            when /^(?:0~bold|@bold:)\s+(.+?)$/m                                                     #% processing
+            when /^(?:@bold:|0~bold)\s+(.+?)$/m                                                     #% processing
               m=$1.strip
               x=case m
               when /\/i$/; 'i'
@@ -498,7 +504,7 @@ module SiSU_Param
               else                          /#{rgx}/
               end
               @make_bold
-            when /^(?:0~(?:italics?|itali[sz]e)|@(?:italics?|itali[sz]e):)\s+(.+?)$/m               #% processing Dublin Core - dublin core within
+            when /^(?:@(?:italics?|itali[sz]e):|0~(?:italics?|itali[sz]e))\s+(.+?)$/m               #% processing Dublin Core - dublin core within
               m=$1.strip
               x=case m
               when /\/i$/; 'i'
@@ -512,11 +518,11 @@ module SiSU_Param
               else                            /#{rgx}/
               end
               @make_italic
-            when /^(?:0~(?:vocabulary|wordlist)|@(?:vocabulary|wordlist):)\s+(.+?)$/m               #% processing
+            when /^(?:@(?:vocabulary|wordlist):|0~(?:vocabulary|wordlist))\s+(.+?)$/m               #% processing
                 @vocabulary=$1                                                   #not actually used by concordance
-            when /^(?:0~skin|@skin:)\s+(.+?)$/; @doc_skin=$1.strip                                  #% processing
-            when /^(?:0~(?:css|stylesheet)|@(?:css|stylesheet):)\s+(.+?)$/; @doc_css=$1.strip       #% processing
-            when /^(?:0~links|@links:)\s+(.+?)\Z/m                                                   #% processing
+            when /^(?:@skin:|0~skin)\s+(.+?)$/; @doc_skin=$1.strip                                  #% processing
+            when /^(?:@(?:css|stylesheet):|0~(?:css|stylesheet))\s+(.+?)$/; @doc_css=$1.strip       #% processing
+            when /^(?:@links:|0~links)\s+(.+?)\Z/m                                                   #% processing
               doc_links_str=$1
               @lnk=[]
               if doc_links_str=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/
@@ -540,40 +546,50 @@ module SiSU_Param
                   end
                 end
               end
-            when /^(?:0~prefix(?:_[ab])?|@prefix(?:_[ab])?:)\s/                                     #% metainfo
+            when /^(?:@prefix(?:_[ab])?:|0~prefix(?:_[ab])?)\s/                                     #% metainfo
               if para =~/prefix_a:?\s+/
-                @prefix_a=para[/(?:0~prefix_a|@prefix_a:)\s+(.+?)$/im,1]
+                @prefix_a=para[/(?:@prefix_a:|0~prefix_a)\s+(.+?)$/im,1]
               end
               if para =~/prefix(?:_b)?:?\s+/
-                @prefix_b=para[/(?:0~prefix(?:_b)?|@prefix(?:_b)?:)\s+(.+?)$/im,1]
+                @prefix_b=para[/(?:@prefix(?:_b)?:|0~prefix(?:_b)?)\s+(.+?)$/im,1]
+              end
+            when /^(?:@suffix:|0~suffix)\s+(.+?)$/m;           @suffix=$1                           #% metainfo
+            when /^(?:@information:|0~information)\s+(.+?)$/m; @information=$1                      #% metainfo
+            when /^(?:@topic_register:|0~topic_register)\s+(.+?)$/m; @topic_register=$1             #% metainfo, similar syntax to book index, leave out the ={} i.e. use equivalent of ={(.+?)}
+              u=@topic_register.scan(/[^;]+/)
+              v=[]
+              u.each do |l|
+                v << l.scan(/[^:]+/)
+              end
+              v.each do |m|
+                m[-1]=m[-1].scan(/[^|]+/) if m[-1] =~/[|]/
+                @topic_register_array << m
               end
-            when /^(?:0~suffix|@suffix:)\s+(.+?)$/m;           @suffix=$1                           #% metainfo
-            when /^(?:0~information|@information:)\s+(.+?)$/m; @information=$1                      #% metainfo
-            when /^(?:0~topic_register|@topic_register:)\s+(.+?)$/m; @topic_register=$1                   #% metainfo, similar syntax to book index, leave out the ={} i.e. use equivalent of ={(.+?)}
-            when /^(?:0~contact|@contact:)\s+(.+?)$/m;         @contact=$1                          #% metainfo
-            when /^(?:0~original_publication|@original_publication:)\s+(.+?)$/m;         @original_publication=$1  #% details of original publication
-            when /^(?:0~icon|@icon:)\s+(.+?)$/m;               @icon=$1                             #% processing
-            when /^(?:0~promo|@promo:)\s+(.+?)$/m
+              @topic_register_array.sort!
+            when /^(?:@contact:|0~contact)\s+(.+?)$/m;         @contact=$1                          #% metainfo
+            when /^(?:@original_publication:|0~original_publication)\s+(.+?)$/m;         @original_publication=$1  #% details of original publication
+            when /^(?:@icon:|0~icon)\s+(.+?)$/m;               @icon=$1                             #% processing
+            when /^(?:@promo:|0~promo)\s+(.+?)$/m
               @flag_promo=true
               @promo=$1.split(/[,;]\s*/)
-            when /^(?:0~ad|@ad:)\s+(\S+)?\s+(\S+\.png)?\s+(.+?!)\s+(\d+)\s*$/m                      #% processing
+            when /^(?:@ad:|0~ad)\s+(\S+)?\s+(\S+\.png)?\s+(.+?!)\s+(\d+)\s*$/m                      #% processing
               @ad_url,@ad_png,@ad_alt,@ad_began=$1,$2,$3,$4
             when /0~ad\.home\s+(.+)?\s*$/m                                                          #% processing
               ad_home_str=$1
               @ad_home=ad_home_str.split(/\s+!/)
-            when /^(?:0~sta?mp(?:ed)?|@sta?mp(?:ed)?:)\s+(.+?)$/m;  @stmp= $1.downcase!             #% processing
-            when /^(?:0~(?:rcs|cvs)|@(?:rcs|cvs):)\+?\s+/                                           #% processing
-              m=/(?:0~(?:rcs|cvs)|@(?:rcs|cvs):)\+?\s+/ #note the + sign to turn on use of rcs or cvs id
+            when /^(?:@sta?mp(?:ed)?:|0~sta?mp(?:ed)?)\s+(.+?)$/m;  @stmp= $1.downcase!             #% processing
+            when /^(?:@(?:rcs|cvs):|0~(?:rcs|cvs))\+?\s+/                                           #% processing
+              m=/(?:@(?:rcs|cvs):|0~(?:rcs|cvs))\+?\s+/ #note the + sign to turn on use of rcs or cvs id
               ver=para[/#{m}(.+)/,1] #RCS or CVS ID tag # eg. # $Id$
               contains=/[\$]Id:\s+(\S+),v\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+Exp\s+(?:\S+\s+)?[\$]/ # reason for [$] which is apparently unnecessary is that rcs or cvs will otherwise expand id!
               if contains.match(ver)
                 filename,vnumber,date,time,operator=contains.match(ver).captures
                 @sc_filename,@sc_number,@sc_date,@sc_time=filename,vnumber,date,time
               end
-              @sc_info=true if para[/(?:0~(?:rcs|cvs)|@(?:rcs|cvs):)\+/]
+              @sc_info=true if para[/(?:@(?:rcs|cvs):|0~(?:rcs|cvs))\+/]
             when /^@base_program:\s+(.+?)$/;                   @base_program=$1                                       #% processing
               #% break - break, not necessary to process headers further :-) but necessary to extract endnotes etc. ;-(
-            when /^(?:0~man|@man:)\s+(.+?)\Z/m                                           #% man pages
+            when /^(?:@man:|0~man)\s+(.+?)\Z/m                                           #% man pages
               maninfo_str=$1
               maninfo=maninfo_str.split(/;\s*/m)
               maninfo.each do |x|
-- 
cgit v1.2.3


From 5948a4e5b27e1dace77a039d9e0808a382374f91 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Thu, 11 Dec 2008 21:40:49 -0500
Subject: tex/pdf, bullet mark, workaround current absence from tex-live)

bug in tex-live, no doubt temporary
---
 lib/sisu/v0/texpdf.rb        | 1 +
 lib/sisu/v0/texpdf_format.rb | 9 ++++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/sisu/v0/texpdf.rb b/lib/sisu/v0/texpdf.rb
index ea1e10e6..e7422baf 100644
--- a/lib/sisu/v0/texpdf.rb
+++ b/lib/sisu/v0/texpdf.rb
@@ -544,6 +544,7 @@ module SiSU_TeX
 \\widowpenalty=300
 \\makeatother
 \\makeatother
+\\chardef\\txtbullet="2022
 % \\sloppy
 \\begin{document}
 WOK
diff --git a/lib/sisu/v0/texpdf_format.rb b/lib/sisu/v0/texpdf_format.rb
index 2c791b18..00249c26 100644
--- a/lib/sisu/v0/texpdf_format.rb
+++ b/lib/sisu/v0/texpdf_format.rb
@@ -1083,7 +1083,8 @@ WOK
         string.gsub!(/^(#{Mx[:lv_o]}[1-6-]:\S*?#{Mx[:lv_c]}|<.+?>)?\s*'/,'\1`')  # open '
       end
       string.gsub!(/^(#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]})?\s*#{Mx[:gl_bullet]}\s*/,
-        '\1 \begin{math} \bullet \end{math}~~') #bullets - added 2004w17 watch \\_
+        '\1 $\txtbullet$~~') #bullets - defined 2008w49 temporary absence of bullet in debian texlive \\_
+        #'\1 \begin{math} \bullet \end{math}~~') #bullets - added 2004w17 watch \\_
       string.gsub!(/(<font.*?>|<\/font>)/,'')
       string.gsub!(/\s*#{Mx[:fa_superscript_o]}(\S+?)#{Mx[:fa_superscript_c]}/,'^\1')
       #string.gsub!(/\s*(?:#{Mx[:br_line]}|#{Mx[:br_paragraph]}|\n)\*/,' \\\\ ')
@@ -1256,8 +1257,10 @@ WOK
         string.gsub!(/\s+'/,' `')                                # open '
         string.gsub!(/^(#{Mx[:lv_o]}[1-6-]:\S*?#{Mx[:lv_c]}|<.+?>)?\s*'/,'\1`')  # open '
       end
-      string.gsub!(/^\s*#{Mx[:gl_bullet]}\s*/,'\begin{math} \bullet \end{math}~~')
-      string.gsub!(/^(#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]})?\s*#{Mx[:gl_bullet]}\s*/,'\1 \begin{math} \bullet \end{math}~~')
+      string.gsub!(/^\s*#{Mx[:gl_bullet]}\s*/,'$\txtbullet$~~')
+      string.gsub!(/^(#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]})?\s*#{Mx[:gl_bullet]}\s*/,'\1 $\txtbullet$~~')
+      #string.gsub!(/^\s*#{Mx[:gl_bullet]}\s*/,'\begin{math} \bullet \end{math}~~')
+      #string.gsub!(/^(#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]})?\s*#{Mx[:gl_bullet]}\s*/,'\1 \begin{math} \bullet \end{math}~~')
       #string.gsub!(/^\s*#{Mx[:gl_bullet]}\s*/,'● ~~')
       #string.gsub!(/^(#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]})?\s*#{Mx[:gl_bullet]}\s*/,'\1 ● ~~')
       ##string.gsub!(/^(#{Mx[:pa_o]}:i[1-9]#{Mx[:pa_c]})?\s*\\_\*\s*/,'\1 ● ~~')
-- 
cgit v1.2.3


From 6149eecbced3c564088bab622a9491deb4f65646 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Thu, 11 Dec 2008 21:48:30 -0500
Subject: html tables, fix to structure and for (specified) column widths

---
 lib/sisu/v0/html_scroll.rb | 39 +++++++++++++++++++++------------------
 lib/sisu/v0/html_table.rb  | 24 ++++++++++++------------
 2 files changed, 33 insertions(+), 30 deletions(-)

diff --git a/lib/sisu/v0/html_scroll.rb b/lib/sisu/v0/html_scroll.rb
index fb04f2f9..2f8bc1dd 100644
--- a/lib/sisu/v0/html_scroll.rb
+++ b/lib/sisu/v0/html_scroll.rb
@@ -112,33 +112,36 @@ module SiSU_HTML_scroll
               txt_obj={:txt =>@sto.text}
               format_txt_obj=SiSU_HTML_Format::Format_text_object.new(@md,txt_obj)
             end
-            case @sto.format
-            when /^1:\S*?/; para=@sto.scroll_lev_para_ocn.heading_body1
-            when /^2:\S*?/; para=@sto.scroll_lev_para_ocn.heading_body2
-            when /^3:\S*?/; para=@sto.scroll_lev_para_ocn.heading_body3
-            when /^4:\S+?/; para=@sto.scroll_lev_para_ocn.heading_body4 # work on see Split_text_object4
-            when /^5:\S*?/; para=@sto.scroll_lev_para_ocn.heading_body5
-            when /^6:\S*?/; para=@sto.scroll_lev_para_ocn.heading_body6
-            when /^#{Mx[:gl_bullet]}/;  para=@sto.scroll_lev_para_ocn.bullet
+            para=case @sto.format
+            when /^1:\S*?/; @sto.scroll_lev_para_ocn.heading_body1
+            when /^2:\S*?/; @sto.scroll_lev_para_ocn.heading_body2
+            when /^3:\S*?/; @sto.scroll_lev_para_ocn.heading_body3
+            when /^4:\S+?/; @sto.scroll_lev_para_ocn.heading_body4 # work on see Split_text_object4
+            when /^5:\S*?/; @sto.scroll_lev_para_ocn.heading_body5
+            when /^6:\S*?/; @sto.scroll_lev_para_ocn.heading_body6
+            when /^#{Mx[:gl_bullet]}/; @sto.scroll_lev_para_ocn.bullet
             when /^#{Mx[:pa_o]}:i([1-9])#{Mx[:pa_c]}#{Mx[:gl_bullet]}/ #indent with bullet
               format_txt_obj.gsub_body
-              para=@sto.scroll_lev_para_ocn.format('li',"i#{$1}")
+              @sto.scroll_lev_para_ocn.format('li',"i#{$1}")
             when /^i([1-9])$/ #indent
               format_txt_obj.gsub_body
-              para=@sto.scroll_lev_para_ocn.format('p',"i#{$1}")
-            when /^center$/;               para=@sto.scroll_lev_para_ocn.center
-            when /^(?:b|bold)$/;           para=@sto.scroll_lev_para_ocn.bold
-            when /^(?:verse|group|alt)$/;  para=@sto.scroll_lev_para_ocn.para
-            when /^code$/;                 para=@sto.scroll_lev_para_ocn.code
+              @sto.scroll_lev_para_ocn.format('p',"i#{$1}")
+            when /^center$/;               @sto.scroll_lev_para_ocn.center
+            when /^(?:b|bold)$/;           @sto.scroll_lev_para_ocn.bold
+            when /^(?:verse|group|alt)$/;  @sto.scroll_lev_para_ocn.para
+            when /^code$/;                 @sto.scroll_lev_para_ocn.code
             when /ordinary/ # see whether u can improve
-              if para !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/
+              para=if para !~/#{@vz.margin_txt_0}|#{@vz.margin_txt_1}|#{@vz.margin_txt_2}/
                 format_txt_obj.gsub_body
-                para=@sto.scroll_lev_para_ocn.para
-                if para =~/#{Mx[:gr_o]}Th?.+/ # tables come as single block
+                para=if para =~/#{Mx[:gr_o]}Th?.+/ # tables come as single block
+                  #@sto=nil
                   table=SiSU_HTML_shared::Table.new(para)
-                  para=table.table_split
+                  table.table_split
+                else @sto.scroll_lev_para_ocn.para
                 end
+              else para
               end
+            else para
             end
           elsif para =~/^#{Mx[:lv_o]}[1-9]:/ \
           and para !~/#{Mx[:id_o]}~\d+;(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_c]}#@dp:#@dp#{Mx[:id_c]}$/
diff --git a/lib/sisu/v0/html_table.rb b/lib/sisu/v0/html_table.rb
index 7f28ed93..067a7dd9 100644
--- a/lib/sisu/v0/html_table.rb
+++ b/lib/sisu/v0/html_table.rb
@@ -109,16 +109,16 @@ module SiSU_HTML_table
         tablefoot=[]
         @@tablefoot.each {|x| tablefoot << ''}
         @@tablefoot=[]
-        if @parablock =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/; @parablock="</p>\n</div>" #table_end
+        if @parablock =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/; @parablock="</table></p>\n</div>" #table_end
         end
       end
       if @@tablehead == 1
         if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}/u
-          if @parablock =~/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u
-            @parablock.gsub!(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_row($1,true))
+          while @parablock =~/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+)#{Mx[:tc_p]}/u
+            @parablock.sub!(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+)#{Mx[:tc_p]}/u,table_row($1,true))
           end
-          if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u
-            @parablock.gsub!(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_cell($1,true))
+          while @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+)#{Mx[:tc_p]}/u
+            @parablock.sub!(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+)#{Mx[:tc_p]}/u,table_cell($1,true))
           end
           if @parablock =~/#{Mx[:tc_c]}/
             @parablock.gsub!(/#{Mx[:tc_c]}/,table_row_close(true))
@@ -127,11 +127,11 @@ module SiSU_HTML_table
         end
         @parablock
       else
-        if @parablock =~/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u
-          @parablock.gsub!(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_row($1))
+        while @parablock =~/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+)#{Mx[:tc_p]}/u
+          @parablock.sub!(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+)#{Mx[:tc_p]}/u,table_row($1))
         end
-        if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u
-          @parablock.gsub!(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_cell($1))
+        while @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+)#{Mx[:tc_p]}/u
+          @parablock.sub!(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+)#{Mx[:tc_p]}/u,table_cell($1))
         end
         if @parablock =~/#{Mx[:tc_c]}/
           @parablock.gsub!(/#{Mx[:tc_c]}/,table_row_close)
@@ -141,12 +141,12 @@ module SiSU_HTML_table
       @parablock
     end
     def table_split
-      @new_content=[]
+      content=[]
       @one.split(/\n/).each do |parablock|
         table=Table.new("#{parablock}\n")
-        @new_content << table.table
+        content << table.table
       end
-      @new_content.join
+      content.join
     end
   end
 end
-- 
cgit v1.2.3


From a2d74ab58cdfcb81f49c4a91a28b44ef092164ce Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Thu, 11 Dec 2008 21:50:29 -0500
Subject: sysenv, cosmetic touch

---
 lib/sisu/v0/sysenv.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/sisu/v0/sysenv.rb b/lib/sisu/v0/sysenv.rb
index 57695904..ded14951 100644
--- a/lib/sisu/v0/sysenv.rb
+++ b/lib/sisu/v0/sysenv.rb
@@ -1362,7 +1362,7 @@ WOK
       def output                                                                 #web/webserv output directory... subdirectory into which further subdirectories are made based on file names
         "#{path.webserv}/#@stub_pwd"
       end
-      def output_src                                                                 #web/webserv output directory... subdirectory into which further subdirectories are made based on file names
+      def output_src
         "#{path.output}/src"
       end
       def output_md_harvest
-- 
cgit v1.2.3


From 4a660c929a7871767966749e2a93035b2eb0d3f7 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Thu, 11 Dec 2008 21:53:41 -0500
Subject: help and changelog update

---
 CHANGELOG                                          | 31 +++++++++++++
 data/doc/sisu/html/sisu.1.html                     | 37 ++++++++-------
 .../sisu_manual/sisu_markup.sst                    |  2 +-
 lib/sisu/v0/help.rb                                |  4 +-
 man/man1/sisu.1                                    | 53 +++++++++++++++++-----
 5 files changed, 98 insertions(+), 29 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 8932621d..e8978f2f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -9,6 +9,37 @@ Reverse Chronological:
 
 %% STABLE MANIFEST
 
+%% sisu_0.70.1.orig.tar.gz (2008-12-11:49/4)
+http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.1.orig.tar.gz
+  sisu_0.70.1.orig.tar.gz
+  sisu_0.70.1-1.dsc
+  sisu_0.70.1-1.diff.gz
+
+  * harvest
+    * improved integration with sisu
+    * close output files before remote posting
+    * ensure html output is read by browser as utf-8
+    [integration not quite complete as not added to sql, reason, each addition
+    of a field requires users recreating database, and there are other metadata
+    header additions under consideration, though unavoidable reduce the number
+    by grouping]
+
+  * manifest
+    * show topic register metadata for each document
+
+  * css main html modified
+    * left margin changed, affects html generally
+    * table th and td elements text top aligned
+    * additions for manifest display of topic_register
+    sisu -CC
+
+  * html tables
+    * html structure, fix
+    * column width, fix
+
+  * latex/pdf bullet mark (bug in texlive, missing (at this instant) provide
+    workaround)
+
 %% sisu_0.70.0.orig.tar.gz (2008-12-03:48/3)
 http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.0.orig.tar.gz
   51e4d5c2ac3c490332d8468de2400abcf454b55ac1e21ec625680a346fb41e4a 1540091 sisu_0.70.0.orig.tar.gz
diff --git a/data/doc/sisu/html/sisu.1.html b/data/doc/sisu/html/sisu.1.html
index 1848611b..c17fecc6 100644
--- a/data/doc/sisu/html/sisu.1.html
+++ b/data/doc/sisu/html/sisu.1.html
@@ -723,13 +723,13 @@ up files are available as html with syntax highlighting for viewing: &lt;<a href
 <p>/usr/share/doc/sisu/sisu_markup_samples/non-free 
 <p> 8. MARKUP OF HEADERS  
 <p>
- Headers consist of semantic meta-data about a document, which can be used
-by any output module of the program; and may in addition include extra
-processing instructions. 
-<p>  Note: the first line of a document may include
-information on the markup version used in the form of a comment. Comments
-are a percentage mark at the start of a paragraph (and as the first character
-in a line of text) followed by a space and the comment: 
+ Headers contain either: semantic meta-data about a document, which can
+be used by any output module of the program, or; processing instructions.
+
+<p>  Note: the first line of a document may include information on the markup
+version used in the form of a comment. Comments are a percentage mark at
+the start of a paragraph (and as the first character in a line of text)
+followed by a space and the comment: 
 <p> 
 <p> <br>
 <pre>  % this would be a comment
@@ -742,13 +742,18 @@ one (without the comments):
 <pre>  % SiSU 0.57
   @title: SiSU
   @subtitle: Markup
-  @creator: Ralph Amissah
+  @creator: Amissah, Ralph
+  % note formatting on author / creator field, surname comma then other
+names, if more than one author separate by semi-colon
   @rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation,
 License GPL 3
   @type: information
   @subject: ebook, epublishing, electronic book, electronic publishing,
 electronic document, electronic citation, data structure, citation systems,
 search
+  @topic_register: text markup language; application:text processing;output:html|xml|latex|pdf|sql
+  % note formatting for topic_register topic levels are separated by a
+colon, a semi-colon separates main topics
   @date.created: 2002-08-28
   @date.issued: 2002-08-28
   @date.available: 2002-08-28
@@ -1147,17 +1152,17 @@ is used there is neither decoration nor hyperlinking, code blocks are discussed
 <p>  <b>markup example:</b> 
 <p> 
 <p> <br>
-<pre>     &nbsp;[ tux.png ]
+<pre>  { tux.png 64x80 }image
   % various url linked images
-     &nbsp;[ tux.png ]
-     &nbsp;[ GnuDebianLinuxRubyBetterWay.png ]
+  {tux.png 64x80
+  {GnuDebianLinuxRubyBetterWay.png 100x101
   {~^ ruby_logo.png
 </pre>
 <p>  <b>resulting output:</b> 
 <p>  [ tux.png ] 
 <p>  tux.png 64x80 
 <p>  [ &nbsp;ruby_logo &nbsp;(png &nbsp;missing)
-&nbsp;] &nbsp;[^14] 
+&nbsp;] [^14] 
 <p>  GnuDebianLinuxRubyBetterWay.png 100x101 and Ruby 
 <p>  <b>linked url footnote
 
@@ -3378,15 +3383,15 @@ of this document: </dt>
 </dt>
 <dd></dd>
 
-<dt>* Generated by: SiSU 0.68.0 of 2008w29/1 (2008-07-21) </dt>
+<dt>* Generated by: SiSU 0.70.0 of 2008w48/3 (2008-12-03) </dt>
 <dd></dd>
 
 <dt>* Ruby version: ruby
-1.8.7 (2008-06-20 patchlevel 22) [i486-linux] </dt>
+1.8.7 (2008-08-11 patchlevel 72) [i486-linux] </dt>
 <dd></dd>
 
-<dt>* Last Generated on: Mon Jul 21
-02:54:35 -0400 2008 </dt>
+<dt>* Last Generated on: Tue Dec 09
+12:24:07 -0500 2008 </dt>
 <dd></dd>
 
 <dt>* SiSU <a href='http://www.jus.uio.no/sisu'>http://www.jus.uio.no/sisu</a>
diff --git a/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst b/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst
index 292bfe13..853b4124 100644
--- a/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst
+++ b/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst
@@ -127,7 +127,7 @@ code{
 
 @creator: Amissah, Ralph
 
-% note formatting on author / creator field, surname comma then other names, if more than one author separate by semi-colon
+% note formatting rules on author / creator field, "Surname, Other names", if more than one author separate by semi-colon (if name is of an institution just write name or the name contains a comma enclose in quotation marks)
 
 @rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3
 
diff --git a/lib/sisu/v0/help.rb b/lib/sisu/v0/help.rb
index 6b819f95..67263b68 100644
--- a/lib/sisu/v0/help.rb
+++ b/lib/sisu/v0/help.rb
@@ -600,7 +600,9 @@ This is a sample header (#{@cX.fuschia}Dublin Core in fuschia,#{@cX.off} #{@cX.c
 
 #{@cX.cyan}@subtitle:#{@cX.off} The Subtitle if any
 
-#{@cX.fuschia}@creator:#{@cX.off} [or @author:] Name of Author
+#{@cX.fuschia}@creator:#{@cX.off} [or @author:] Surname, Other names (if more than one author separate author names with a semi colon, if name is of an institution just write name or the name contains a comma enclose in quotation marks)
+
+#{@cX.fuschia}@topic_register:#{@cX.off} [e.g.:] text markup language; application:text processing;output:html|xml|latex|pdf|sql
 
 #{@cX.fuschia}@subject:#{@cX.off} (whatever your subject)
 
diff --git a/man/man1/sisu.1 b/man/man1/sisu.1
index e8d68e2d..a65a3f3e 100644
--- a/man/man1/sisu.1
+++ b/man/man1/sisu.1
@@ -858,9 +858,8 @@ sisu\-markup\-samples is installed also under:
 .BR
 
 .BR
-Headers consist of semantic meta\-data about a document, which can be used by
-any output module of the program; and may in addition include extra processing
-instructions.
+Headers contain either: semantic meta\-data about a document, which can be used
+by any output module of the program, or; processing instructions.
 
 .BR
 Note: the first line of a document may include information on the markup
@@ -882,30 +881,62 @@ This current document has a header similar to this one (without the comments):
 
 .nf
   % SiSU 0.57
+.BR
   @title: SiSU
+.BR
   @subtitle: Markup
-  @creator: Ralph Amissah
+.BR
+  @creator: Amissah, Ralph
+.BR
+  % note formatting on author / creator field, surname comma then other names, if more than one author separate by semi\-colon
+.BR
   @rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3
+.BR
   @type: information
+.BR
   @subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search
+.BR
+  @topic_register: text markup language; application:text processing;output:html|xml|latex|pdf|sql
+.BR
+  % note formatting for topic_register topic levels are separated by a colon, a semi\-colon separates main topics
+.BR
   @date.created: 2002\-08\-28
+.BR
   @date.issued: 2002\-08\-28
+.BR
   @date.available: 2002\-08\-28
+.BR
   @date.modified: 2007\-09\-16
+.BR
   @date: 2007\-09\-16
+.BR
   @level: new=C; break=1; num_top=1
+.BR
   % comment: in this @level header num_top=1 starts automatic heading numbering at heading level 1 (numbering continues 3 levels down); the new and break instructions are used by the LaTeX/pdf and odf output to determine where to put page breaks (that are not used by html output or say sql database population).
+.BR
   @skin: skin_sisu_manual
+.BR
   % skins modify the appearance of a document and are placed in a sub\-directory under \./_sisu/skin ~/.sisu/skin or /etc/sisu/skin. A skin may affect single documents that request them, all documents in a directory, or be site\-wide. (A document is affected by a single skin)
+.BR
   @bold: /Gnu|Debian|Ruby|SiSU/
+.BR
   @links: { SiSU Manual }http://www.jus.uio.no/sisu/sisu_manual/
+.BR
   { Book Samples and Markup Examples }http://www.jus.uio.no/sisu/SiSU/examples.html
+.BR
   { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU
+.BR
   { SiSU @ Freshmeat }http://freshmeat.net/projects/sisu/
+.BR
   { SiSU @ Ruby Application Archive }http://raa.ruby\-lang.org/project/sisu/
+.BR
   { SiSU @ Debian }http://packages.qa.debian.org/s/sisu.html
+.BR
   { SiSU Download }http://www.jus.uio.no/sisu/SiSU/download.html
+.BR
   { SiSU Changelog }http://www.jus.uio.no/sisu/SiSU/changelog.html
+.BR
+.BR
 .fi
 
 .SH
@@ -1556,14 +1587,14 @@ about SiSU <http://www.jus.uio.no/sisu/> [^13] markup
 
 
 .nf
-     \ [ tux.png ]
+  { tux.png 64x80 }image
 .BR
   % various url linked images
 .BR
-     \ [ tux.png ]
+  {tux.png 64x80 \"a better way\" }http://www.jus.uio.no/sisu/
 .BR
 .BR
-     \ [ GnuDebianLinuxRubyBetterWay.png ]
+  {GnuDebianLinuxRubyBetterWay.png 100x101 \"Way Better \- with Gnu/Linux, Debian and Ruby\" }http://www.jus.uio.no/sisu/
 .BR
 .BR
   {~^ ruby_logo.png \"Ruby\" }http://www.ruby\-lang.org/en/
@@ -1581,7 +1612,7 @@ about SiSU <http://www.jus.uio.no/sisu/> [^13] markup
 tux.png 64x80 \"Gnu/Linux \- a better way\" <http://www.jus.uio.no/sisu/>
 
 .BR
-[ \ ruby_logo \ (png \ missing) \ ] \ [^14]
+[ \ ruby_logo \ (png \ missing) \ ] [^14]
 
 .BR
 GnuDebianLinuxRubyBetterWay.png 100x101 \"Way Better \- with Gnu/Linux, Debian
@@ -5033,10 +5064,10 @@ pdf: <http://www.jus.uio.no/sisu/sisu/landscape.pdf>
 at: <http://www.jus.uio.no/sisu>
 .TP
 .TP
-* Generated by: SiSU 0.68.0 of 2008w29/1 (2008-07-21)
+* Generated by: SiSU 0.70.0 of 2008w48/3 (2008-12-03)
 .TP
-* Ruby version: ruby 1.8.7 (2008-06-20 patchlevel 22) [i486-linux]
+* Ruby version: ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
 .TP
-* Last Generated on: Mon Jul 21 02:54:35 -0400 2008
+* Last Generated on: Tue Dec 09 12:24:07 -0500 2008
 .TP
 * SiSU http://www.jus.uio.no/sisu
-- 
cgit v1.2.3


From f20476d31f60bd1e8c83e91379f414bdc0cfdd60 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Sat, 13 Dec 2008 14:08:19 -0500
Subject: mostly additional metadata fields

additional metadata fields
css minor touch
help minor info touch
---
 CHANGELOG                                          |  11 +-
 data/doc/sisu/html/sisu.1.html                     |   7 +-
 .../sisu_manual/sisu_markup.sst                    |  12 ++-
 lib/sisu/v0/css.rb                                 |   2 +-
 lib/sisu/v0/db_columns.rb                          |  41 ++++---
 lib/sisu/v0/db_create.rb                           | 120 ++++++++++++---------
 lib/sisu/v0/db_tests.rb                            |  78 +++++++-------
 lib/sisu/v0/harvest_authors.rb                     |  27 +++--
 lib/sisu/v0/param.rb                               |  41 +++++--
 man/man1/sisu.1                                    |   8 +-
 10 files changed, 207 insertions(+), 140 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index e8978f2f..a5b1a7c9 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -9,7 +9,7 @@ Reverse Chronological:
 
 %% STABLE MANIFEST
 
-%% sisu_0.70.1.orig.tar.gz (2008-12-11:49/4)
+%% sisu_0.70.1.orig.tar.gz (2008-12-12:49/5)
 http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.1.orig.tar.gz
   sisu_0.70.1.orig.tar.gz
   sisu_0.70.1-1.dsc
@@ -19,13 +19,13 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.1.orig.tar.gz
     * improved integration with sisu
     * close output files before remote posting
     * ensure html output is read by browser as utf-8
+    * add publication date to author works summary
     [integration not quite complete as not added to sql, reason, each addition
     of a field requires users recreating database, and there are other metadata
     header additions under consideration, though unavoidable reduce the number
     by grouping]
 
-  * manifest
-    * show topic register metadata for each document
+  * manifest, show topic register metadata for each document
 
   * css main html modified
     * left margin changed, affects html generally
@@ -40,6 +40,11 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.1.orig.tar.gz
   * latex/pdf bullet mark (bug in texlive, missing (at this instant) provide
     workaround)
 
+  * sql (postgresql), add proposed metadata fields for though not yet populated
+    [if changes correctly anticipated, will enable future use of database
+    structure built with current version, without need to re-create, will not
+    affect existing sisu databases]
+
 %% sisu_0.70.0.orig.tar.gz (2008-12-03:48/3)
 http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.0.orig.tar.gz
   51e4d5c2ac3c490332d8468de2400abcf454b55ac1e21ec625680a346fb41e4a 1540091 sisu_0.70.0.orig.tar.gz
diff --git a/data/doc/sisu/html/sisu.1.html b/data/doc/sisu/html/sisu.1.html
index c17fecc6..8f8bff3f 100644
--- a/data/doc/sisu/html/sisu.1.html
+++ b/data/doc/sisu/html/sisu.1.html
@@ -743,8 +743,7 @@ one (without the comments):
   @title: SiSU
   @subtitle: Markup
   @creator: Amissah, Ralph
-  % note formatting on author / creator field, surname comma then other
-names, if more than one author separate by semi-colon
+  % note formatting rules on author / creator field,
   @rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation,
 License GPL 3
   @type: information
@@ -754,11 +753,13 @@ search
   @topic_register: text markup language; application:text processing;output:html|xml|latex|pdf|sql
   % note formatting for topic_register topic levels are separated by a
 colon, a semi-colon separates main topics
+  @date: 2007-09-16
+  % original publication date unless the substantive text is updated/modified,
+then date of update
   @date.created: 2002-08-28
   @date.issued: 2002-08-28
   @date.available: 2002-08-28
   @date.modified: 2007-09-16
-  @date: 2007-09-16
   @level: new=C; break=1; num_top=1
   % comment: in this @level header num_top=1 starts automatic heading numbering
 at heading level 1 (numbering continues 3 levels down); the new and break
diff --git a/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst b/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst
index 853b4124..c31a1abe 100644
--- a/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst
+++ b/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst
@@ -10,8 +10,12 @@
 
 @type: information
 
+@topic_register: SiSU:manual:sisu markup
+
 @subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search
 
+@date: 2008-05-22
+
 @date.created: 2002-08-28
 
 @date.issued: 2002-08-28
@@ -20,8 +24,6 @@
 
 @date.modified: 2008-05-22
 
-@date: 2008-05-22
-
 @level: new=C; break=1; num_top=1
 
 @skin: skin_sisu_manual
@@ -139,6 +141,10 @@ code{
 
 % note formatting for topic_register topic levels are separated by a colon, a semi-colon separates main topics
 
+@date: 2007-09-16
+
+% original publication date unless the substantive text is updated/modified, then date of update
+
 @date.created: 2002-08-28
 
 @date.issued: 2002-08-28
@@ -147,8 +153,6 @@ code{
 
 @date.modified: 2007-09-16
 
-@date: 2007-09-16
-
 @level: new=C; break=1; num_top=1
 
 % comment: in this @level header num_top=1 starts automatic heading numbering at heading level 1 (numbering continues 3 levels down); the new and break instructions are used by the LaTeX/pdf and odf output to determine where to put page breaks (that are not used by html output or say sql database population).
diff --git a/lib/sisu/v0/css.rb b/lib/sisu/v0/css.rb
index 2094134f..927a253f 100644
--- a/lib/sisu/v0/css.rb
+++ b/lib/sisu/v0/css.rb
@@ -302,7 +302,7 @@ WOK
     position: absolute;
     top: 80px;
     left: 0;
-    margin-left: 0;
+    margin-left: 1%;
     width: 20%;
   }
   #column_center {
diff --git a/lib/sisu/v0/db_columns.rb b/lib/sisu/v0/db_columns.rb
index 6c9778ab..1ea16c95 100644
--- a/lib/sisu/v0/db_columns.rb
+++ b/lib/sisu/v0/db_columns.rb
@@ -66,9 +66,15 @@ module SiSU_DB_columns
     def lt_subtitle
       600
     end
-    def lt_creator
+    def lt_author
       600
     end
+    def lt_author_title
+      100
+    end
+    def lt_author_nationality
+      100
+    end
     def lt_illustrator
       600
     end
@@ -87,21 +93,6 @@ module SiSU_DB_columns
     def lt_date
       10
     end
-    def lt_date_created
-      10
-    end
-    def lt_date_issued
-      10
-    end
-    def lt_date_available
-      10
-    end
-    def lt_date_modified
-      10
-    end
-    def lt_date_valid
-      10
-    end
     def lt_type
       600
     end
@@ -198,6 +189,24 @@ module SiSU_DB_columns
     def lt_subj
       64
     end
+    def lt_orig_pub
+      400
+    end
+    def lt_orig_pub_date
+      400
+    end
+    def lt_orig_pub_institution
+      200
+    end
+    def lt_orig_pub_nationality
+      200
+    end
+    def lt_writing_focus_nationality
+      100
+    end
+    def lt_topic_register
+      2000
+    end
     def document_clean # restriction not necessary #12000 #2712
       60000
     end
diff --git a/lib/sisu/v0/db_create.rb b/lib/sisu/v0/db_create.rb
index 189b7acf..df1e91df 100644
--- a/lib/sisu/v0/db_create.rb
+++ b/lib/sisu/v0/db_create.rb
@@ -100,59 +100,73 @@ module SiSU_DB_create
         } unless @opt.cmd =~/q/
         @conn.execute(%{
           CREATE TABLE metadata (
-            tid               BIGINT PRIMARY KEY,
-            title             VARCHAR(#{lt_title}) NULL,
-            subtitle          VARCHAR(#{lt_subtitle}) NULL,
-            creator           VARCHAR(#{lt_creator}) NULL,
-            illustrator       VARCHAR(#{lt_illustrator}) NULL,
-            translator        VARCHAR(#{lt_translator}) NULL,
-            subject           VARCHAR(#{lt_subject}) NULL,
-            date              VARCHAR(#{lt_date}) NULL,
-            date_created      VARCHAR(#{lt_date_created}) NULL,
-            date_issued       VARCHAR(#{lt_date_issued}) NULL,
-            date_available    VARCHAR(#{lt_date_available}) NULL,
-            date_valid        VARCHAR(#{lt_date_valid}) NULL,
-            date_modified     VARCHAR(#{lt_date_modified}) NULL,
-/*          date              DATE, */
-/*          date_created      DATE, */
-/*          date_issued       DATE, */
-/*          date_available    DATE, */
-/*          date_valid        DATE, */
-/*          date_modified     DATE, */
-            type              VARCHAR(#{lt_type}) NULL,
-            description       VARCHAR(#{lt_description}) NULL,
-            publisher         VARCHAR(#{lt_publisher}) NULL,
-            contributor       VARCHAR(#{lt_contributor}) NULL,
-            prepared_by       VARCHAR(#{lt_prepared_by}) NULL,
-            digitized_by      VARCHAR(#{lt_digitized_by}) NULL,
-            format            VARCHAR(#{lt_format}) NULL,
-            identifier        VARCHAR(#{lt_identifier}) NULL,
-            source            VARCHAR(#{lt_source}) NULL,
-            language          VARCHAR(#{lt_language}) NULL,
-            language_original VARCHAR(#{lt_language_original}) NULL,
-            relation          VARCHAR(#{lt_relation}) NULL,
-            coverage          VARCHAR(#{lt_coverage}) NULL,
-            rights            VARCHAR(#{lt_rights}) NULL,
-            copyright         VARCHAR(#{lt_copyright}) NULL,
-            owner             VARCHAR(#{lt_owner}) NULL,
-            keywords          VARCHAR(#{lt_keywords}) NULL,
-            comment           VARCHAR(#{lt_comment}) NULL,
-            loc               VARCHAR(#{lt_loc}) NULL,
-            dewey             VARCHAR(#{lt_dewey}) NULL,
-            isbn              VARCHAR(#{lt_isbn}) NULL,
-            pg                VARCHAR(#{lt_pg}) NULL,
-            abstract          VARCHAR(#{lt_abstract}) NULL,
-            prefix_a          TEXT NULL,
-            prefix_b          TEXT NULL,
-            skin              VARCHAR(#{lt_skin}) NULL,
-            markup            VARCHAR(#{lt_markup}) NULL,
-            links             VARCHAR(#{lt_links}) NULL,
-            information       VARCHAR(#{lt_information}) NULL,
-            contact           VARCHAR(#{lt_contact}) NULL,
-            suffix            VARCHAR(#{lt_suffix}) NULL,
-            filename          VARCHAR(#{lt_filename}) NULL UNIQUE,
-            types             CHAR(#{lt_types}) NULL,
-            subj              VARCHAR(#{lt_subj}) NULL
+            tid                  BIGINT PRIMARY KEY,
+            title                VARCHAR(#{lt_title}) NULL,
+            subtitle             VARCHAR(#{lt_subtitle}) NULL,
+            author               VARCHAR(#{lt_author}) NULL,
+/* plan to replace creator field, currently used, with author field */
+            creator              VARCHAR(#{lt_author}) NULL,
+            author_title         VARCHAR(#{lt_author_title}) NULL,
+            author_nationality   VARCHAR(#{lt_author_nationality}) NULL,
+            illustrator          VARCHAR(#{lt_illustrator}) NULL,
+            translator           VARCHAR(#{lt_translator}) NULL,
+            subject              VARCHAR(#{lt_subject}) NULL,
+            date                 VARCHAR(#{lt_date}) NULL,
+            date_added_to_site   VARCHAR(#{lt_date}) NULL,
+            date_created         VARCHAR(#{lt_date}) NULL,
+            date_issued          VARCHAR(#{lt_date}) NULL,
+            date_available       VARCHAR(#{lt_date}) NULL,
+            date_valid           VARCHAR(#{lt_date}) NULL,
+            date_modified        VARCHAR(#{lt_date}) NULL,
+            date_translated      VARCHAR(#{lt_date}) NULL,
+/*          date                 DATE, */
+/*          date_added_to_site   DATE, */
+/*          date_created         DATE, */
+/*          date_issued          DATE, */
+/*          date_available       DATE, */
+/*          date_valid           DATE, */
+/*          date_modified        DATE, */
+/*          date_translated      DATE, */
+            type                 VARCHAR(#{lt_type}) NULL,
+            description          VARCHAR(#{lt_description}) NULL,
+            publisher            VARCHAR(#{lt_publisher}) NULL,
+            contributor          VARCHAR(#{lt_contributor}) NULL,
+            prepared_by          VARCHAR(#{lt_prepared_by}) NULL,
+            digitized_by         VARCHAR(#{lt_digitized_by}) NULL,
+            format               VARCHAR(#{lt_format}) NULL,
+            identifier           VARCHAR(#{lt_identifier}) NULL,
+            source               VARCHAR(#{lt_source}) NULL,
+            language             VARCHAR(#{lt_language}) NULL,
+            language_original    VARCHAR(#{lt_language_original}) NULL,
+            relation             VARCHAR(#{lt_relation}) NULL,
+            coverage             VARCHAR(#{lt_coverage}) NULL,
+            rights               VARCHAR(#{lt_rights}) NULL,
+            copyright            VARCHAR(#{lt_copyright}) NULL,
+            owner                VARCHAR(#{lt_owner}) NULL,
+            keywords             VARCHAR(#{lt_keywords}) NULL,
+            comment              VARCHAR(#{lt_comment}) NULL,
+            loc                  VARCHAR(#{lt_loc}) NULL,
+            dewey                VARCHAR(#{lt_dewey}) NULL,
+            isbn                 VARCHAR(#{lt_isbn}) NULL,
+            pg                   VARCHAR(#{lt_pg}) NULL,
+            abstract             VARCHAR(#{lt_abstract}) NULL,
+            prefix_a             TEXT NULL,
+            prefix_b             TEXT NULL,
+            skin                 VARCHAR(#{lt_skin}) NULL,
+            markup               VARCHAR(#{lt_markup}) NULL,
+            links                VARCHAR(#{lt_links}) NULL,
+            information          VARCHAR(#{lt_information}) NULL,
+            contact              VARCHAR(#{lt_contact}) NULL,
+            suffix               VARCHAR(#{lt_suffix}) NULL,
+            filename             VARCHAR(#{lt_filename}) NULL UNIQUE,
+            types                CHAR(#{lt_types}) NULL,
+            subj                 VARCHAR(#{lt_subj}) NULL,
+            original_publication VARCHAR(#{lt_orig_pub}) NULL,
+            original_publication_date VARCHAR(#{lt_orig_pub_date}) NULL,
+            original_publication_institution VARCHAR(#{lt_orig_pub_institution}) NULL,
+            original_publication_nationality VARCHAR(#{lt_orig_pub_nationality}) NULL,
+            writing_focus_nationality VARCHAR(#{lt_writing_focus_nationality}) NULL,
+            topic_register       VARCHAR(#{lt_topic_register}) NULL
           );
           #{@comment.metadata}
         })
diff --git a/lib/sisu/v0/db_tests.rb b/lib/sisu/v0/db_tests.rb
index 4a18f694..86e7ca25 100644
--- a/lib/sisu/v0/db_tests.rb
+++ b/lib/sisu/v0/db_tests.rb
@@ -70,45 +70,49 @@ module SiSU_DB_tests
     end
     def verify
       unless @opt.cmd =~/q/
-      puts @ck.tp[:fns].length.to_s            + ' checklength ' + @ck.tp[:fns]            if @ck.tp[:fns]            and @ck.tp[:fns].length            >@ck.lt_filename
-      puts @ck.tp[:title].length.to_s          + ' checklength ' + @ck.tp[:title]          if @ck.tp[:title]          and @ck.tp[:title].length          >@ck.lt_title
-      puts @ck.tp[:subtitle].length.to_s       + ' checklength ' + @ck.tp[:subtitle]       if @ck.tp[:subtitle]       and @ck.tp[:subtitle].length       >@ck.lt_subtitle
-      puts @ck.tp[:creator].length.to_s        + ' checklength ' + @ck.tp[:creator]        if @ck.tp[:creator]        and @ck.tp[:creator].length        >@ck.lt_creator
-      puts @ck.tp[:illustrator].length.to_s    + ' checklength ' + @ck.tp[:illustrator]    if @ck.tp[:illustrator]    and @ck.tp[:illustrator].length    >@ck.lt_illustrator
-      puts @ck.tp[:translator].length.to_s     + ' checklength ' + @ck.tp[:translator]     if @ck.tp[:translator]     and @ck.tp[:translator].length     >@ck.lt_translator
-      puts @ck.tp[:prepared_by].length.to_s    + ' checklength ' + @ck.tp[:prepared_by]    if @ck.tp[:prepared_by]    and @ck.tp[:prepared_by].length    >@ck.lt_prepared_by
-      puts @ck.tp[:digitized_by].length.to_s   + ' checklength ' + @ck.tp[:digitized_by]   if @ck.tp[:digitized_by]   and @ck.tp[:digitized_by].length   >@ck.lt_digitized_by
-      puts @ck.tp[:subject].length.to_s        + ' checklength ' + @ck.tp[:subject]        if @ck.tp[:subject]        and @ck.tp[:subject].length        >@ck.lt_subject
-      puts @ck.tp[:description].length.to_s    + ' checklength ' + @ck.tp[:description]    if @ck.tp[:description]    and @ck.tp[:description].length    >@ck.lt_description
-      puts @ck.tp[:publisher].length.to_s      + ' checklength ' + @ck.tp[:publisher]      if @ck.tp[:publisher]      and @ck.tp[:publisher].length      >@ck.lt_publisher
-      puts @ck.tp[:contributor].length.to_s    + ' checklength ' + @ck.tp[:contributor]    if @ck.tp[:contributor]    and @ck.tp[:contributor].length    >@ck.lt_contributor
-      puts @ck.tp[:date].length.to_s           + ' checklength ' + @ck.tp[:date]           if @ck.tp[:date]           and @ck.tp[:date].length           >@ck.lt_date
-      puts @ck.tp[:date_created].length.to_s   + ' checklength ' + @ck.tp[:date_created]   if @ck.tp[:date_created]   and @ck.tp[:date_created].length   >@ck.lt_date_created
-      puts @ck.tp[:date_issued].length.to_s    + ' checklength ' + @ck.tp[:date_issued]    if @ck.tp[:date_issued]    and @ck.tp[:date_issued].length    >@ck.lt_date_issued
-      puts @ck.tp[:date_valid].length.to_s     + ' checklength ' + @ck.tp[:date_valid]     if @ck.tp[:date_valid]     and @ck.tp[:date_valid].length     >@ck.lt_date_valid
-      puts @ck.tp[:date_available].length.to_s + ' checklength ' + @ck.tp[:date_available] if @ck.tp[:date_available] and @ck.tp[:date_available].length >@ck.lt_date_available
-      puts @ck.tp[:date_modified].length.to_s  + ' checklength ' + @ck.tp[:date_modified]  if @ck.tp[:date_modified]  and @ck.tp[:date_modified].length  >@ck.lt_date_modified
-      puts @ck.tp[:type].length.to_s           + ' checklength ' + @ck.tp[:type]           if @ck.tp[:type]           and @ck.tp[:type].length           >@ck.lt_type
-      puts @ck.tp[:format].length.to_s         + ' checklength ' + @ck.tp[:format]         if @ck.tp[:format]         and @ck.tp[:format].length         >@ck.lt_format
-      puts @ck.tp[:identifier].length.to_s     + ' checklength ' + @ck.tp[:identifier]     if @ck.tp[:identifier]     and @ck.tp[:identifier].length     >@ck.lt_identifier
-      puts @ck.tp[:source].length.to_s         + ' checklength ' + @ck.tp[:source]         if @ck.tp[:source]         and @ck.tp[:source].length         >@ck.lt_source
-      puts @ck.tp[:language].length.to_s       + ' checklength ' + @ck.tp[:language]       if @ck.tp[:language]       and @ck.tp[:language].length       >@ck.lt_language
-      puts @ck.tp[:language_original].length.to_s + ' checklength ' + @ck.tp[:language_original] if @ck.tp[:language_original] and @ck.tp[:language_original].length >@ck.lt_language_original
+      puts @ck.tp[:fns].length.to_s                + ' checklength ' + @ck.tp[:fns]                if @ck.tp[:fns]                and @ck.tp[:fns].length                >@ck.lt_filename
+      puts @ck.tp[:title].length.to_s              + ' checklength ' + @ck.tp[:title]              if @ck.tp[:title]              and @ck.tp[:title].length              >@ck.lt_title
+      puts @ck.tp[:subtitle].length.to_s           + ' checklength ' + @ck.tp[:subtitle]           if @ck.tp[:subtitle]           and @ck.tp[:subtitle].length           >@ck.lt_subtitle
+      puts @ck.tp[:creator].length.to_s            + ' checklength ' + @ck.tp[:creator]            if @ck.tp[:creator]            and @ck.tp[:creator].length            >@ck.lt_creator
+      puts @ck.tp[:author_title].length.to_s       + ' checklength ' + @ck.tp[:author_title]       if @ck.tp[:author_title]       and @ck.tp[:author_title].length       >@ck.lt_author_title
+      puts @ck.tp[:illustrator].length.to_s        + ' checklength ' + @ck.tp[:illustrator]        if @ck.tp[:illustrator]        and @ck.tp[:illustrator].length        >@ck.lt_illustrator
+      puts @ck.tp[:translator].length.to_s         + ' checklength ' + @ck.tp[:translator]         if @ck.tp[:translator]         and @ck.tp[:translator].length         >@ck.lt_translator
+      puts @ck.tp[:prepared_by].length.to_s        + ' checklength ' + @ck.tp[:prepared_by]        if @ck.tp[:prepared_by]        and @ck.tp[:prepared_by].length        >@ck.lt_prepared_by
+      puts @ck.tp[:digitized_by].length.to_s       + ' checklength ' + @ck.tp[:digitized_by]       if @ck.tp[:digitized_by]       and @ck.tp[:digitized_by].length       >@ck.lt_digitized_by
+      puts @ck.tp[:subject].length.to_s            + ' checklength ' + @ck.tp[:subject]            if @ck.tp[:subject]            and @ck.tp[:subject].length            >@ck.lt_subject
+      puts @ck.tp[:description].length.to_s        + ' checklength ' + @ck.tp[:description]        if @ck.tp[:description]        and @ck.tp[:description].length        >@ck.lt_description
+      puts @ck.tp[:publisher].length.to_s          + ' checklength ' + @ck.tp[:publisher]          if @ck.tp[:publisher]          and @ck.tp[:publisher].length          >@ck.lt_publisher
+      puts @ck.tp[:contributor].length.to_s        + ' checklength ' + @ck.tp[:contributor]        if @ck.tp[:contributor]        and @ck.tp[:contributor].length        >@ck.lt_contributor
+      puts @ck.tp[:date].length.to_s               + ' checklength ' + @ck.tp[:date]               if @ck.tp[:date]               and @ck.tp[:date].length               >@ck.lt_date
+      puts @ck.tp[:date_created].length.to_s       + ' checklength ' + @ck.tp[:date_created]       if @ck.tp[:date_created]       and @ck.tp[:date_created].length       >@ck.lt_date
+      puts @ck.tp[:date_issued].length.to_s        + ' checklength ' + @ck.tp[:date_issued]        if @ck.tp[:date_issued]        and @ck.tp[:date_issued].length        >@ck.lt_date
+      puts @ck.tp[:date_valid].length.to_s         + ' checklength ' + @ck.tp[:date_valid]         if @ck.tp[:date_valid]         and @ck.tp[:date_valid].length         >@ck.lt_date
+      puts @ck.tp[:date_available].length.to_s     + ' checklength ' + @ck.tp[:date_available]     if @ck.tp[:date_available]     and @ck.tp[:date_available].length     >@ck.lt_date
+      puts @ck.tp[:date_modified].length.to_s      + ' checklength ' + @ck.tp[:date_modified]      if @ck.tp[:date_modified]      and @ck.tp[:date_modified].length      >@ck.lt_date
+      puts @ck.tp[:date_translated].length.to_s    + ' checklength ' + @ck.tp[:date_translated]    if @ck.tp[:date_translated]    and @ck.tp[:date_translated].length    >@ck.lt_date
+      puts @ck.tp[:date_added_to_site].length.to_s + ' checklength ' + @ck.tp[:date_added_to_site] if @ck.tp[:date_added_to_site] and @ck.tp[:date_added_to_site].length >@ck.lt_date
+      puts @ck.tp[:type].length.to_s               + ' checklength ' + @ck.tp[:type]               if @ck.tp[:type]               and @ck.tp[:type].length               >@ck.lt_type
+      puts @ck.tp[:format].length.to_s             + ' checklength ' + @ck.tp[:format]             if @ck.tp[:format]             and @ck.tp[:format].length             >@ck.lt_format
+      puts @ck.tp[:identifier].length.to_s         + ' checklength ' + @ck.tp[:identifier]         if @ck.tp[:identifier]         and @ck.tp[:identifier].length         >@ck.lt_identifier
+      puts @ck.tp[:source].length.to_s             + ' checklength ' + @ck.tp[:source]             if @ck.tp[:source]             and @ck.tp[:source].length             >@ck.lt_source
+      puts @ck.tp[:language].length.to_s           + ' checklength ' + @ck.tp[:language]           if @ck.tp[:language]           and @ck.tp[:language].length           >@ck.lt_language
+      puts @ck.tp[:language_original].length.to_s  + ' checklength ' + @ck.tp[:language_original]  if @ck.tp[:language_original]  and @ck.tp[:language_original].length  >@ck.lt_language_original
       #puts @ck.tp[:language_char].length.to_s     + ' checklength ' + @ck.tp[:language_char]       if @ck.tp[:language_char]       and @ck.tp[:language_char].length       >@ck.lt_language_char
       #puts @ck.tp[:language_original_char].length.to_s + ' checklength ' + @ck.tp[:language_original_char]       if @ck.tp[:language_original_char]       and @ck.tp[:language_original_char].length       >@ck.lt_language_original_char
-      puts @ck.tp[:relation].length.to_s       + ' checklength ' + @ck.tp[:relation]       if @ck.tp[:relation]       and @ck.tp[:relation].length       >@ck.lt_relation
-      puts @ck.tp[:coverage].length.to_s       + ' checklength ' + @ck.tp[:coverage]       if @ck.tp[:coverage]       and @ck.tp[:coverage].length       >@ck.lt_coverage
-      puts @ck.tp[:rights].length.to_s         + ' checklength ' + @ck.tp[:rights]         if @ck.tp[:rights]         and @ck.tp[:rights].length         >@ck.lt_rights
-      puts @ck.tp[:copyright].length.to_s      + ' checklength ' + @ck.tp[:copyright]      if @ck.tp[:copyright]      and @ck.tp[:copyright].length      >@ck.lt_copyright
-      puts @ck.tp[:owner].length.to_s          + ' checklength ' + @ck.tp[:owner]          if @ck.tp[:owner]          and @ck.tp[:owner].length          >@ck.lt_owner
-      puts @ck.tp[:keywords].length.to_s       + ' checklength ' + @ck.tp[:keywords]       if @ck.tp[:keywords]       and @ck.tp[:keywords].length       >@ck.lt_keywords
-      puts @ck.tp[:abstract].length.to_s       + ' checklength ' + @ck.tp[:abstract]       if @ck.tp[:abstract]       and @ck.tp[:abstract].length       >@ck.lt_abstract
-      puts @ck.tp[:comment].length.to_s        + ' checklength ' + @ck.tp[:comment]        if @ck.tp[:comment]        and @ck.tp[:comment].length        >@ck.lt_comment
-      puts @ck.tp[:loc].length.to_s            + ' checklength ' + @ck.tp[:loc]            if @ck.tp[:loc]            and @ck.tp[:loc].length            >@ck.lt_loc
-      puts @ck.tp[:dewey].length.to_s          + ' checklength ' + @ck.tp[:dewey]          if @ck.tp[:dewey]          and @ck.tp[:dewey].length          >@ck.lt_dewey
-      puts @ck.tp[:isbn].length.to_s           + ' checklength ' + @ck.tp[:isbn]           if @ck.tp[:isbn]           and @ck.tp[:isbn].length           >@ck.lt_isbn
-      puts @ck.tp[:pg].length.to_s             + ' checklength ' + @ck.tp[:pg]             if @ck.tp[:pg]             and @ck.tp[:pg].length             >@ck.lt_pg
-      puts @ck.tp[:date]                                                                   if  @ck.tp[:date] and not @ck.tp[:date].empty? and @ck.tp[:date] !~/\d\d-\d\d-\d\d/
+      puts @ck.tp[:relation].length.to_s           + ' checklength ' + @ck.tp[:relation]           if @ck.tp[:relation]           and @ck.tp[:relation].length           >@ck.lt_relation
+      puts @ck.tp[:coverage].length.to_s           + ' checklength ' + @ck.tp[:coverage]           if @ck.tp[:coverage]           and @ck.tp[:coverage].length           >@ck.lt_coverage
+      puts @ck.tp[:rights].length.to_s             + ' checklength ' + @ck.tp[:rights]             if @ck.tp[:rights]             and @ck.tp[:rights].length             >@ck.lt_rights
+      puts @ck.tp[:copyright].length.to_s          + ' checklength ' + @ck.tp[:copyright]          if @ck.tp[:copyright]          and @ck.tp[:copyright].length          >@ck.lt_copyright
+      puts @ck.tp[:owner].length.to_s              + ' checklength ' + @ck.tp[:owner]              if @ck.tp[:owner]              and @ck.tp[:owner].length              >@ck.lt_owner
+      puts @ck.tp[:keywords].length.to_s           + ' checklength ' + @ck.tp[:keywords]           if @ck.tp[:keywords]           and @ck.tp[:keywords].length           >@ck.lt_keywords
+      puts @ck.tp[:abstract].length.to_s           + ' checklength ' + @ck.tp[:abstract]           if @ck.tp[:abstract]           and @ck.tp[:abstract].length           >@ck.lt_abstract
+      puts @ck.tp[:comment].length.to_s            + ' checklength ' + @ck.tp[:comment]            if @ck.tp[:comment]            and @ck.tp[:comment].length            >@ck.lt_comment
+      puts @ck.tp[:loc].length.to_s                + ' checklength ' + @ck.tp[:loc]                if @ck.tp[:loc]                and @ck.tp[:loc].length                >@ck.lt_loc
+      puts @ck.tp[:dewey].length.to_s              + ' checklength ' + @ck.tp[:dewey]              if @ck.tp[:dewey]              and @ck.tp[:dewey].length              >@ck.lt_dewey
+      puts @ck.tp[:isbn].length.to_s               + ' checklength ' + @ck.tp[:isbn]               if @ck.tp[:isbn]               and @ck.tp[:isbn].length               >@ck.lt_isbn
+      puts @ck.tp[:pg].length.to_s                 + ' checklength ' + @ck.tp[:pg]                 if @ck.tp[:pg]                 and @ck.tp[:pg].length                 >@ck.lt_pg
+      puts @ck.tp[:topic_register].length.to_s     + ' checklength ' + @ck.tp[:topic_register]     if @ck.tp[:topic_register]     and @ck.tp[:topci_register].length     >@ck.lt_topic_register
+      puts @ck.tp[:date]                                                                           if @ck.tp[:date] and not @ck.tp[:date].empty? and @ck.tp[:date] !~/\d\d-\d\d-\d\d/
       end
     end
   end
diff --git a/lib/sisu/v0/harvest_authors.rb b/lib/sisu/v0/harvest_authors.rb
index 9586fcc3..9678e4f7 100644
--- a/lib/sisu/v0/harvest_authors.rb
+++ b/lib/sisu/v0/harvest_authors.rb
@@ -102,16 +102,18 @@ module HARVEST_authors
     end
     def extract_harvest
       data,filename,idx_array=@data,@filename,@idx_array
-      @publication_details,@title,@subtitle,@fulltitle,@author,@author_format=nil,nil,nil,nil,nil,nil
+      @orig_pub,@title,@subtitle,@fulltitle,@author,@author_format=nil,nil,nil,nil,nil,nil
       @authors=[]
       rgx={}
       rgx[:author]=/^@(?:author|creator):\s+(.+)/
       rgx[:title]=/^@title:\s+(.+)/
       rgx[:subtitle]=/^@subtitle:\s+(.+)/
-      rgx[:publication_details]=/^@original_publication_details:\s+(.+)/
+      rgx[:date]=/^@subtitle:\s+(.+)/
+      rgx[:date]=/^@date:\s+(\d{4})/
+      rgx[:orig_pub]=/^@original_publication:\s+(.+)/
       data.each do |para|
-        if para=~ rgx[:publication_details]
-          @publication_details=rgx[:publication_details].match(para)[1]
+        if para=~ rgx[:orig_pub]
+          @orig_pub=rgx[:orig_pub].match(para)[1]
         end
         if para=~ rgx[:title]
           @title=rgx[:title].match(para)[1]
@@ -122,19 +124,22 @@ module HARVEST_authors
         if para=~ rgx[:author]
           @author_format=rgx[:author].match(para)[1]
         end
-        break if @title and @subtitle and @author and @publication_details
+        if para=~ rgx[:date]
+          @date=rgx[:date].match(para)[1]
+        end
+        break if @title and @subtitle and @author and @date and @orig_pub
       end
       @fulltitle=if @subtitle
         @title + ' - ' + @subtitle
       else @title
       end
-      if @title and @author_format #and @publication_details
+      if @title and @author_format #and @orig_pub (publication details)
         creator=FORMAT::Author.new(@author_format.strip).author_details
         @authors,@authorship=creator[:authors],creator[:authorship]
         file=filename.sub(/\.ss[mt]$/,'')
-        idx_array <<= { :filename => filename, :file => file, :publication_details => @publication_details, :title => @fulltitle, :author => creator }
+        idx_array <<= { :filename => filename, :file => file, :orig_pub => @orig_pub, :date => @date, :title => @fulltitle, :author => creator }
       else
-        #p "missing author field: #@filename title: #@title; author: #@author_format; idx: #@publication_details"
+        #p "missing author field: #@filename title: #@title; author: #@author_format; idx: #@orig_pub"
       end
       idx_array.flatten!
       idx_array
@@ -156,7 +161,7 @@ module HARVEST_authors
           if @@the_idx_authors[author].class==NilClass
             @@the_idx_authors[author]={:md => []}
           end
-          @@the_idx_authors[author][:md] << { :filename => idx[:filename], :file => idx[:file], :author => idx[:author], :title => idx[:title] }
+          @@the_idx_authors[author][:md] << { :filename => idx[:filename], :file => idx[:file], :author => idx[:author], :title => idx[:title], :date => idx[:date] }
         end
       end
       @the_idx=@@the_idx_authors
@@ -290,9 +295,9 @@ WOK
           @output[:html] << x
           a[1][:md].each do |x|
             if @output[:html_mnt].class == File
-              @output[:html_mnt] << %{<p class="publication">[<a href="#{x[:file]}.sst">src</a>]&nbsp;&nbsp;<a href="file://#{@env.path.output}/#{x[:file]}/#{@page}">#{x[:title]}</a>, #{x[:author][:authors_s]} -- [<a href="#{x[:file]}.sst">#{x[:file]}.sst</a>]</p>}
+              @output[:html_mnt] << %{<p class="publication">[<a href="#{x[:file]}.sst">src</a>]&nbsp;&nbsp;#{x[:date]} <a href="file://#{@env.path.output}/#{x[:file]}/#{@page}">#{x[:title]}</a>, #{x[:author][:authors_s]} -- [<a href="#{x[:file]}.sst">#{x[:file]}.sst</a>]</p>}
             end
-            @output[:html] << %{<p class="publication"><a href="../#{x[:file]}/#{@page}">#{x[:title]}</a>, #{x[:author][:authors_s]}</p>}
+            @output[:html] << %{<p class="publication">#{x[:date]} <a href="../#{x[:file]}/#{@page}">#{x[:title]}</a>, #{x[:author][:authors_s]}</p>}
           end
         end
       end
diff --git a/lib/sisu/v0/param.rb b/lib/sisu/v0/param.rb
index 0d2095dd..ec80e0dd 100644
--- a/lib/sisu/v0/param.rb
+++ b/lib/sisu/v0/param.rb
@@ -118,9 +118,9 @@ module SiSU_Param
       @doc={ :lv=>[] }
       @doc[:fns],@doc[:fnb],@doc[:scr_suffix]='','',''
       @@publisher='SiSU scribe'
-      attr_accessor :cmd,:mod,:env,:fn,:fns,:fnb,:fnn,:fnt,:fnl,:flv,:fnz,:fnstex,:ocn,:sfx_src,:sfx,:pdf,:file_type,:dir_out,:dir_tex,:dir_lout,:txt_path,:site_skin,:sisu,:sisu_version,:ruby_version,:title,:dc_title,:html_title,:subtitle,:subtitle_tex,:creator_home,:dc_creator,:authors,:authorship,:translator,:illustrator,:prepared_by,:digitized_by,:dc_subject,:dc_description,:dc_publisher,:dc_contributor,:dc_date,:dc_date_created,:dc_date_issued,:dc_date_available,:dc_date_valid,:dc_date_modified,:date_scheme,:date_created_scheme,:date_issued_scheme,:date_available_scheme,:date_valid_scheme,:date_modified_scheme,:dc_type,:dc_format,:dc_identifier,:dc_source,:dc_language,:language_original,:dc_relation,:dc_coverage,:dc_rights,:keywords,:comments,:abstract,:cls_loc,:cls_dewey,:cls_pg,:cls_isbn,:papersize,:papersize_array,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:pagenew,:pagebreak,:num_top,:toc_lev_limit,:flag_endnotes,:flag_auto_endnotes,:flag_separate_endnotes,:flag_separate_endnotes_make,:flag_auto_heading_num,:markup,:markup_instruction,:markup_version,:markup_declared,:make_bold,:make_italic,:flag_tables,:vocabulary,:doc_skin,:doc_css,:yaml,:lnk,:prefix_a,:prefix_b,:suffix,:information,:contact,:icon,:image,:ad_url,:ad_png,:ad_alt,:ad_began,:flag_promo,:promo,:ad_home,:stmp,:stmpd,:sc_filename,:sc_number,:sc_date,:sc_time,:sc_info,:yamladdr,:locale,:wc_lines,:wc_words,:wc_bytes,:file_encoding,:file_size,:user,:home,:hostname,:pwd,:firstseg,:programs,:creator_copymark,:lang,:en,:dgst,:dgst_skin,:generated,:tags,:tag_array,:concord_make,:seg_names,:seg_autoname_safe,:set_header_title,:set_heading_top,:set_heading_seg,:heading_seg_first,:heading_seg_first_flag,:base_program,:man_section,:man_name,:man_synopsis,:ec,:opt,:sem_tag,:book_idx,:topic_register,:topic_register_array,:original_publication_details
+      attr_accessor :cmd,:mod,:env,:fn,:fns,:fnb,:fnn,:fnt,:fnl,:flv,:fnz,:fnstex,:ocn,:sfx_src,:sfx,:pdf,:file_type,:dir_out,:dir_tex,:dir_lout,:txt_path,:site_skin,:sisu,:sisu_version,:ruby_version,:title,:dc_title,:html_title,:subtitle,:subtitle_tex,:creator_home,:dc_creator,:author_title,:author_nationality,:authors,:authorship,:translator,:illustrator,:prepared_by,:digitized_by,:dc_subject,:dc_description,:dc_publisher,:dc_contributor,:dc_date,:dc_date_created,:dc_date_issued,:dc_date_available,:dc_date_valid,:dc_date_modified,:date_translated,:date_added_to_site,:date_scheme,:date_created_scheme,:date_issued_scheme,:date_available_scheme,:date_valid_scheme,:date_modified_scheme,:dc_type,:dc_format,:dc_identifier,:dc_source,:dc_language,:language_original,:dc_relation,:dc_coverage,:dc_rights,:keywords,:comments,:abstract,:cls_loc,:cls_dewey,:cls_pg,:cls_isbn,:papersize,:papersize_array,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:pagenew,:pagebreak,:num_top,:toc_lev_limit,:flag_endnotes,:flag_auto_endnotes,:flag_separate_endnotes,:flag_separate_endnotes_make,:flag_auto_heading_num,:markup,:markup_instruction,:markup_version,:markup_declared,:make_bold,:make_italic,:flag_tables,:vocabulary,:doc_skin,:doc_css,:yaml,:lnk,:prefix_a,:prefix_b,:suffix,:information,:contact,:icon,:image,:ad_url,:ad_png,:ad_alt,:ad_began,:flag_promo,:promo,:ad_home,:stmp,:stmpd,:sc_filename,:sc_number,:sc_date,:sc_time,:sc_info,:yamladdr,:locale,:wc_lines,:wc_words,:wc_bytes,:file_encoding,:file_size,:user,:home,:hostname,:pwd,:firstseg,:programs,:creator_copymark,:lang,:en,:dgst,:dgst_skin,:generated,:tags,:tag_array,:concord_make,:seg_names,:seg_autoname_safe,:set_header_title,:set_heading_top,:set_heading_seg,:heading_seg_first,:heading_seg_first_flag,:base_program,:man_section,:man_name,:man_synopsis,:ec,:opt,:sem_tag,:book_idx,:topic_register,:topic_register_array,:original_publication,:original_publication_date,:original_publication_nationality,:original_publication_institution,:writing_focus
       def initialize(fns_array,opt)
-        @env=@fn=@fns=@fnb=@fnn=@fnt=@fnl=@flv=@fnz=@fnstex=@ocn=@sfx_src=@sfx=@pdf=@file_type=@dir_out=@dir_tex=@dir_lout=@txt_path=@flag_endnotes=@flag_auto_endnotes=@flag_separate_endnotes=@flag_separate_endnotes_make=@site_skin=@sisu=@sisu_version=@ruby_version=@title=@dc_title=@html_title=@subtitle=@subtitle_tex=@creator_home=@dc_creator=@translator=@illustrator=@prepared_by=@digitized_by=@dc_subject=@dc_description=@dc_publisher=@dc_contributor=@dc_date=@dc_date_created=@dc_date_issued=@dc_date_available=@dc_date_valid=@dc_date_modified=@date_scheme=@date_created_scheme=@date_issued_scheme=@date_available_scheme=@date_valid_scheme=@date_modified_scheme=@dc_type=@dc_format=@dc_identifier=@dc_source=@dc_language=@language_original=@dc_relation=@dc_coverage=@dc_rights=@keywords=@comments=@abstract=@cls_loc=@cls_dewey=@cls_pg=@cls_isbn=@papersize=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@pagenew=@pagebreak=@num_top=@toc_lev_limit=@flag_auto_heading_num=@make_bold=@make_italic=@flag_tables=@vocabulary=@doc_skin=@doc_css=@yaml=@lnk=@prefix_a=@prefix_b=@suffix=@information=@contact=@icon=@ad_url=@ad_png=@ad_alt=@ad_began=@promo=@ad_home=@stmp=@stmpd=@sc_filename=@sc_number=@sc_date=@sc_time=@sc_info=@yamladdr=@locale=@wc_lines=@wc_words=@wc_bytes=@file_encoding=@file_size=@firstseg=@programs=@creator_copymark=@lang=@en=@dgst=@dgst_skin=@generated=@heading_seg_first=@base_program=@man_synopsis=@topic_register=@original_publication_details=nil
+        @env=@fn=@fns=@fnb=@fnn=@fnt=@fnl=@flv=@fnz=@fnstex=@ocn=@sfx_src=@sfx=@pdf=@file_type=@dir_out=@dir_tex=@dir_lout=@txt_path=@flag_endnotes=@flag_auto_endnotes=@flag_separate_endnotes=@flag_separate_endnotes_make=@site_skin=@sisu=@sisu_version=@ruby_version=@title=@dc_title=@html_title=@subtitle=@subtitle_tex=@creator_home=@dc_creator=@author_title=@author_nationality=@translator=@illustrator=@prepared_by=@digitized_by=@dc_subject=@dc_description=@dc_publisher=@dc_contributor=@dc_date=@dc_date_created=@dc_date_issued=@dc_date_available=@dc_date_valid=@dc_date_modified=@date_translated=@date_added_to_site=@date_scheme=@date_created_scheme=@date_issued_scheme=@date_available_scheme=@date_valid_scheme=@date_modified_scheme=@dc_type=@dc_format=@dc_identifier=@dc_source=@dc_language=@language_original=@dc_relation=@dc_coverage=@dc_rights=@keywords=@comments=@abstract=@cls_loc=@cls_dewey=@cls_pg=@cls_isbn=@papersize=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@pagenew=@pagebreak=@num_top=@toc_lev_limit=@flag_auto_heading_num=@make_bold=@make_italic=@flag_tables=@vocabulary=@doc_skin=@doc_css=@yaml=@lnk=@prefix_a=@prefix_b=@suffix=@information=@contact=@icon=@ad_url=@ad_png=@ad_alt=@ad_began=@promo=@ad_home=@stmp=@stmpd=@sc_filename=@sc_number=@sc_date=@sc_time=@sc_info=@yamladdr=@locale=@wc_lines=@wc_words=@wc_bytes=@file_encoding=@file_size=@firstseg=@programs=@creator_copymark=@lang=@en=@dgst=@dgst_skin=@generated=@heading_seg_first=@base_program=@man_synopsis=@topic_register=@original_publication_details=@original_publication=@original_publication_date=@original_publication_nationality=@original_publication_institution=@writing_focus=nil
         @man_section=1
         @man_name='man page "name/whatis" information not provided, set in header @man: name=[whatis information]'
         @data,@fns,@cmd,@mod,@opt=fns_array,opt.fns,opt.cmd,opt.mod,opt #@data used as data
@@ -324,6 +324,8 @@ module SiSU_Param
               names=name_format($1)
               @authorship=@dc_creator=names[:name_str]
               @authors=names[:name_a_h]
+            when /^@(?:creator|author)\.title:\s+(.+?)$/; @author_title=$1                          # Prof. Dr. etc.
+            when /^@(?:creator|author)\.nationality:\s+(.+?)$/; @author_nationality=$1
             when /^(?:@(?:translator|translated_by):|0~(?:translator|translated_by))\s+(.+?)$/m     #% metainfo
               names=name_format($1)
               @translator=names[:name_str]
@@ -336,18 +338,20 @@ module SiSU_Param
             when /^(?:@digitized_by:|0~digitized_by)\s+(.+?)$/m                                     #% metainfo DC
               names=name_format($1)
               @digitized_by=names[:name_str]
-            when /^(?:@subject:|0~subject)\s+(.+?)$/m                                               #% metainfo DC
-              @dc_subject=$1
-            when /^(?:@description:|0~description)\s+(.+?)$/m                                       #% metainfo DC & rss feed
-              @dc_description=$1
+            when /^(?:@subject:|0~subject)\s+(.+?)$/m; @dc_subject=$1                                               #% metainfo DC
+            when /^(?:@description:|0~description)\s+(.+?)$/m; @dc_description=$1                   #% metainfo DC & rss feed
             when /^(?:@contributor:|0~contributor)\s+(.+?)$/m                                       #% metainfo DC
               names=name_format($1)
               @dc_contributor=names[:name_str]
-            when /^(?:@publisher:|0~publisher)\s+(.+?)$/m                                           #% metainfo DC
-              @dc_publisher=$1
+            when /^(?:@publisher:|0~publisher)\s+(.+?)$/m; @dc_publisher=$1                         #% metainfo DC
+            when /^@original_publication:\s+(.+?)$/m; @original_publication=$1
+            when /^@original_publication\.date:\s+(.+?)$/; @original_publication_date=$1
+            when /^@original_publication\.nationality:\s+(.+?)$/; @original_publication_nationality=$1
+            when /^@original_publication\.institution:\s+(.+?)$/; @original_publication_institution=$1
+            when /^@writing_focus\.nationality:\s+(.+?)$/; @writing_focus=$1                       # e.g. Finland (where and article on Finnish law)
             when /^(?:@|0~)date.+?$/m                                                               #% metainfo DC
               if para =~/(?:@date:|0~date)\s+(.+?)$/m
-                @dc_date=$1.strip
+                @dc_date=$1.strip                                                                   #% original publication date unless the substantive text is updated/modified, then date of update
                 if @dc_date !~regx_date \
                 and not @dc_date.empty?
                   tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',@dc_date)
@@ -355,6 +359,15 @@ module SiSU_Param
                 end
                 @date_scheme='scheme="ISO-8601"' if @dc_date =~/\d{4}-\d{2}-\d{2}/
               end
+              if para =~/(?:@date\.added_to_site:|0~date\.added_to_site)\s+(.+?)$/m
+                @date_added_to_site=$1.strip
+                if @date_added_to_site !~regx_date \
+                and not @date_added_to_site.empty?
+                  tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',@date_added_to_site)
+                  tell.instruct if @cmd =~/v/
+                end
+                @date_scheme='scheme="ISO-8601"' if @date_added_to_site =~/\d{4}-\d{2}-\d{2}/
+              end
               if para =~/(?:@date\.created:|0~date\.created)\s*(.+?)$/m
                 date=$1.strip
                 if date !~regx_date \
@@ -405,6 +418,16 @@ module SiSU_Param
                 @dc_date_modified=date
                 @date_modified_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
+              if para =~/^(?:@date\.translated:|0~date\.translated)\s*(.+?)$/m
+                date=$1.strip
+                if date !~regx_date \
+                and not date.empty?
+                  tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',date)
+                  tell.instruct if @cmd =~/v/
+                end
+                @date_translated=date
+                @date_translated_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
+              end
             when /^(?:@type:|0~type)\s+(.+?)$/m;             @dc_type=$1                                                 #% metainfo DC
             when /^(?:@format:|0~format)\s+(.+?)$/m;         @dc_format=$1                                               #% metainfo DC
             #when /^(?:@identifier:|0~identifier)\s+(.+?)$/m; @dc_identifier=$1                                           #% metainfo DC
diff --git a/man/man1/sisu.1 b/man/man1/sisu.1
index a65a3f3e..66b9d47a 100644
--- a/man/man1/sisu.1
+++ b/man/man1/sisu.1
@@ -888,7 +888,7 @@ This current document has a header similar to this one (without the comments):
 .BR
   @creator: Amissah, Ralph
 .BR
-  % note formatting on author / creator field, surname comma then other names, if more than one author separate by semi\-colon
+  % note formatting rules on author / creator field, \"Surname, Other names\", if more than one author separate by semi\-colon (if name is of an institution just write name or the name contains a comma enclose in quotation marks)
 .BR
   @rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3
 .BR
@@ -899,6 +899,10 @@ This current document has a header similar to this one (without the comments):
   @topic_register: text markup language; application:text processing;output:html|xml|latex|pdf|sql
 .BR
   % note formatting for topic_register topic levels are separated by a colon, a semi\-colon separates main topics
+.BR
+  @date: 2007\-09\-16
+.BR
+  % original publication date unless the substantive text is updated/modified, then date of update
 .BR
   @date.created: 2002\-08\-28
 .BR
@@ -907,8 +911,6 @@ This current document has a header similar to this one (without the comments):
   @date.available: 2002\-08\-28
 .BR
   @date.modified: 2007\-09\-16
-.BR
-  @date: 2007\-09\-16
 .BR
   @level: new=C; break=1; num_top=1
 .BR
-- 
cgit v1.2.3


From fb1e1bf0cb8a2202eda1ab254b01b997df60a6db Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Sat, 13 Dec 2008 14:23:56 -0500
Subject: metadata, variable renaming (requires testing)

metadata, variable renaming (dropped use of dc_ to signify dublin core metadata
as is subset of what is used and cumbersome to identify) - testing required

manpage minor touch
---
 lib/sisu/v0/concordance.rb       |   7 +-
 lib/sisu/v0/dal_metadata.rb      |  42 ++--
 lib/sisu/v0/dal_syntax.rb        |   6 +-
 lib/sisu/v0/db_import.rb         |  40 ++--
 lib/sisu/v0/digests.rb           |  14 +-
 lib/sisu/v0/html.rb              |  10 +-
 lib/sisu/v0/html_format.rb       |   2 +-
 lib/sisu/v0/html_segments.rb     |  10 +-
 lib/sisu/v0/i18n.rb              | 472 ++++++++++++++++++++-------------------
 lib/sisu/v0/manifest.rb          |  88 ++++----
 lib/sisu/v0/manpage.rb           |   2 +-
 lib/sisu/v0/param.rb             |  88 ++++----
 lib/sisu/v0/shared_txt.rb        |   2 +-
 lib/sisu/v0/shared_xml.rb        | 184 +++++++--------
 lib/sisu/v0/sitemaps.rb          |  10 +-
 lib/sisu/v0/texinfo_format.rb    | 120 +++++-----
 lib/sisu/v0/texpdf.rb            |  22 +-
 lib/sisu/v0/texpdf_format.rb     |   6 +-
 lib/sisu/v0/xml_fictionbook.rb   |   8 +-
 lib/sisu/v0/xml_format.rb        | 168 +++++++-------
 lib/sisu/v0/xml_md_oai_pmh_dc.rb |  86 +++----
 21 files changed, 696 insertions(+), 691 deletions(-)

diff --git a/lib/sisu/v0/concordance.rb b/lib/sisu/v0/concordance.rb
index 87b86930..aea5e556 100644
--- a/lib/sisu/v0/concordance.rb
+++ b/lib/sisu/v0/concordance.rb
@@ -111,11 +111,10 @@ module SiSU_Concordance
         @vz=SiSU_Env::Get_init.instance.skin
         txt_path=%{#{@md.dir_out}}
         SiSU_Env::Info_skin.new(@md).select
-        @md_title=@md.title
         @fnb=@md.fnb
         @lex_button=%{<a href="http://www.jus.uio.no/sisu/" target="_top"><img border="0" height="44" width="144" valign="center" src="../_sisu/image/sisu.png" alt="SiSU home --&gt;"></a>}
         @doc_details =<<WOK
-<table summary="links to text related to this rudimentary index" width="96%" border="0" bgcolor="white" cellpadding="0" align="center"><tr><td width="2%" align="right">&nbsp;</td><td width="94%" valign="top" align="justify"><h1 class="small"><a href="#{@md.fn[:toc]}" #{@vz.js_toc}><b>#{@md.dc_title}</b></a></h1><p class="bold">#{@md.dc_creator}</p></td></tr></table>
+<table summary="links to text related to this rudimentary index" width="96%" border="0" bgcolor="white" cellpadding="0" align="center"><tr><td width="2%" align="right">&nbsp;</td><td width="94%" valign="top" align="justify"><h1 class="small"><a href="#{@md.fn[:toc]}" #{@vz.js_toc}><b>#{@md.full_title}</b></a></h1><p class="bold">#{@md.author}</p></td></tr></table>
 WOK
       end
       def create
@@ -127,11 +126,11 @@ WOK
 <html>
 <head>
   <title>
-    SiSU created WordIndex for: #{@md.dc_title}
+    SiSU created WordIndex for: #{@md.full_title}
   </title>
   <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
   <meta name="Description" content="&nbsp;SiSU created">
-  <meta name="keywords" content="word index for #{@md.dc_title}">
+  <meta name="keywords" content="word index for #{@md.full_title}">
   <meta name="generator" content="SiSU (Linux &amp; Ruby!)">
   <link rel="generator" href="http://www.jus.uio.no/sisu" />
   <link rel="shortcut icon" href="../_sisu/image/rb7.ico" />
diff --git a/lib/sisu/v0/dal_metadata.rb b/lib/sisu/v0/dal_metadata.rb
index b46c0ce6..cf81616e 100644
--- a/lib/sisu/v0/dal_metadata.rb
+++ b/lib/sisu/v0/dal_metadata.rb
@@ -87,9 +87,9 @@ module SiSU_metadata
           ocnm+=1; ocnd+=1
           @dc << case para
           when /^#{Mx[:meta_o]}title#{Mx[:meta_c]}/
-            "\n#{@tr.dc_title}: #{Mx[:fa_underscore_o]}#{@md.dc_title}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.full_title}: #{Mx[:fa_underscore_o]}#{@md.full_title}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}(?:creator|author)#{Mx[:meta_c]}/
-            "\n#{@tr.creator}: #{Mx[:fa_underscore_o]}#{@md.dc_creator}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.author}: #{Mx[:fa_underscore_o]}#{@md.author}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /#{Mx[:meta_o]}(?:translator|translated_by)#{Mx[:meta_c]}/
             "\n#{@tr.translator}: #{Mx[:fa_underscore_o]}#{@md.translator}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}(?:illustrator|illustrated_by)#{Mx[:meta_c]}/
@@ -99,45 +99,45 @@ module SiSU_metadata
           when /^#{Mx[:meta_o]}digitized_by#{Mx[:meta_c]}/
             "\n#{@tr.digitized_by}: #{Mx[:fa_underscore_o]}#{@md.digitized_by}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}description#{Mx[:meta_c]}/
-            "\n#{@tr.description}: #{Mx[:fa_underscore_o]}#{@md.dc_description}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.description}: #{Mx[:fa_underscore_o]}#{@md.description}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}subject#{Mx[:meta_c]}/
-            "\n#{@tr.subject}: #{Mx[:fa_underscore_o]}#{@md.dc_subject}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.subject}: #{Mx[:fa_underscore_o]}#{@md.subject}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}abstract#{Mx[:meta_c]}/
-            "\n#{@tr.abstract}: #{Mx[:fa_underscore_o]}#{@md.dc_abstract}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.abstract}: #{Mx[:fa_underscore_o]}#{@md.abstract}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}publisher#{Mx[:meta_c]}/
-            "\n#{@tr.publisher}: #{Mx[:fa_underscore_o]}#{@md.dc_publisher}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.publisher}: #{Mx[:fa_underscore_o]}#{@md.publisher}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}contributor#{Mx[:meta_c]}/
-            "\n#{@tr.contributor}: #{Mx[:fa_underscore_o]}#{@md.dc_contributor}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.contributor}: #{Mx[:fa_underscore_o]}#{@md.contributor}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}date.created#{Mx[:meta_c]}/
-            "\n#{@tr.date_created}: #{Mx[:fa_underscore_o]}#{@md.dc_date_created}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.date_created}: #{Mx[:fa_underscore_o]}#{@md.date_created}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}date.issued#{Mx[:meta_c]}/
-            "\n#{@tr.date_issued}: #{Mx[:fa_underscore_o]}#{@md.dc_date_issued}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.date_issued}: #{Mx[:fa_underscore_o]}#{@md.date_issued}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}date.available#{Mx[:meta_c]}/
-            "\n#{@tr.date_available}: #{Mx[:fa_underscore_o]}#{@md.dc_date_available}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.date_available}: #{Mx[:fa_underscore_o]}#{@md.date_available}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}date.modified#{Mx[:meta_c]}/
-            "\n#{@tr.date_modified}: #{Mx[:fa_underscore_o]}#{@md.dc_date_modified}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.date_modified}: #{Mx[:fa_underscore_o]}#{@md.date_modified}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}date.valid#{Mx[:meta_c]}/
-            "\n#{@tr.date_valid}: #{Mx[:fa_underscore_o]}#{@md.dc_date_valid}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.date_valid}: #{Mx[:fa_underscore_o]}#{@md.date_valid}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}date#{Mx[:meta_c]}/
-            "\n#{@tr.date}: #{Mx[:fa_underscore_o]}#{@md.dc_date}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.date}: #{Mx[:fa_underscore_o]}#{@md.date}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}type#{Mx[:meta_c]}/
-            "\n#{@tr.type}: #{Mx[:fa_underscore_o]}#{@md.dc_type}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.type}: #{Mx[:fa_underscore_o]}#{@md.type}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}format#{Mx[:meta_c]}/
-            "\n#{@tr.format}: #{Mx[:fa_underscore_o]}#{@md.dc_format}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.format}: #{Mx[:fa_underscore_o]}#{@md.format}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}rights#{Mx[:meta_c]}/
-            "\n#{@tr.rights}: #{Mx[:fa_underscore_o]}#{@md.dc_rights}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.rights}: #{Mx[:fa_underscore_o]}#{@md.rights}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}identifier#{Mx[:meta_c]}/
-            "\n#{@tr.identifier}: #{Mx[:fa_underscore_o]}#{@md.dc_identifier}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.identifier}: #{Mx[:fa_underscore_o]}#{@md.identifier}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}source#{Mx[:meta_c]}/
-            "\n#{@tr.source}: #{Mx[:fa_underscore_o]}#{@md.dc_source}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.source}: #{Mx[:fa_underscore_o]}#{@md.source}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}language#{Mx[:meta_c]}/
-            "\n#{@tr.language}: #{Mx[:fa_underscore_o]}#{@md.dc_language}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.language}: #{Mx[:fa_underscore_o]}#{@md.language}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}language.original#{Mx[:meta_c]}/
             "\n#{@tr.language_original}: #{Mx[:fa_underscore_o]}#{@md.language_original}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}relation#{Mx[:meta_c]}/
-            "\n#{@tr.relation}: #{Mx[:fa_underscore_o]}#{@md.dc_relation}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.relation}: #{Mx[:fa_underscore_o]}#{@md.relation}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}coverage#{Mx[:meta_c]}/
-            "\n#{@tr.coverage}: #{Mx[:fa_underscore_o]}#{@md.dc_coverage}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
+            "\n#{@tr.coverage}: #{Mx[:fa_underscore_o]}#{@md.coverage}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}keywords#{Mx[:meta_c]}/
             "\n#{@tr.keywords}: #{Mx[:fa_underscore_o]}#{@md.keywords}#{Mx[:fa_underscore_c]} #{Mx[:id_o]}~0;m#{ocnm};d#{ocnd}#{Mx[:id_c]}"
           when /^#{Mx[:meta_o]}comments#{Mx[:meta_c]}/
diff --git a/lib/sisu/v0/dal_syntax.rb b/lib/sisu/v0/dal_syntax.rb
index 4120497a..1d6407e2 100644
--- a/lib/sisu/v0/dal_syntax.rb
+++ b/lib/sisu/v0/dal_syntax.rb
@@ -255,19 +255,19 @@ module SiSU_Syntax
         line.gsub!(/~\[(.+?)\]~/m,Mx[:en_b_o] + '\1' + Mx[:en_b_c])
         if @md.subtitle and not @md.subtitle.empty?
           if line =~/(?:by\s+)?(?:@creator|@author)/
-            line.gsub!(/^(#{Mx[:lv_o]}1:\??#{Mx[:lv_c]})\s*@title\s+(?:(by\s+)?(?:@creator|@author))\s*$/,"\\1#{@md.title} - #{@md.subtitle},<br />\\2#{@md.dc_creator}")
+            line.gsub!(/^(#{Mx[:lv_o]}1:\??#{Mx[:lv_c]})\s*@title\s+(?:(by\s+)?(?:@creator|@author))\s*$/,"\\1#{@md.title} - #{@md.subtitle},<br />\\2#{@md.author}")
           else
             line.gsub!(/^(#{Mx[:lv_o]}1:\??#{Mx[:lv_c]})\s*@title\s*$/,"\\1 #{@md.title} - #{@md.subtitle}")
           end
         else
           if line =~/(?:by\s+)?(?:@creator|@author)/
-            line.gsub!(/^(#{Mx[:lv_o]}1:\??#{Mx[:lv_c]})\s*@title\s+(?:(by\s+)?(?:@creator|@author))\s*$/,"\\1#{@md.title},<br />\\2#{@md.dc_creator}")
+            line.gsub!(/^(#{Mx[:lv_o]}1:\??#{Mx[:lv_c]})\s*@title\s+(?:(by\s+)?(?:@creator|@author))\s*$/,"\\1#{@md.title},<br />\\2#{@md.author}")
           else
             line.gsub!(/^(#{Mx[:lv_o]}1:\??#{Mx[:lv_c]})\s*@title\s*$/,"\\1 #{@md.title}")
           end
         end
         line.gsub!(/^(1~\??) @title\s*$/,"\\1 #{@md.title} - #{@md.subtitle}")                    #
-        line.gsub!(/^(#{Mx[:lv_o]}[23]:\??#{Mx[:lv_c]}) (?:(by\s+)?(?:@creator|@author))\s*$/,"\\1 \\2#{@md.dc_creator}")                    #
+        line.gsub!(/^(#{Mx[:lv_o]}[23]:\??#{Mx[:lv_c]}) (?:(by\s+)?(?:@creator|@author))\s*$/,"\\1 \\2#{@md.author}")                    #
         line.gsub!(/<((?:https?|file):\/\/\S+?)>/,'< \1 >')                    #catch problem markup
         line.gsub!(/\}\.\.\/(\S+)/,"\}#@output_url/\\1")                       #means you are not supporting relative links (only relevant in html), converted to static here
         line.gsub!(/<:=(\S+?)>/,'{ c_\1.png 14x14 }http://www.jus.uio.no/sisu')                                                    #adjustment 2005w30
diff --git a/lib/sisu/v0/db_import.rb b/lib/sisu/v0/db_import.rb
index e30776c7..1e1e25d7 100644
--- a/lib/sisu/v0/db_import.rb
+++ b/lib/sisu/v0/db_import.rb
@@ -179,7 +179,7 @@ module SiSU_DB_import
         @@id_t+=1 #bug related, needs to be performed once at start of file, but consider moving, as, placed here it means program will fail if document header lacks 0~title
         puts %{\n#{@cX.grey}Processing file number#{@cX.off}: #{@cX.green}#{@@id_t}#{@@cX.off}} unless @opt.cmd =~/q/
       end
-      if @md.dc_title; @tp[:long_title]=@md.dc_title
+      if @md.full_title; @tp[:long_title]=@md.full_title #dc
         #sql='SELECT MAX(tid) FROM metadata'
         #id_t=@conn.execute( sql ) { |x| x.fetch_all.to_s.to_i }
         #@@id_t=id_t if id_t
@@ -191,11 +191,11 @@ module SiSU_DB_import
         special_character_escape(txt)
         @tp[:subtitle_f],@tp[:subtitle_i]='subtitle, ',"'#{txt}', "
       end
-      if @md.dc_creator; txt=@md.dc_creator
+      if @md.author; txt=@md.author #dc
         special_character_escape(txt)
         @tp[:creator_f],@tp[:creator_i]='creator, ',"'#{txt}', "
       end
-      if @md.dc_contributor; txt=@md.dc_contributor
+      if @md.contributor; txt=@md.contributor #dc
         special_character_escape(txt)
         @tp[:contributor_f],@tp[:contributor_i]='contributor, ',"'#{txt}', "
       end
@@ -207,7 +207,7 @@ module SiSU_DB_import
         special_character_escape(txt)
         @tp[:illustrator_f],@tp[:illustrator_i]='illustrator, ',"'#{txt}', "
       end
-      if @md.dc_publisher; txt=@md.dc_publisher
+      if @md.publisher; txt=@md.publisher #dc
         special_character_escape(txt)
         @tp[:publisher_f],@tp[:publisher_i]='publisher, ',"'#{txt}', "
       end
@@ -219,11 +219,11 @@ module SiSU_DB_import
         special_character_escape(txt)
         @tp[:digitized_by_f],@tp[:digitized_by_i]='digitized_by, ',"'#{txt}', "
       end
-      if @md.dc_subject; txt=@md.dc_subject
+      if @md.subject; txt=@md.subject #dc
         special_character_escape(txt)
         @tp[:subject_f],@tp[:subject_i]='subject, ',"'#{txt}', "
       end
-      if @md.dc_description; txt=@md.dc_description
+      if @md.description; txt=@md.description #dc
         special_character_escape(txt)
         @tp[:description_f],@tp[:description_i]='description, ',"'#{txt}', "
       end
@@ -231,7 +231,7 @@ module SiSU_DB_import
         special_character_escape(txt)
         @tp[:abstract_f],@tp[:abstract_i]='abstract, ',"'#{txt}', "
       end
-      if @md.dc_type; txt=@md.dc_type
+      if @md.type; txt=@md.type #dc
         special_character_escape(txt)
         @tp[:type_f],@tp[:type_i]='type, ',"'#{txt}', "
       end
@@ -243,35 +243,35 @@ module SiSU_DB_import
       #  special_character_escape(txt)
       #  @tp[:copyright_f],@tp[:copyright_i]='copyright, ',"'#{txt}', "
       #end
-      if @md.dc_rights; txt=@md.dc_rights
+      if @md.rights; txt=@md.rights #dc
         special_character_escape(txt)
         @tp[:rights_f],@tp[:rights_i]='rights, ',"'#{txt}', "
       end
-      if @md.dc_date; txt=@md.dc_date
+      if @md.date; txt=@md.date #dc
         special_character_escape(txt)
         @tp[:date_f],@tp[:date_i]='date, ',"'#{txt}', "
       end
-      if @md.dc_date_created; txt=@md.dc_date_created
+      if @md.date_created; txt=@md.date_created #dc
         special_character_escape(txt)
         @tp[:date_created_f],@tp[:date_created_i]='date_created, ',"'#{txt}', "
       end
-      if @md.dc_date_issued; txt=@md.dc_date_issued
+      if @md.date_issued; txt=@md.date_issued #dc
         special_character_escape(txt)
         @tp[:date_issued_f],@tp[:date_issued_i]='date_issued, ',"'#{txt}', "
       end
-      if @md.dc_date_available; txt=@md.dc_date_available
+      if @md.date_available; txt=@md.date_available #dc
         special_character_escape(txt)
         @tp[:date_available_f],@tp[:date_available_i]='date_available, ',"'#{txt}', "
       end
-      if @md.dc_date_modified; txt=@md.dc_date_modified
+      if @md.date_modified; txt=@md.date_modified #dc
         special_character_escape(txt)
         @tp[:date_modified_f],@tp[:date_modified_i]='date_modified, ',"'#{txt}', "
       end
-      if @md.dc_date_valid; txt=@md.dc_date_valid
+      if @md.date_valid; txt=@md.date_valid #dc
         special_character_escape(txt)
         @tp[:date_valid_f],@tp[:date_valid_i]='date_valid, ',"'#{txt}', "
       end
-      if @md.dc_language[:name]; txt=@md.dc_language[:name]
+      if @md.language[:name]; txt=@md.language[:name] #dc
         special_character_escape(txt)
         @tp[:language_f],@tp[:language_i]='language, ',"'#{txt}', "
       end
@@ -279,23 +279,23 @@ module SiSU_DB_import
         special_character_escape(txt)
         @tp[:language_original_f],@tp[:language_original_i]='language_original, ',"'#{txt}', "
       end
-      if @md.dc_format; txt=@md.dc_format
+      if @md.format; txt=@md.format #dc
         special_character_escape(txt)
         @tp[:format_f],@tp[:format_i]='format, ',"'#{txt}', "
       end
-      if @md.dc_identifier; txt=@md.dc_identifier
+      if @md.identifier; txt=@md.identifier #dc
         special_character_escape(txt)
         @tp[:identifier_f],@tp[:identifier_i]='identifier, ',"'#{txt}', "
       end
-      if @md.dc_source; txt=@md.dc_source
+      if @md.source; txt=@md.source #dc
         special_character_escape(txt)
         @tp[:source_f],@tp[:source_i]='source, ',"'#{txt}', "
       end
-      if @md.dc_relation; txt=@md.dc_relation
+      if @md.relation; txt=@md.relation #dc
         special_character_escape(txt)
         @tp[:relation_f],@tp[:relation_i]='relation, ',"'#{txt}', "
       end
-      if @md.dc_coverage; txt=@md.dc_coverage
+      if @md.coverage; txt=@md.coverage #dc
         special_character_escape(txt)
         @tp[:coverage_f],@tp[:coverage_i]='coverage, ',"'#{txt}', "
       end
diff --git a/lib/sisu/v0/digests.rb b/lib/sisu/v0/digests.rb
index fed761d6..baaeb884 100644
--- a/lib/sisu/v0/digests.rb
+++ b/lib/sisu/v0/digests.rb
@@ -227,7 +227,7 @@ module SiSU_Digest_view
                 end
               else
                 prefix=''
-                metad=[@tr.dc_title,@tr.creator,@tr.translator,@tr.illustrator,@tr.prepared_by,@tr.digitized_by,@tr.description,@tr.subject,@tr.abstract,@tr.publisher,@tr.contributor,@tr.date_created,@tr.date_issued,@tr.date_available,@tr.date_modified,@tr.date_valid,@tr.date,@tr.type,@tr.format,@tr.rights,@tr.identifier,@tr.source,@tr.language,@tr.language_original,@tr.relation,@tr.coverage,@tr.keywords,@tr.comments,@tr.cls_loc,@tr.cls_dewey,@tr.cls_gutenberg,@tr.cls_isbn,@tr.prefix_a,@tr.prefix_b,@tr.sourcefile,@tr.sourcefile_digest,@tr.last_generated,@tr.sisu_version,@tr.ruby_version,@tr.sc_number,@tr.sc_date,'Skin_Digest: ','Generated by: ','Ruby version: ']
+                metad=[@tr.full_title,@tr.author,@tr.translator,@tr.illustrator,@tr.prepared_by,@tr.digitized_by,@tr.description,@tr.subject,@tr.abstract,@tr.publisher,@tr.contributor,@tr.date_created,@tr.date_issued,@tr.date_available,@tr.date_modified,@tr.date_valid,@tr.date,@tr.type,@tr.format,@tr.rights,@tr.identifier,@tr.source,@tr.language,@tr.language_original,@tr.relation,@tr.coverage,@tr.keywords,@tr.comments,@tr.cls_loc,@tr.cls_dewey,@tr.cls_gutenberg,@tr.cls_isbn,@tr.prefix_a,@tr.prefix_b,@tr.sourcefile,@tr.sourcefile_digest,@tr.last_generated,@tr.sisu_version,@tr.ruby_version,@tr.sc_number,@tr.sc_date,'Skin_Digest: ','Generated by: ','Ruby version: ']
                 metad.each do |n|
                   m=rgx_txt(n)
                   if m=~/\S+/ \
@@ -242,17 +242,17 @@ module SiSU_Digest_view
                   else prefix='  '*9
                   end
                 end
-                m_dc_title=rgx_txt(@tr.dc_title)
-                m_creator=rgx_txt(@tr.creator)
+                m_title=rgx_txt(@tr.full_title)
+                m_author=rgx_txt(@tr.author)
                 m_sourcefile_digest=rgx_txt(@tr.sourcefile_digest)
                 m_sisu_version=rgx_txt(@tr.sisu_version)
                 m_last_generated=rgx_txt(@tr.last_generated)
                 m_ruby_version=rgx_txt(@tr.ruby_version)
                 case para
-                when /#{m_dc_title}: /
-                  @t=/#{m_dc_title}: (.+?)#{Mx[:id_o]}~\d;(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}[0-9a-f]{#@dl}:[0-9a-f]{#@dl}#{Mx[:id_c]}/.match(para)[1].gsub(/<\/?u>/,'').strip
-                when /#{m_creator}: /
-                  @c=/#{m_creator}: (.+?)#{Mx[:id_o]}~\d;(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}[0-9a-f]{#@dl}:[0-9a-f]{#@dl}#{Mx[:id_c]}/.match(para)[1].gsub(/<\/?u>/,'').strip
+                when /#{m_title}: /
+                  @t=/#{m_title}: (.+?)#{Mx[:id_o]}~\d;(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}[0-9a-f]{#@dl}:[0-9a-f]{#@dl}#{Mx[:id_c]}/.match(para)[1].gsub(/<\/?u>/,'').strip
+                when /#{m_author}: /
+                  @c=/#{m_author}: (.+?)#{Mx[:id_o]}~\d;(?:\w|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}[0-9a-f]{#@dl}:[0-9a-f]{#@dl}#{Mx[:id_c]}/.match(para)[1].gsub(/<\/?u>/,'').strip
                 when /#{m_sourcefile_digest}.+?<u>/                                        #watch
                   dgst_extra="\n" + ' '*21 +'source' +' '*4 + @md.dgst[1] + ' '*34 + @md.fns
                 when /Skin_Digest: /
diff --git a/lib/sisu/v0/html.rb b/lib/sisu/v0/html.rb
index 5f2a1954..33285ed0 100644
--- a/lib/sisu/v0/html.rb
+++ b/lib/sisu/v0/html.rb
@@ -592,7 +592,7 @@ WOK
         toc_shared << format_head_toc.toc_head_escript if SiSU_HTML_Format::Head_toc.method_defined? :toc_head_escript
         @segtoc << format_head_toc.toc_head_escript if SiSU_HTML_Format::Head_toc.method_defined? :toc_head_escript
         toc_shared << format_head_toc.scroll_head_navigation_band
-        if @md.dc_rights
+        if @md.rights
           rights=format_head_toc.rights
           rights=SiSU_Tune::Clean_html.new(rights).clean
         end
@@ -620,8 +620,8 @@ WOK
           toc_shared << format_txt_obj.center_bold
           @segtoc << format_txt_obj.center_bold
         end
-        if @md.dc_creator
-          creator_endnote=@md.dc_creator.gsub(/(\*+)/,%{&nbsp;<sup><a href="#notes">\\1</a></sup>})
+        if @md.author
+          creator_endnote=@md.author.gsub(/(\*+)/,%{&nbsp;<sup><a href="#notes">\\1</a></sup>})
           tmp_head=creator_endnote + "\n"
           txt_obj={:txt =>tmp_head}
           format_txt_obj=SiSU_HTML_Format::Format_text_object.new(@md,txt_obj)
@@ -640,13 +640,13 @@ WOK
         end
         tmp_head=nil
         toc_shared << @links_guide_toc
-        toc_shared << rights if @md.dc_rights
+        toc_shared << rights if @md.rights
         toc_shared << prefix_b if @md.prefix_b
         #Table of Contents added/appended here
         toc_shared << @toc[:scr]
         @segtoc << @links_guide_toc
         @segtoc << @toc[:seg]
-        @segtoc << rights if @md.dc_rights
+        @segtoc << rights if @md.rights
         @segtoc << prefix_b if @md.prefix_b
         #Segtoc tail added here
         @segtoc << "</p>\n" #bugfix sort later DEBUGNOW
diff --git a/lib/sisu/v0/html_format.rb b/lib/sisu/v0/html_format.rb
index 4010209c..88e5fda7 100644
--- a/lib/sisu/v0/html_format.rb
+++ b/lib/sisu/v0/html_format.rb
@@ -478,7 +478,7 @@ WOK
     def prefix_a
     end
     def rights
-      rights=@md.dc_rights.gsub(/^\s*Copyright\s+\(C\)/,'Copyright <sup>&copy;</sup>&nbsp;')
+      rights=@md.rights.gsub(/^\s*Copyright\s+\(C\)/,'Copyright <sup>&copy;</sup>&nbsp;')
       %{<p class="small_left">Rights: #{rights}</p>
 <p />}
     end
diff --git a/lib/sisu/v0/html_segments.rb b/lib/sisu/v0/html_segments.rb
index a3199903..da33194a 100644
--- a/lib/sisu/v0/html_segments.rb
+++ b/lib/sisu/v0/html_segments.rb
@@ -72,7 +72,7 @@ module SiSU_HTML_seg
         if @type =~/endnote/
           @seg[:headers]=[]
           format_head_seg=SiSU_HTML_Format::Head_seg.new(@md)
-          @seg[:headers] << format_head_seg.title_banner(@md.title,@md.subtitle,@dc_creator)
+          @seg[:headers] << format_head_seg.title_banner(@md.title,@md.subtitle,@author)
           txt_obj={:txt =>'Endnotes',:ocn_display =>''}
           format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj)
           @seg[:headers] << format_seg.title_header1
@@ -80,7 +80,7 @@ module SiSU_HTML_seg
         elsif @type =~/idx/
           @seg[:headers]=[]
           format_head_seg=SiSU_HTML_Format::Head_seg.new(@md)
-          @seg[:headers] << format_head_seg.title_banner(@md.title,@md.subtitle,@dc_creator)
+          @seg[:headers] << format_head_seg.title_banner(@md.title,@md.subtitle,@author)
           txt_obj={:txt =>'Index',:ocn_display =>''}
           format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj)
           @seg[:headers] << format_seg.title_header1
@@ -267,7 +267,7 @@ module SiSU_HTML_seg
       end
       @p_num ||= ''
       if @@is1 == 1
-        @dc_creator=%{<b>#{@md.dc_creator}</b>\n} if @md.dc_creator.to_s =~/\S/
+        @author=%{<b>#{@md.author}</b>\n} if @md.author.to_s =~/\S/
         @@seg[:tocband_banner] << format_head_seg.navigation_band(@@segtocband,@@seg[:dot_nav])
         conditional_div_close=if @@get_hash_fn =~/metadata/ #watch
           '</div>'
@@ -275,7 +275,7 @@ module SiSU_HTML_seg
         end
         @@seg[:tocband_bannerless] << conditional_div_close << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
         @@seg[:headers] << format_head_seg.seg_head_escript if SiSU_HTML_Format::Head_seg.method_defined? :seg_head_escript #debug PHP move up in text #bug
-        @@seg[:headers] << format_head_seg.title_banner(@md.title,@md.subtitle,@dc_creator).gsub(clean,'')
+        @@seg[:headers] << format_head_seg.title_banner(@md.title,@md.subtitle,@author).gsub(clean,'')
         ocn=if @@header1[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#@dp:#@dp#{Mx[:id_c]}$/]; $1
         else ''
         end
@@ -317,7 +317,7 @@ module SiSU_HTML_seg
         format_seg=SiSU_HTML_Format::Format_seg.new(@md,txt_obj)
         @@seg[:headers] << format_seg.title_header4.gsub(clean,'')
       end
-      @@seg[:header_endnotes]=format_head_seg.title_endnote(@md.title,@md.subtitle,@dc_creator,@@seg[:dot_nav])
+      @@seg[:header_endnotes]=format_head_seg.title_endnote(@md.title,@md.subtitle,@author,@@seg[:dot_nav])
       @@tracker=@@tracker+1
     end
     def markup(para)
diff --git a/lib/sisu/v0/i18n.rb b/lib/sisu/v0/i18n.rb
index 20f788f5..0b53e78d 100644
--- a/lib/sisu/v0/i18n.rb
+++ b/lib/sisu/v0/i18n.rb
@@ -116,8 +116,8 @@ module SiSU_Translate
     def sourcefile_digest
       @lang_class.sourcefile_digest
     end
-    def dc_title
-      @lang_class.dc_title
+    def full_title #dc
+      @lang_class.full_title
     end
     def title
       @lang_class.title
@@ -125,8 +125,8 @@ module SiSU_Translate
     def subtitle
       @lang_class.subtitle
     end
-    def creator
-      @lang_class.creator
+    def author
+      @lang_class.author
     end
     def contributor
       @lang_class.contributor
@@ -149,8 +149,8 @@ module SiSU_Translate
     def subject
       @lang_class.subject
     end
-    def dc_description
-      @lang_class.dc_description
+    def description #dc (watch)
+      @lang_class.description
     end
     def abstract
       @lang_class.abstract
@@ -331,8 +331,8 @@ module SiSU_Translate
     def file_size
       'file size'
     end
-    def dc_title
-      'DC Title'
+    def full_title #dc
+      'Title'
     end
     def title
       'Title'
@@ -340,11 +340,14 @@ module SiSU_Translate
     def subtitle
       'Subtitle'
     end
-    def creator
-      'DC Creator'
+    def author
+      'Author'
     end
-    def contributor
-      'DC Contributor'
+    def creator #dc
+      'Creator'
+    end
+    def contributor #dc
+      'Contributor'
     end
     def translator
       'Translator'
@@ -352,8 +355,8 @@ module SiSU_Translate
     def illustrator
       'Illustrator'
     end
-    def publisher
-      'DC Publisher'
+    def publisher #dc
+      'Publisher'
     end
     def prepared_by
       'Prepared by'
@@ -361,59 +364,59 @@ module SiSU_Translate
     def digitized_by
       'Digitized by'
     end
-    def subject
-      'DC Subject'
+    def subject #dc
+      'Subject'
     end
-    def dc_description
-      'DC Description'
+    def description #dc (watch)
+      'Description'
     end
-    def abstract
-      'DC Abstract'
+    def abstract #dc
+      'Abstract'
     end
-    def type
-      'DC Type'
+    def type #dc
+      'Type'
     end
-    def rights
-      'DC Rights'
+    def rights #dc
+      'Rights'
     end
-    def date
-      'DC Date'
+    def date #dc
+      'Date'
     end
-    def date_created
-      'DC Date created'
+    def date_created #dc
+      'Date created'
     end
-    def date_issued
-      'DC Date issued'
+    def date_issued #dc
+      'Date issued'
     end
-    def date_available
-      'DC Date available'
+    def date_available #dc
+      'Date available'
     end
-    def date_modified
-      'DC Date modified'
+    def date_modified #dc
+      'Date modified'
     end
-    def date_valid
-      'DC Date valid'
+    def date_valid #dc
+      'Date valid'
     end
-    def language
-      'DC Language'
+    def language #dc
+      'Language'
     end
     def language_original
       'Original Language'
     end
-    def format
-      'DC Format'
+    def format #dc
+      'Format'
     end
-    def identifier
-      'DC Identifier'
+    def identifier #dc
+      'Identifier'
     end
-    def source
-      'DC Source'
+    def source #dc
+      'Source'
     end
-    def relation
-      'DC Relation'
+    def relation #dc
+      'Relation'
     end
-    def coverage
-      'DC Coverage'
+    def coverage #dc
+      'Coverage'
     end
     def keywords
       'Keywords'
@@ -539,8 +542,8 @@ module SiSU_Translate
     def file_size
       'taille'
     end
-    def dc_title
-      'Titre (DC)'
+    def full_title #dc
+      'Titre'
     end
     def title
       'Titre'
@@ -548,11 +551,14 @@ module SiSU_Translate
     def subtitle
       'Sous titre'
     end
-    def creator
-      'Auteur (DC)'
+    def author
+      'Auteur'
     end
-    def contributor
-      'Contributeur (DC)'
+    def creator #dc
+      'Auteur'
+    end
+    def contributor #dc
+      'Contributeur'
     end
     def translator
       'Traducteur'
@@ -560,8 +566,8 @@ module SiSU_Translate
     def illustrator
       'Illustrateur'
     end
-    def publisher
-      'Éditeur (DC)'
+    def publisher #dc
+      'Éditeur'
     end
     def prepared_by
       'Préparé par'
@@ -569,59 +575,59 @@ module SiSU_Translate
     def digitized_by
       'Numérisé par'
     end
-    def subject
-      'Sujet (DC)'
+    def subject #dc
+      'Sujet'
     end
-    def dc_description
-      'Description (DC)'
+    def description #dc (watch)
+      'Description'
     end
-    def abstract
-      'Résumé (DC)'
+    def abstract #dc
+      'Résumé'
     end
-    def type
-      'Type (DC)'
+    def type #dc
+      'Type'
     end
-    def rights
-      'Droits relatifs à la ressource (DC)'
+    def rights #dc
+      'Droits relatifs à la ressource'
     end
-    def date
-      'Date (DC)'
+    def date #dc
+      'Date'
     end
-    def date_created
-      'Date de création (DC)'
+    def date_created #dc
+      'Date de création'
     end
-    def date_issued
-      'Date de publication (DC)'
+    def date_issued #dc
+      'Date de publication'
     end
-    def date_available
-      'Date de mise à disposition (DC)'
+    def date_available #dc
+      'Date de mise à disposition'
     end
-    def date_modified
-      'Date de modification (DC)'
+    def date_modified #dc
+      'Date de modification'
     end
-    def date_valid
-      'Date de validité (DC)'
+    def date_valid #dc
+      'Date de validité'
     end
-    def language
-      'Langue (DC)'
+    def language #dc
+      'Langue'
     end
     def language_original
       'Langue originale'
     end
-    def format
-      'Format (DC)'
+    def format #dc
+      'Format'
     end
-    def identifier
-      'Identifiant (DC)'
+    def identifier #dc
+      'Identifiant'
     end
-    def source
-      'Source (DC)'
+    def source #dc
+      'Source'
     end
-    def relation
-      'Lien (DC)'
+    def relation #dc
+      'Lien'
     end
-    def coverage
-      'Portée du document (DC)'
+    def coverage #dc
+      'Portée du document'
     end
     def keywords
       'Mots clef'
@@ -747,8 +753,8 @@ module SiSU_Translate
     def file_size
       'Dateigrösse'
     end
-    def dc_title
-      'DC Titel'
+    def full_title #dc
+      'Titel'
     end
     def title
       'Titel'
@@ -759,8 +765,8 @@ module SiSU_Translate
     def creator
       'Autor'
     end
-    def contributor
-      'DC Mitautor'
+    def contributor #dc
+      'Mitautor'
     end
     def translator
       'Übersetzung'
@@ -780,11 +786,11 @@ module SiSU_Translate
     def subject
       'Titel'
     end
-    def dc_description
+    def description #dc (watch)
       'Beschreibung'
     end
-    def abstract
-      'DC Abstract'
+    def abstract #dc
+      'Abstract'
     end
     def type
       'Typ'
@@ -816,20 +822,20 @@ module SiSU_Translate
     def language_original
       'Ursprungssprache'
     end
-    def format
-      'DC Format'
+    def format #dc
+      'Format'
     end
-    def identifier
-      'DC Bezeichnung'
+    def identifier #dc
+      'Bezeichnung'
     end
-    def source
-      'DC Quelle'
+    def source #dc
+      'Quelle'
     end
-    def relation
-      'DC Beziehung'
+    def relation #dc
+      'Beziehung'
     end
-    def coverage
-      'DC Eingrenzung'
+    def coverage #dc
+      'Eingrenzung'
     end
     def keywords
       'Schlüsselwörter'
@@ -955,8 +961,8 @@ module SiSU_Translate
    def file_size
      'tamaño del fichero'
    end
-   def dc_title
-     'Título DC'
+   def full_title #dc
+     'Título'
    end
    def title
      'Título'
@@ -964,11 +970,11 @@ module SiSU_Translate
    def subtitle
      'Subtítulo'
    end
-   def creator
-     'Creador DC'
+   def creator #dc
+     'Creador'
    end
-   def contributor
-     'Contribuidor DC'
+   def contributor #dc
+     'Contribuidor'
    end
    def translator
      'Traductor'
@@ -976,8 +982,8 @@ module SiSU_Translate
    def illustrator
      'Ilustrador'
    end
-   def publisher
-     'Editor DC'
+   def publisher #dc
+     'Editor'
    end
    def prepared_by
      'Preparado por'
@@ -985,59 +991,59 @@ module SiSU_Translate
    def digitized_by
      'Digitalizado por'
    end
-   def subject
-     'Asunto DC'
+   def subject #dc
+     'Asunto'
    end
-   def dc_description
-     'Descripción DC'
+   def description #dc (watch)
+     'Descripción'
    end
-   def abstract
-     'Resumen DC'
+   def abstract #dc
+     'Resumen'
    end
-   def type
-     'Tipo DC'
+   def type #dc
+     'Tipo'
    end
-   def rights
-     'Derechos DC'
+   def rights #dc
+     'Derechos'
    end
-   def date
-     'Fecha DC'
+   def date #dc
+     'Fecha'
    end
-   def date_created
-     'Fecha de creación DC'
+   def date_created #dc
+     'Fecha de creación'
    end
-   def date_issued
-     'Fecha de publicación DC'
+   def date_issued #dc
+     'Fecha de publicación'
    end
-   def date_available
-     'Fecha de disponibilidad DC'
+   def date_available #dc
+     'Fecha de disponibilidad'
    end
-   def date_modified
-     'Fecha de modificación DC'
+   def date_modified #dc
+     'Fecha de modificación'
    end
-   def date_valid
-     'Fecha de valided DC'
+   def date_valid #dc
+     'Fecha de valided'
    end
-   def language
-     'Idioma DC'
+   def language #dc
+     'Idioma'
    end
    def language_original
      'Lenguaje original'
    end
-   def format
-     'Formato DC'
+   def format #dc
+     'Formato'
    end
-   def identifier
-     'Identificador DC'
+   def identifier #dc
+     'Identificador'
    end
-   def source
-     'Fuente DC'
+   def source #dc
+     'Fuente'
    end
-   def relation
-     'Relación DC'
+   def relation #dc
+     'Relación'
    end
-   def coverage
-     'Cobertura DC'
+   def coverage #dc
+     'Cobertura'
    end
    def keywords
      'Palabras claves'
@@ -1163,8 +1169,8 @@ module SiSU_Translate
     def file_size
       'dimensione'
     end
-    def dc_title
-      'Titolo (DC)'
+    def full_title #dc
+      'Titolo'
     end
     def title
       'Titolo'
@@ -1172,11 +1178,11 @@ module SiSU_Translate
     def subtitle
       'Sottotitolo'
     end
-    def creator
-      'Autore (DC)'
+    def creator #dc
+      'Autore'
     end
-    def contributor
-      'Contributore (DC)'
+    def contributor #dc
+      'Contributore'
     end
     def translator
       'Traduttore'
@@ -1184,8 +1190,8 @@ module SiSU_Translate
     def illustrator
       'Illustratore'
     end
-    def publisher
-      'Casa editrice (DC)'
+    def publisher #dc
+      'Casa editrice'
     end
     def prepared_by
       'Preparato da'
@@ -1193,59 +1199,59 @@ module SiSU_Translate
     def digitized_by
       'Convertito in digitale da'
     end
-    def subject
-      'Oggetto (DC)'
+    def subject #dc
+      'Oggetto'
     end
-    def dc_description
-      'Descrizione (DC)'
+    def description #dc (watch)
+      'Descrizione'
     end
-    def abstract
-      'Abstract (DC)'
+    def abstract #dc
+      'Abstract'
     end
-    def type
-      'Tipo (DC)'
+    def type #dc
+      'Tipo'
     end
-    def rights
-      'Diritti del lettore (DC)'
+    def rights #dc
+      'Diritti del lettore'
     end
-    def date
-      'Data (DC)'
+    def date #dc
+      'Data'
     end
-    def date_created
-      'Data di creazione (DC)'
+    def date_created #dc
+      'Data di creazione'
     end
-    def date_issued
-      'Data di pubblicazione (DC)'
+    def date_issued #dc
+      'Data di pubblicazione'
     end
-    def date_available
-      'Data di effettiva disponibilità (DC)'
+    def date_available #dc
+      'Data di effettiva disponibilità'
     end
-    def date_modified
-      'Data di ultima modifica (DC)'
+    def date_modified #dc
+      'Data di ultima modifica'
     end
-    def date_valid
-      'Data di inizo validità (DC)'
+    def date_valid #dc
+      'Data di inizo validità'
     end
-    def language
-      'Lingua (DC)'
+    def language #dc
+      'Lingua'
     end
     def language_original
       'Lingua originale'
     end
-    def format
-      'Formato (DC)'
+    def format #dc
+      'Formato'
     end
-    def identifier
-      'Indentificatore (DC)'
+    def identifier #dc
+      'Indentificatore'
     end
-    def source
-      'Fonte (DC)'
+    def source #dc
+      'Fonte'
     end
-    def relation
-      'Collegamento (DC)'
+    def relation #dc
+      'Collegamento'
     end
-    def coverage
-      'Ambito (DC)'
+    def coverage #dc
+      'Ambito'
     end
     def keywords
       'Parole chiave'
@@ -1371,8 +1377,8 @@ module SiSU_Translate
     def file_size
       'tiedoston koko'
     end
-    def dc_title
-      'DC-otsikko'
+    def full_title #dc
+      'otsikko'
     end
     def title
       'Otsikko'
@@ -1380,11 +1386,11 @@ module SiSU_Translate
     def subtitle
       'Alaotsikko'
     end
-    def creator
-      'DC-tekijä'
+    def creator #dc
+      'tekijä'
     end
-    def contributor
-      'DC-osallistuja'
+    def contributor #dc
+      'osallistuja'
     end
     def translator
       'Kääntäjä'
@@ -1392,8 +1398,8 @@ module SiSU_Translate
     def illustrator
       'Kuvittaja'
     end
-    def publisher
-      'DC-julkaisija'
+    def publisher #dc
+      'julkaisija'
     end
     def prepared_by
       'Valmistaja'
@@ -1401,59 +1407,59 @@ module SiSU_Translate
     def digitized_by
       'Digitalisoinut'
     end
-    def subject
-      'DC-aihe'
+    def subject #dc
+      'aihe'
     end
-    def dc_description
-      'DC-kuvaus'
+    def description #dc (watch)
+      'kuvaus'
     end
-    def abstract
-      'DC-tiivistelmä'
+    def abstract #dc
+      'tiivistelmä'
     end
-    def type
-      'DC-tyyppi'
+    def type #dc
+      'tyyppi'
     end
-    def rights
-      'DC-oikeudet'
+    def rights #dc
+      'oikeudet'
     end
-    def date
-      'DC-päiväys'
+    def date #dc
+      'päiväys'
     end
-    def date_created
-      'DC-luontipäivä'
+    def date_created #dc
+      'luontipäivä'
     end
-    def date_issued
-      'DC-julkaisupäivä'
+    def date_issued #dc
+      'julkaisupäivä'
     end
-    def date_available
-      'DC-saantipäivä'
+    def date_available #dc
+      'saantipäivä'
     end
-    def date_modified
-      'DC-muokkauspäivä'
+    def date_modified #dc
+      'muokkauspäivä'
     end
-    def date_valid
-      'DC-kelpoisuuspäivä'
+    def date_valid #dc
+      'kelpoisuuspäivä'
     end
-    def language
-      'DC-kieli'
+    def language #dc
+      'kieli'
     end
     def language_original
       'Alkuperäiskieli'
     end
-    def format
-      'DC-muoto'
+    def format #dc
+      'muoto'
     end
-    def identifier
-      'DC-tunnus'
+    def identifier #dc
+      'tunnus'
     end
-    def source
-      'DC-lähde'
+    def source #dc
+      'lähde'
     end
-    def relation
-      'DC-suhde'
+    def relation #dc
+      'suhde'
     end
-    def coverage
-      'DC-kattavuus'
+    def coverage #dc
+      'kattavuus'
     end
     def keywords
       'Avainsanat'
diff --git a/lib/sisu/v0/manifest.rb b/lib/sisu/v0/manifest.rb
index 793ecdc2..3fa189fd 100644
--- a/lib/sisu/v0/manifest.rb
+++ b/lib/sisu/v0/manifest.rb
@@ -319,8 +319,8 @@ module SiSU_Manifest
         end
       end
       def metadata_tests
-        if @md.dc_title
-          id,info=@translate.dc_title,@md.dc_title
+        if @md.full_title #dc
+          id,info=@translate.full_title,@md.full_title
           metadata(id,info)
         end
         if @md.title
@@ -331,12 +331,12 @@ module SiSU_Manifest
           id,info=@translate.subtitle,@md.subtitle
           metadata(id,info)
         end
-        if @md.dc_creator
-          id,info=@translate.creator,@md.dc_creator
+        if @md.author #dc
+          id,info=@translate.author,@md.author
           metadata(id,info)
         end
-        if @md.dc_contributor
-          id,info=@translate.contributor,@md.dc_contributor
+        if @md.contributor #dc
+          id,info=@translate.contributor,@md.contributor
           metadata(id,info)
         end
         if @md.translator
@@ -347,8 +347,8 @@ module SiSU_Manifest
           id,info=@translate.illustrator,@md.illustrator
           metadata(id,info)
         end
-        if @md.dc_publisher
-          id,info=@translate.publisher,@md.dc_publisher
+        if @md.publisher #dc
+          id,info=@translate.publisher,@md.publisher
           metadata(id,info)
         end
         if @md.prepared_by
@@ -359,53 +359,53 @@ module SiSU_Manifest
           id,info=@translate.digitized_by,@md.digitized_by
           metadata(id,info)
         end
-        if @md.dc_subject
-          id,info=@translate.subject,@md.dc_subject
+        if @md.subject #dc
+          id,info=@translate.subject,@md.subject
           metadata(id,info)
         end
-        if @md.dc_description
-          id,info=@translate.dc_description,@md.dc_description
+        if @md.description #dc
+          id,info=@translate.description,@md.description
           metadata(id,info)
         end
         if @md.abstract
           id,info=@translate.abstract,@md.abstract
           metadata(id,info)
         end
-        if @md.dc_type
-          id,info=@translate.type,@md.dc_type
+        if @md.type #dc
+          id,info=@translate.type,@md.type
           metadata(id,info)
         end
-        if @md.dc_rights
-          id,info=@translate.rights,@md.dc_rights
+        if @md.rights #dc
+          id,info=@translate.rights,@md.rights
           metadata(id,info)
         end
-        if @md.dc_date
-          id,info=@translate.date,@md.dc_date
+        if @md.date #dc
+          id,info=@translate.date,@md.date
           metadata(id,info)
         end
-        if @md.dc_date_created
-          id,info=@translate.date_created,@md.dc_date_created
+        if @md.date_created #dc
+          id,info=@translate.date_created,@md.date_created
           metadata(id,info)
         end
-        if @md.dc_date_issued
-          id,info=@translate.date_issued,@md.dc_date_issued
+        if @md.date_issued #dc
+          id,info=@translate.date_issued,@md.date_issued
           metadata(id,info)
         end
-        if @md.dc_date_available
-          id,info=@translate.date_available,@md.dc_date_available
+        if @md.date_available #dc
+          id,info=@translate.date_available,@md.date_available
           metadata(id,info)
         end
-        if @md.dc_date_modified
-          id,info=@translate.date_modified,@md.dc_date_modified
+        if @md.date_modified #dc
+          id,info=@translate.date_modified,@md.date_modified
           metadata(id,info)
         end
-        if @md.dc_date_valid
-          id,info=@translate.date_valid,@md.dc_date_valid
+        if @md.date_valid #dc
+          id,info=@translate.date_valid,@md.date_valid
           metadata(id,info)
         end
-        if @md.dc_language \
-        and @md.dc_language[:name]
-          id,info=@translate.language,@md.dc_language[:name]
+        if @md.language \
+        and @md.language[:name] #dc
+          id,info=@translate.language,@md.language[:name]
           metadata(id,info)
         end
         if @md.language_original \
@@ -413,24 +413,24 @@ module SiSU_Manifest
           id,info=@translate.language_original,@md.language_original[:name]
           metadata(id,info)
         end
-        if @md.dc_format
-          id,info=@transate.format,@md.dc_format
+        if @md.format #dc
+          id,info=@transate.format,@md.format
           metadata(id,info)
         end
-        if @md.dc_identifier
-          id,info=@translate.identifier,@md.dc_identifier
+        if @md.identifier #dc
+          id,info=@translate.identifier,@md.identifier
           metadata(id,info)
         end
-        if @md.dc_source
-          id,info=@translate.source,@md.dc_source
+        if @md.source #dc
+          id,info=@translate.source,@md.source
           metadata(id,info)
         end
-        if @md.dc_relation
-          id,info=@translate.relation,@md.dc_relation
+        if @md.relation #dc
+          id,info=@translate.relation,@md.relation
           metadata(id,info)
         end
-        if @md.dc_coverage
-          id,info=@translate.coverage,@md.dc_coverage
+        if @md.coverage #dc
+          id,info=@translate.coverage,@md.coverage
           metadata(id,info)
         end
         if @md.keywords
@@ -558,7 +558,7 @@ WOK
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>
-SiSU manifest: #{@md.title}
+SiSU manifest: #{@md.full_title}
 </title>
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="sourcefile" content="#{@md.fns}" />
@@ -573,8 +573,8 @@ SiSU manifest: #{@md.title}
 </div>
 <div class="content">
 <h1 class="small">#{@translate.manifest_description}</h1>
-<h2 class="small">#{@md.dc_title}</h2>
-<p class="bold">#{@md.dc_creator}</p>
+<h2 class="small">#{@md.full_title}</h2>
+<p class="bold">#{@md.author}</p>
 <p class="small">
 &nbsp;&nbsp;<a href="#output">Document, Available Filetypes</a>
 </p>
diff --git a/lib/sisu/v0/manpage.rb b/lib/sisu/v0/manpage.rb
index d4b315f4..d369cc8c 100644
--- a/lib/sisu/v0/manpage.rb
+++ b/lib/sisu/v0/manpage.rb
@@ -418,7 +418,7 @@ WOK
       def publish(manpage)
         divider='='
         content=[]
-        date=if @md.dc_date; @md.dc_date
+        date=if @md.date; @md.date
         else '2007' #date missing decide on action
         end
         proj=SiSU_Env::Info_version.new.get_version
diff --git a/lib/sisu/v0/param.rb b/lib/sisu/v0/param.rb
index ec80e0dd..bcf6f97b 100644
--- a/lib/sisu/v0/param.rb
+++ b/lib/sisu/v0/param.rb
@@ -118,9 +118,9 @@ module SiSU_Param
       @doc={ :lv=>[] }
       @doc[:fns],@doc[:fnb],@doc[:scr_suffix]='','',''
       @@publisher='SiSU scribe'
-      attr_accessor :cmd,:mod,:env,:fn,:fns,:fnb,:fnn,:fnt,:fnl,:flv,:fnz,:fnstex,:ocn,:sfx_src,:sfx,:pdf,:file_type,:dir_out,:dir_tex,:dir_lout,:txt_path,:site_skin,:sisu,:sisu_version,:ruby_version,:title,:dc_title,:html_title,:subtitle,:subtitle_tex,:creator_home,:dc_creator,:author_title,:author_nationality,:authors,:authorship,:translator,:illustrator,:prepared_by,:digitized_by,:dc_subject,:dc_description,:dc_publisher,:dc_contributor,:dc_date,:dc_date_created,:dc_date_issued,:dc_date_available,:dc_date_valid,:dc_date_modified,:date_translated,:date_added_to_site,:date_scheme,:date_created_scheme,:date_issued_scheme,:date_available_scheme,:date_valid_scheme,:date_modified_scheme,:dc_type,:dc_format,:dc_identifier,:dc_source,:dc_language,:language_original,:dc_relation,:dc_coverage,:dc_rights,:keywords,:comments,:abstract,:cls_loc,:cls_dewey,:cls_pg,:cls_isbn,:papersize,:papersize_array,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:pagenew,:pagebreak,:num_top,:toc_lev_limit,:flag_endnotes,:flag_auto_endnotes,:flag_separate_endnotes,:flag_separate_endnotes_make,:flag_auto_heading_num,:markup,:markup_instruction,:markup_version,:markup_declared,:make_bold,:make_italic,:flag_tables,:vocabulary,:doc_skin,:doc_css,:yaml,:lnk,:prefix_a,:prefix_b,:suffix,:information,:contact,:icon,:image,:ad_url,:ad_png,:ad_alt,:ad_began,:flag_promo,:promo,:ad_home,:stmp,:stmpd,:sc_filename,:sc_number,:sc_date,:sc_time,:sc_info,:yamladdr,:locale,:wc_lines,:wc_words,:wc_bytes,:file_encoding,:file_size,:user,:home,:hostname,:pwd,:firstseg,:programs,:creator_copymark,:lang,:en,:dgst,:dgst_skin,:generated,:tags,:tag_array,:concord_make,:seg_names,:seg_autoname_safe,:set_header_title,:set_heading_top,:set_heading_seg,:heading_seg_first,:heading_seg_first_flag,:base_program,:man_section,:man_name,:man_synopsis,:ec,:opt,:sem_tag,:book_idx,:topic_register,:topic_register_array,:original_publication,:original_publication_date,:original_publication_nationality,:original_publication_institution,:writing_focus
+      attr_accessor :cmd,:mod,:env,:fn,:fns,:fnb,:fnn,:fnt,:fnl,:flv,:fnz,:fnstex,:ocn,:sfx_src,:sfx,:pdf,:file_type,:dir_out,:dir_tex,:dir_lout,:txt_path,:site_skin,:sisu,:sisu_version,:ruby_version,:title,:subtitle,:full_title,:html_title,:subtitle_tex,:author_home,:author,:author_title,:author_nationality,:authors,:authorship,:translator,:illustrator,:prepared_by,:digitized_by,:subject,:description,:publisher,:contributor,:date,:date_created,:date_issued,:date_available,:date_valid,:date_modified,:date_translated,:date_added_to_site,:date_scheme,:date_created_scheme,:date_issued_scheme,:date_available_scheme,:date_valid_scheme,:date_modified_scheme,:type,:format,:identifier,:source,:language,:language_original,:relation,:coverage,:rights,:keywords,:comments,:abstract,:cls_loc,:cls_dewey,:cls_pg,:cls_isbn,:papersize,:papersize_array,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:pagenew,:pagebreak,:num_top,:toc_lev_limit,:flag_endnotes,:flag_auto_endnotes,:flag_separate_endnotes,:flag_separate_endnotes_make,:flag_auto_heading_num,:markup,:markup_instruction,:markup_version,:markup_declared,:make_bold,:make_italic,:flag_tables,:vocabulary,:doc_skin,:doc_css,:yaml,:lnk,:prefix_a,:prefix_b,:suffix,:information,:contact,:icon,:image,:ad_url,:ad_png,:ad_alt,:ad_began,:flag_promo,:promo,:ad_home,:stmp,:stmpd,:sc_filename,:sc_number,:sc_date,:sc_time,:sc_info,:yamladdr,:locale,:wc_lines,:wc_words,:wc_bytes,:file_encoding,:file_size,:user,:home,:hostname,:pwd,:firstseg,:programs,:author_copymark,:lang,:en,:dgst,:dgst_skin,:generated,:tags,:tag_array,:concord_make,:seg_names,:seg_autoname_safe,:set_header_title,:set_heading_top,:set_heading_seg,:heading_seg_first,:heading_seg_first_flag,:base_program,:man_section,:man_name,:man_synopsis,:ec,:opt,:sem_tag,:book_idx,:topic_register,:topic_register_array,:original_publication,:original_publication_date,:original_publication_nationality,:original_publication_institution,:writing_focus
       def initialize(fns_array,opt)
-        @env=@fn=@fns=@fnb=@fnn=@fnt=@fnl=@flv=@fnz=@fnstex=@ocn=@sfx_src=@sfx=@pdf=@file_type=@dir_out=@dir_tex=@dir_lout=@txt_path=@flag_endnotes=@flag_auto_endnotes=@flag_separate_endnotes=@flag_separate_endnotes_make=@site_skin=@sisu=@sisu_version=@ruby_version=@title=@dc_title=@html_title=@subtitle=@subtitle_tex=@creator_home=@dc_creator=@author_title=@author_nationality=@translator=@illustrator=@prepared_by=@digitized_by=@dc_subject=@dc_description=@dc_publisher=@dc_contributor=@dc_date=@dc_date_created=@dc_date_issued=@dc_date_available=@dc_date_valid=@dc_date_modified=@date_translated=@date_added_to_site=@date_scheme=@date_created_scheme=@date_issued_scheme=@date_available_scheme=@date_valid_scheme=@date_modified_scheme=@dc_type=@dc_format=@dc_identifier=@dc_source=@dc_language=@language_original=@dc_relation=@dc_coverage=@dc_rights=@keywords=@comments=@abstract=@cls_loc=@cls_dewey=@cls_pg=@cls_isbn=@papersize=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@pagenew=@pagebreak=@num_top=@toc_lev_limit=@flag_auto_heading_num=@make_bold=@make_italic=@flag_tables=@vocabulary=@doc_skin=@doc_css=@yaml=@lnk=@prefix_a=@prefix_b=@suffix=@information=@contact=@icon=@ad_url=@ad_png=@ad_alt=@ad_began=@promo=@ad_home=@stmp=@stmpd=@sc_filename=@sc_number=@sc_date=@sc_time=@sc_info=@yamladdr=@locale=@wc_lines=@wc_words=@wc_bytes=@file_encoding=@file_size=@firstseg=@programs=@creator_copymark=@lang=@en=@dgst=@dgst_skin=@generated=@heading_seg_first=@base_program=@man_synopsis=@topic_register=@original_publication_details=@original_publication=@original_publication_date=@original_publication_nationality=@original_publication_institution=@writing_focus=nil
+        @env=@fn=@fns=@fnb=@fnn=@fnt=@fnl=@flv=@fnz=@fnstex=@ocn=@sfx_src=@sfx=@pdf=@file_type=@dir_out=@dir_tex=@dir_lout=@txt_path=@flag_endnotes=@flag_auto_endnotes=@flag_separate_endnotes=@flag_separate_endnotes_make=@site_skin=@sisu=@sisu_version=@ruby_version=@title=@subtitle=@full_title=@html_title=@subtitle_tex=@author_home=@author=@author_title=@author_nationality=@translator=@illustrator=@prepared_by=@digitized_by=@subject=@description=@publisher=@contributor=@date=@date_created=@date_issued=@date_available=@date_valid=@date_modified=@date_translated=@date_added_to_site=@date_scheme=@date_created_scheme=@date_issued_scheme=@date_available_scheme=@date_valid_scheme=@date_modified_scheme=@type=@format=@identifier=@source=@language=@language_original=@relation=@coverage=@rights=@keywords=@comments=@abstract=@cls_loc=@cls_dewey=@cls_pg=@cls_isbn=@papersize=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@pagenew=@pagebreak=@num_top=@toc_lev_limit=@flag_auto_heading_num=@make_bold=@make_italic=@flag_tables=@vocabulary=@doc_skin=@doc_css=@yaml=@lnk=@prefix_a=@prefix_b=@suffix=@information=@contact=@icon=@ad_url=@ad_png=@ad_alt=@ad_began=@promo=@ad_home=@stmp=@stmpd=@sc_filename=@sc_number=@sc_date=@sc_time=@sc_info=@yamladdr=@locale=@wc_lines=@wc_words=@wc_bytes=@file_encoding=@file_size=@firstseg=@programs=@author_copymark=@lang=@en=@dgst=@dgst_skin=@generated=@heading_seg_first=@base_program=@man_synopsis=@topic_register=@original_publication_details=@original_publication=@original_publication_date=@original_publication_nationality=@original_publication_institution=@writing_focus=nil
         @man_section=1
         @man_name='man page "name/whatis" information not provided, set in header @man: name=[whatis information]'
         @data,@fns,@cmd,@mod,@opt=fns_array,opt.fns,opt.cmd,opt.mod,opt #@data used as data
@@ -189,7 +189,7 @@ module SiSU_Param
       end
       def extract
         @user,@home,@hostname,@pwd=ENV['USER'],ENV['HOME'],ENV['HOSTNAME'],ENV['PWD']
-        @programs,@wc,@dc_language,@language_original={},{},{},{}
+        @programs,@wc,@language,@language_original={},{},{},{}
         @en={ :sum=>0,:mark=>0,:note=>0,:mismatch=>0 }
         @prog=SiSU_Env::Info_settings.new
         @sys=SiSU_Env::System_call.new
@@ -309,7 +309,7 @@ module SiSU_Param
             when /^(?:@ocn:|0~ocn)\s+(.+?)$/m; @ocn=$1                                              #% processing
             when /^(?:@title:|0~title)\s+(.+?)$/m                                                   #% metainfo DC
               @title=$1.strip
-              @dc_title=@title.dup
+              @full_title=@title.dup
               @html_title=@title.gsub(/(<p>|<p \/>|<br>|<br \/>)/,'')
               @set_header_title=true
               @title.chomp!(' ')
@@ -318,11 +318,11 @@ module SiSU_Param
               tell.txt_grey unless @cmd =~/q/
             when /^(?:@subtitle:|0~subtitle)\s+(.+?)$/m                                             #% metainfo
               @subtitle=$1.strip
-              @dc_title="#{@title} - #{@subtitle}"
+              @full_title="#{@title} - #{@subtitle}"
               @subtitle_tex=@subtitle
             when /^(?:@(?:creator|author)-?:|0~(?:creator|author)-?)\s+(.+?)$/                      #% metainfo DC
               names=name_format($1)
-              @authorship=@dc_creator=names[:name_str]
+              @authorship=@author=names[:name_str]
               @authors=names[:name_a_h]
             when /^@(?:creator|author)\.title:\s+(.+?)$/; @author_title=$1                          # Prof. Dr. etc.
             when /^@(?:creator|author)\.nationality:\s+(.+?)$/; @author_nationality=$1
@@ -338,12 +338,12 @@ module SiSU_Param
             when /^(?:@digitized_by:|0~digitized_by)\s+(.+?)$/m                                     #% metainfo DC
               names=name_format($1)
               @digitized_by=names[:name_str]
-            when /^(?:@subject:|0~subject)\s+(.+?)$/m; @dc_subject=$1                                               #% metainfo DC
-            when /^(?:@description:|0~description)\s+(.+?)$/m; @dc_description=$1                   #% metainfo DC & rss feed
+            when /^(?:@subject:|0~subject)\s+(.+?)$/m; @subject=$1                                               #% metainfo DC
+            when /^(?:@description:|0~description)\s+(.+?)$/m; @description=$1                   #% metainfo DC & rss feed
             when /^(?:@contributor:|0~contributor)\s+(.+?)$/m                                       #% metainfo DC
               names=name_format($1)
-              @dc_contributor=names[:name_str]
-            when /^(?:@publisher:|0~publisher)\s+(.+?)$/m; @dc_publisher=$1                         #% metainfo DC
+              @contributor=names[:name_str]
+            when /^(?:@publisher:|0~publisher)\s+(.+?)$/m; @publisher=$1                         #% metainfo DC
             when /^@original_publication:\s+(.+?)$/m; @original_publication=$1
             when /^@original_publication\.date:\s+(.+?)$/; @original_publication_date=$1
             when /^@original_publication\.nationality:\s+(.+?)$/; @original_publication_nationality=$1
@@ -351,13 +351,13 @@ module SiSU_Param
             when /^@writing_focus\.nationality:\s+(.+?)$/; @writing_focus=$1                       # e.g. Finland (where and article on Finnish law)
             when /^(?:@|0~)date.+?$/m                                                               #% metainfo DC
               if para =~/(?:@date:|0~date)\s+(.+?)$/m
-                @dc_date=$1.strip                                                                   #% original publication date unless the substantive text is updated/modified, then date of update
-                if @dc_date !~regx_date \
-                and not @dc_date.empty?
-                  tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',@dc_date)
+                @date=$1.strip                                                                   #% original publication date unless the substantive text is updated/modified, then date of update
+                if @date !~regx_date \
+                and not @date.empty?
+                  tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',@date)
                   tell.instruct if @cmd =~/v/
                 end
-                @date_scheme='scheme="ISO-8601"' if @dc_date =~/\d{4}-\d{2}-\d{2}/
+                @date_scheme='scheme="ISO-8601"' if @date =~/\d{4}-\d{2}-\d{2}/
               end
               if para =~/(?:@date\.added_to_site:|0~date\.added_to_site)\s+(.+?)$/m
                 @date_added_to_site=$1.strip
@@ -375,7 +375,7 @@ module SiSU_Param
                   tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',date)
                   tell.instruct if @cmd =~/v/
                 end
-                @dc_date_created=date
+                @date_created=date
                 @date_created_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
               if para =~/(?:@date\.issued:|0~date\.issued)\s*(.+?)$/m
@@ -385,7 +385,7 @@ module SiSU_Param
                   tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',date)
                   tell.instruct if @cmd =~/v/
                 end
-                @dc_date_issued=date
+                @date_issued=date
                 @date_issued_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
               if para =~/(?:@date\.available:|0~date\.available)\s*(.+?)$/m
@@ -395,7 +395,7 @@ module SiSU_Param
                   tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',date)
                   tell.instruct if @cmd =~/v/
                 end
-                @dc_date_available=date
+                @date_available=date
                 @date_available_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
               if para =~/^(?:@date\.valid:|0~date\.valid)\s*(.+?)$/m
@@ -405,7 +405,7 @@ module SiSU_Param
                   tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',date)
                   tell.instruct if @cmd =~/v/
                 end
-                @dc_date_valid=date
+                @date_valid=date
                 @date_valid_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
               if para =~/^(?:@date\.modified:|0~date\.modified)\s*(.+?)$/m                                                               #% of interest rss feed & sitemap
@@ -415,7 +415,7 @@ module SiSU_Param
                   tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',date)
                   tell.instruct if @cmd =~/v/
                 end
-                @dc_date_modified=date
+                @date_modified=date
                 @date_modified_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
               if para =~/^(?:@date\.translated:|0~date\.translated)\s*(.+?)$/m
@@ -428,22 +428,22 @@ module SiSU_Param
                 @date_translated=date
                 @date_translated_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
-            when /^(?:@type:|0~type)\s+(.+?)$/m;             @dc_type=$1                                                 #% metainfo DC
-            when /^(?:@format:|0~format)\s+(.+?)$/m;         @dc_format=$1                                               #% metainfo DC
-            #when /^(?:@identifier:|0~identifier)\s+(.+?)$/m; @dc_identifier=$1                                           #% metainfo DC
-            when /^(?:@source:|0~source)\s+(.+?)$/m;         @dc_source=$1                                               #% metainfo DC
+            when /^(?:@type:|0~type)\s+(.+?)$/m;             @type=$1                                                 #% metainfo DC
+            when /^(?:@format:|0~format)\s+(.+?)$/m;         @format=$1                                               #% metainfo DC
+            #when /^(?:@identifier:|0~identifier)\s+(.+?)$/m; @identifier=$1                                           #% metainfo DC
+            when /^(?:@source:|0~source)\s+(.+?)$/m;         @source=$1                                               #% metainfo DC
             when /^(?:@language(?:\.document)?:|0~language(?:\.document)?)\s+(.+?)$/m                                    #% metainfo DC
               x=$1.strip
               lang=SiSU_Env::Standardise_language.new(x.dup)
-              @dc_language[:code]=lang.code
-              @dc_language[:name]=lang.title
+              @language[:code]=lang.code
+              @language[:name]=lang.title
             when /^(?:@language\.original:|0~language\.original)\s+(.+?)$/m                                              #% metainfo DC
               x=$1.strip
               lang=SiSU_Env::Standardise_language.new(x.dup)
               @language_original[:name]=lang.title
-            when /^(?:@relation:|0~relation)\s+(.+?)$/m;     @dc_relation=$1                                             #% metainfo DC
-            when /^(?:@coverage:|0~coverage)\s+(.+?)$/m;     @dc_coverage=$1                                             #% metainfo DC
-            when /^(?:@rights:|0~rights)\s+(.+?)$/m;         @dc_rights=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line]) #% metainfo DC copyright, public domain, copyleft, creative commons, etc.
+            when /^(?:@relation:|0~relation)\s+(.+?)$/m;     @relation=$1                                             #% metainfo DC
+            when /^(?:@coverage:|0~coverage)\s+(.+?)$/m;     @coverage=$1                                             #% metainfo DC
+            when /^(?:@rights:|0~rights)\s+(.+?)$/m;         @rights=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line]) #% metainfo DC copyright, public domain, copyleft, creative commons, etc.
             when /^(?:@papersize:|0~papersize)\s+(.+?)$/m                                                                #% metainfo DC
               l=$1
               if @mod.inspect !~/--papersize[=-]\S+/
@@ -736,11 +736,11 @@ module SiSU_Param
           @man_synopsis.gsub!(/\n/,"\n.BR\n")
           @man_synopsis.gsub!(/\A/,"\n.SH SYNOPSIS\n")
         end
-        unless @dc_rights
-          if @dc_creator
-            @dc_rights ||=if @dc_date =~/([12][890]\d{2})/                     #matches years 1800 through 20\d\d 2004w19
-              "Copyright (C) #{$1} #@dc_creator"
-            else 'Copyright (C)' + @dc_creator
+        unless @rights
+          if @author
+            @rights ||=if @date =~/([12][890]\d{2})/                     #matches years 1800 through 20\d\d 2004w19
+              "Copyright (C) #{$1} #@author"
+            else 'Copyright (C)' + @author
             end
           end
         end
@@ -793,17 +793,17 @@ module SiSU_Param
             end
           end
         end
-        @dc_publisher ||= "#@@publisher (this copy)"
+        @publisher ||= "#@@publisher (this copy)"
         fn_set_lang=SiSU_Env::Standardise_language.new.file_to_language(@fns)
-        unless @dc_language[:code] \
-        and @dc_language[:name]
+        unless @language[:code] \
+        and @language[:name]
           lang=@env.i18n.language #default language settings for directory by name, or in sysrc.yml
-          @dc_language[:code] ||= lang.code
-          @dc_language[:name] ||= lang.title
+          @language[:code] ||= lang.code
+          @language[:name] ||= lang.title
         end
         unless fn_set_lang[:d]==true #decide, naming convention overrides other settings, within document, etc.
-          @dc_language[:code]=fn_set_lang[:c]
-          @dc_language[:name]=fn_set_lang[:l]
+          @language[:code]=fn_set_lang[:c]
+          @language[:name]=fn_set_lang[:l]
         end
         @fnl=@env.i18n.lang_filename(fn_set_lang[:c])
         @flv.each do |l|
@@ -817,7 +817,7 @@ module SiSU_Param
         end if @flv
         @lang.uniq!
         @fn=SiSU_Env::Env_call.new(@fns).lang(fn_set_lang[:c])
-        @dc_identifier="#{@env.url.root}/#@fnb/#{@fn[:toc]}" #DC note constructed dc identifier
+        @identifier="#{@env.url.root}/#@fnb/#{@fn[:toc]}" #DC note constructed dc identifier
         if @en[:note] > 0 \
         and @en[:sum] > 0
           if @en[:sum] > 0
@@ -836,8 +836,8 @@ module SiSU_Param
           tell=SiSU_Screen::Ansi.new(@cmd,'Document Title Missing','please provide it')
           tell.warn if @cmd =~/v/
         end
-        if @dc_creator !~/[\S]/
-          tell=SiSU_Screen::Ansi.new(@cmd,'Document Creator/Author Missing','please provide it')
+        if @author !~/[\S]/
+          tell=SiSU_Screen::Ansi.new(@cmd,'Document Author/Creator Missing','please provide it')
           tell.warn if @cmd =~/v/
         end
         # Elementary Document Structure Analysis - adds complexity may remove - need to develop - appears to work, proof of concept
diff --git a/lib/sisu/v0/shared_txt.rb b/lib/sisu/v0/shared_txt.rb
index 91389538..3dfadeb3 100644
--- a/lib/sisu/v0/shared_txt.rb
+++ b/lib/sisu/v0/shared_txt.rb
@@ -156,7 +156,7 @@ module SiSU_text_utils
     end
     def start_is_match
       meta=case @p
-      when /^#{Mx[:meta_o]}(title)#{Mx[:meta_c]}\s*(.+?)$/;               header($1,@md.dc_title,'meta','dc') #dc 1
+      when /^#{Mx[:meta_o]}(title)#{Mx[:meta_c]}\s*(.+?)$/;               header($1,@md.full_title,'meta','dc') #dc 1
       #when /^@(subtitle):\s+(.+?)$/;            header($1,$2,'meta','extra')
       when /^#{Mx[:meta_o]}(creator|author)#{Mx[:meta_c]}\s*(.+?)$/;      header('creator',$2,'meta','dc')    #dc 2
       when /^#{Mx[:meta_o]}(subject)#{Mx[:meta_c]}\s*(.+?)$/;             header($1,$2,'meta','dc')           #dc 3
diff --git a/lib/sisu/v0/shared_xml.rb b/lib/sisu/v0/shared_xml.rb
index aad7c17e..ffd4bc15 100644
--- a/lib/sisu/v0/shared_xml.rb
+++ b/lib/sisu/v0/shared_xml.rb
@@ -541,109 +541,109 @@ module SiSU_XML_tags #Format
   include SiSU_Viz
   class RDF
     def initialize(md='',seg_name=[],tracker=0)
-      @dc_title=@dc_subtitle=@dc_creator=@dc_subject=@dc_description=@dc_publisher=@dc_contributor=@dc_date=@dc_date_created=@dc_date_issued=@dc_date_available=@dc_date_valid=@dc_date_modified=@dc_type=@dc_format=@dc_identifier=@dc_source=@dc_language=@dc_relation=@dc_coverage=@dc_rights=@copyright=@owner=@keywords=''
+      @full_title=@subtitle=@author=@subject=@description=@publisher=@contributor=@date=@date_created=@date_issued=@date_available=@date_valid=@date_modified=@type=@format=@identifier=@source=@language=@relation=@coverage=@rights=@copyright=@owner=@keywords=''
       #seg_name=%{#{@@seg_name[@@tracker]} - } if @@seg_name[@@tracker]
       @md=md
       @sfx,@pdf=@md.sfx,@md.pdf
       @rdfurl=%{  rdf:about="http://www.jus.uio.no/lm/toc"\n}
-      if @md.dc_title                                                            # DublinCore 1 - title
-        @rdf_title=%{    dc.title="#{seg_name}#{@md.dc_title}"\n}
-        @dc_title=%{  <meta name="dc.title" content="#{@md.dc_title}" />\n}
-        #@dc_title=%{  <meta name="dc.title" content="#{seg_name}#{@md.dc_title}" />\n}
-      end
-      if @md.dc_creator                                                          # DublinCore 2 - creator/author (author)
-        @rdf_creator=%{    dc.creator="#{@md.dc_creator}"\n}
-        content=meta_content_clean(@md.dc_creator)
-        @dc_creator=%{  <meta name="dc.creator" content="#{content}" />\n}
-      end
-      if @md.dc_subject                                                          # DublinCore 3 - subject (us library of congress, eric or udc, or schema???)
-        @rdf_subject=%{    dc.subject="#{@md.dc_subject}"\n}
-        content=meta_content_clean(@md.dc_subject)
-        @dc_subject=%{  <meta name="dc.subject" content="#{content}" />\n}
-      end
-      if @md.dc_description                                                      # DublinCore 4 - description
-        @rdf_description=%{    dc.description="#{@md.dc_description}"\n}
-        content=meta_content_clean(@md.dc_description)
-        @dc_description=%{  <meta name="dc.description" content="#{content}" />\n}
-      end
-      if @md.dc_publisher                                                        # DublinCore 5 - publisher (current copy published by)
-        @rdf_publisher=%{    dc.publisher="#{@md.dc_publisher}"\n}
-        content=meta_content_clean(@md.dc_publisher)
-        @dc_publisher=%{  <meta name="dc.publisher" content="#{content}" />\n}
-      end
-      if @md.dc_contributor                                                      # DublinCore 6 - contributor
-        @rdf_contributor=%{    dc.contributor="#{@md.dc_contributor}"\n}
-        content=meta_content_clean(@md.dc_contributor)
-        @dc_contributor=%{  <meta name="dc.contributor" content="#{content}" />\n}
-      end
-      if @md.dc_date                                                             # DublinCore 7 - date year-mm-dd
-        @rdf_date=%{    dc.date="#{@md.dc_date}"\n}
-        @dc_date=%{  <meta name="dc.date" content="#{@md.dc_date}" #{@md.date_scheme} />\n}
-      end
-      if @md.dc_date_created                                                     # DublinCore 7 - date.created year-mm-dd
-        @rdf_date_created=%{    dc.date.created="#{@md.dc_date_created}"\n}
-        @dc_date_created=%{  <meta name="dc.date.created" content="#{@md.dc_date_created}" #{@md.date_created_scheme} />\n}
-      end
-      if @md.dc_date_issued                                                      # DublinCore 7 - date.issued year-mm-dd
-        @rdf_date_issued=%{    dc.date.issued="#{@md.dc_date_issued}"\n}
-        @dc_date_issued=%{  <meta name="dc.date.issued" content="#{@md.dc_date_issued}" #{@md.date_issued_scheme} />\n}
-      end
-      if @md.dc_date_available                                                   # DublinCore 7 - date.available year-mm-dd
-        @rdf_date_available=%{    dc.date.available="#{@md.dc_date_available}"\n}
-        @dc_date_available=%{  <meta name="dc.date.available" content="#{@md.dc_date_available}" #{@md.date_available_scheme} />\n}
-      end
-      if @md.dc_date_valid                                                       # DublinCore 7 - date.valid year-mm-dd
-        @rdf_date_valid=%{    dc.date.valid="#{@md.dc_date_valid}"\n}
-        @dc_date_valid=%{  <meta name="dc.date.valid" content="#{@md.dc_date_valid}" #{@md.date_valid_scheme} />\n}
-      end
-      if @md.dc_date_modified                                                    # DublinCore 7 - date.modified year-mm-dd
-        @rdf_date_modified=%{    dc.date.modified="#{@md.dc_date_modified}"\n}
-        @dc_date_modified=%{  <meta name="dc.date.modified" content="#{@md.dc_date_modified}" #{@md.date_modified_scheme} />\n}
-      end
-      if @md.dc_type                                                             # DublinCore 8 - type (genre eg. report, convention etc)
-        @rdf_type=%{    dc.type="#{@md.dc_type}"\n}
-        content=meta_content_clean(@md.dc_type)
-        @dc_type=%{  <meta name="dc.type" content="#{content}" />\n}
-      end
-      if @md.dc_format                                                           # DublinCore 9 - format (use your mime type)
-        @rdf_format=%{    dc.format="#{@md.dc_format}"\n}
-        content=meta_content_clean(@md.dc_format)
-        @dc_format=%{  <meta name="dc.format" content="#{content}" />\n}
-      end
-      if @md.dc_identifier                                                       # DublinCore 10 - identifier (your identifier, could use urn which is free)
-        @rdf_identifier=%{    dc.identifier="#{@md.dc_identifier}"\n}
-        content=meta_content_clean(@md.dc_identifier)
-        @dc_identifier=%{  <meta name="dc.identifier" content="#{content}" />\n}
-      end
-      if @md.dc_source                                                           # DublinCore 11 - source (document source)
-        @rdf_source=%{    dc.source="#{@md.dc_source}"\n}
-        content=meta_content_clean(@md.dc_source)
-        @dc_source=%{  <meta name="dc.source" content="#{content}" />\n}
-      end
-      if @md.dc_language \
-      and @md.dc_language[:name]                                                  # DublinCore 12 - language (English)
-        @rdf_language=%{    dc.language="#{@md.dc_language[:name]}"\n}
-        @dc_language=%{  <meta name="dc.language" content="#{@md.dc_language[:name]}" />\n}
+      if @md.full_title                                                            # DublinCore 1 - title
+        @rdf_title=%{    dc.title="#{seg_name}#{@md.full_title}"\n}
+        @full_title=%{  <meta name="dc.title" content="#{@md.full_title}" />\n}
+        #@full_title=%{  <meta name="dc.title" content="#{seg_name}#{@md.full_title}" />\n}
+      end
+      if @md.author                                                          # DublinCore 2 - creator/author (author)
+        @rdf_author=%{    dc.author="#{@md.author}"\n}
+        content=meta_content_clean(@md.author)
+        @author=%{  <meta name="dc.author" content="#{content}" />\n}
+      end
+      if @md.subject                                                          # DublinCore 3 - subject (us library of congress, eric or udc, or schema???)
+        @rdf_subject=%{    dc.subject="#{@md.subject}"\n}
+        content=meta_content_clean(@md.subject)
+        @subject=%{  <meta name="dc.subject" content="#{content}" />\n}
+      end
+      if @md.description                                                      # DublinCore 4 - description
+        @rdf_description=%{    dc.description="#{@md.description}"\n}
+        content=meta_content_clean(@md.description)
+        @description=%{  <meta name="dc.description" content="#{content}" />\n}
+      end
+      if @md.publisher                                                        # DublinCore 5 - publisher (current copy published by)
+        @rdf_publisher=%{    dc.publisher="#{@md.publisher}"\n}
+        content=meta_content_clean(@md.publisher)
+        @publisher=%{  <meta name="dc.publisher" content="#{content}" />\n}
+      end
+      if @md.contributor                                                      # DublinCore 6 - contributor
+        @rdf_contributor=%{    dc.contributor="#{@md.contributor}"\n}
+        content=meta_content_clean(@md.contributor)
+        @contributor=%{  <meta name="dc.contributor" content="#{content}" />\n}
+      end
+      if @md.date                                                             # DublinCore 7 - date year-mm-dd
+        @rdf_date=%{    dc.date="#{@md.date}"\n}
+        @date=%{  <meta name="dc.date" content="#{@md.date}" #{@md.date_scheme} />\n}
+      end
+      if @md.date_created                                                     # DublinCore 7 - date.created year-mm-dd
+        @rdf_date_created=%{    dc.date.created="#{@md.date_created}"\n}
+        @date_created=%{  <meta name="dc.date.created" content="#{@md.date_created}" #{@md.date_created_scheme} />\n}
+      end
+      if @md.date_issued                                                      # DublinCore 7 - date.issued year-mm-dd
+        @rdf_date_issued=%{    dc.date.issued="#{@md.date_issued}"\n}
+        @date_issued=%{  <meta name="dc.date.issued" content="#{@md.date_issued}" #{@md.date_issued_scheme} />\n}
+      end
+      if @md.date_available                                                   # DublinCore 7 - date.available year-mm-dd
+        @rdf_date_available=%{    dc.date.available="#{@md.date_available}"\n}
+        @date_available=%{  <meta name="dc.date.available" content="#{@md.date_available}" #{@md.date_available_scheme} />\n}
+      end
+      if @md.date_valid                                                       # DublinCore 7 - date.valid year-mm-dd
+        @rdf_date_valid=%{    dc.date.valid="#{@md.date_valid}"\n}
+        @date_valid=%{  <meta name="dc.date.valid" content="#{@md.date_valid}" #{@md.date_valid_scheme} />\n}
+      end
+      if @md.date_modified                                                    # DublinCore 7 - date.modified year-mm-dd
+        @rdf_date_modified=%{    dc.date.modified="#{@md.date_modified}"\n}
+        @date_modified=%{  <meta name="dc.date.modified" content="#{@md.date_modified}" #{@md.date_modified_scheme} />\n}
+      end
+      if @md.type                                                             # DublinCore 8 - type (genre eg. report, convention etc)
+        @rdf_type=%{    dc.type="#{@md.type}"\n}
+        content=meta_content_clean(@md.type)
+        @type=%{  <meta name="dc.type" content="#{content}" />\n}
+      end
+      if @md.format                                                           # DublinCore 9 - format (use your mime type)
+        @rdf_format=%{    dc.format="#{@md.format}"\n}
+        content=meta_content_clean(@md.format)
+        @format=%{  <meta name="dc.format" content="#{content}" />\n}
+      end
+      if @md.identifier                                                       # DublinCore 10 - identifier (your identifier, could use urn which is free)
+        @rdf_identifier=%{    dc.identifier="#{@md.identifier}"\n}
+        content=meta_content_clean(@md.identifier)
+        @identifier=%{  <meta name="dc.identifier" content="#{content}" />\n}
+      end
+      if @md.source                                                           # DublinCore 11 - source (document source)
+        @rdf_source=%{    dc.source="#{@md.source}"\n}
+        content=meta_content_clean(@md.source)
+        @source=%{  <meta name="dc.source" content="#{content}" />\n}
+      end
+      if @md.language \
+      and @md.language[:name]                                                  # DublinCore 12 - language (English)
+        @rdf_language=%{    dc.language="#{@md.language[:name]}"\n}
+        @language=%{  <meta name="dc.language" content="#{@md.language[:name]}" />\n}
       end
       if @md.language_original \
       and @md.language_original[:name]
         @rdf_language_original=%{    dc.language="#{@md.language_original[:name]}"\n}
         @language_original=%{  <meta name="dc.language" content="#{@md.language_original[:name]}" />\n}
       end
-      if @md.dc_relation                                                         # DublinCore 13 - relation
-        @rdf_relation=%{    dc.relation="#{@md.dc_relation}"\n}
-        content=meta_content_clean(@md.dc_relation)
-        @dc_relation=%{  <meta name="dc.relation" content="#{content}" />\n}
+      if @md.relation                                                         # DublinCore 13 - relation
+        @rdf_relation=%{    dc.relation="#{@md.relation}"\n}
+        content=meta_content_clean(@md.relation)
+        @relation=%{  <meta name="dc.relation" content="#{content}" />\n}
       end
-      if @md.dc_coverage                                                         # DublinCore 14 - coverage
-        @rdf_coverage=%{    dc.coverage="#{@md.dc_coverage}"\n}
-        content=meta_content_clean(@md.dc_coverage)
-        @dc_coverage=%{  <meta name="dc.coverage" content="#{content}" />\n}
+      if @md.coverage                                                         # DublinCore 14 - coverage
+        @rdf_coverage=%{    dc.coverage="#{@md.coverage}"\n}
+        content=meta_content_clean(@md.coverage)
+        @coverage=%{  <meta name="dc.coverage" content="#{content}" />\n}
       end
-      if @md.dc_rights                                                           # DublinCore 15 - rights
-        @rdf_rights=%{    dc.rights="#{@md.dc_rights}"\n}
-        content=meta_content_clean(@md.dc_rights)
-        @dc_rights=%{  <meta name="dc.rights" content="#{content}" />\n}
+      if @md.rights                                                           # DublinCore 15 - rights
+        @rdf_rights=%{    dc.rights="#{@md.rights}"\n}
+        content=meta_content_clean(@md.rights)
+        @rights=%{  <meta name="dc.rights" content="#{content}" />\n}
       end
       content=meta_content_clean(@md.keywords)
       @keywords=%{  <meta name="keywords" content="#{content}" />\n} if @md.keywords
@@ -725,7 +725,7 @@ WOK
     def metatag_html #values strung together, because some empty, and resulting output (line breaks) is much better
 #{@vz.js_head}
 <<WOK
-#@dc_title#@dc_subtitle#@dc_creator#@dc_subject#@dc_description#@dc_publisher#@dc_contributor#@dc_date#@dc_date_created#@dc_date_issued#@dc_date_available#@dc_date_valid#@dc_date_modified#@dc_type#@dc_format#@dc_identifier#@dc_source#@dc_language#@dc_relation#@dc_coverage#@dc_rights#@copyright#@owner
+#@full_title#@subtitle#@author#@subject#@description#@publisher#@contributor#@date#@date_created#@date_issued#@date_available#@date_valid#@date_modified#@type#@format#@identifier#@source#@language#@relation#@coverage#@rights#@copyright#@owner
 #{@vz.txt_generator}
 #{@vz.png_ico}
 WOK
diff --git a/lib/sisu/v0/sitemaps.rb b/lib/sisu/v0/sitemaps.rb
index c08a0789..8e706ce4 100644
--- a/lib/sisu/v0/sitemaps.rb
+++ b/lib/sisu/v0/sitemaps.rb
@@ -153,8 +153,8 @@ WOK
       idx=sitemap_idx.join
     end
     def sitemap
-      map=if @md.dc_date_modified \
-      and @md.dc_date_modified=~/\d{4}-\d{2}-\d{2}/
+      map=if @md.date_modified \
+      and @md.date_modified=~/\d{4}-\d{2}-\d{2}/
         sitemap_date_modified
       else sitemap_no_date
       end
@@ -169,18 +169,18 @@ WOK
 #{@rdf.comment_xml}
   <url>
     <loc>#{@env.path.url.remote}/#@fnb_utf8_xml/#{@fn[:toc]}</loc>
-    <lastmod>#{@md.dc_date_modified}</lastmod>
+    <lastmod>#{@md.date_modified}</lastmod>
     <changefreq>monthly</changefreq>
     <priority>0.7</priority>
   </url>
   <url>
     <loc>#{@env.path.url.remote}/#@fnb_utf8_xml/#{@fn[:doc]}</loc>
-    <lastmod>#{@md.dc_date_modified}</lastmod>
+    <lastmod>#{@md.date_modified}</lastmod>
     <priority>0.5</priority>
   </url>
   <url>
     <loc>#{@env.path.url.remote}/#@fnb_utf8_xml/#{@fn[:manifest]}</loc>
-    <lastmod>#{@md.dc_date_modified}</lastmod>
+    <lastmod>#{@md.date_modified}</lastmod>
     <priority>0.5</priority>
   </url>
 </urlset>
diff --git a/lib/sisu/v0/texinfo_format.rb b/lib/sisu/v0/texinfo_format.rb
index 7f669185..91e48d0f 100644
--- a/lib/sisu/v0/texinfo_format.rb
+++ b/lib/sisu/v0/texinfo_format.rb
@@ -100,7 +100,7 @@ module SiSU_Texinfo_format
         subtitle="@subtitle @value{VERSION}, @value{UPDATED}\n" #bugwatch
       end
       subtitle ||=''
-      author=@md.dc_creator if @md.dc_creator
+      author=@md.author if @md.author
       author ||=''
       author.gsub!(/[\*]/,'') #if author
       v=SiSU_Env::Info_version.new.get_version
@@ -174,68 +174,68 @@ WOK
     def dublincore
       title=spec_char_string(@md.title) if @md.title
       subtitle=spec_char_string(@md.subtitle) if @md.subtitle
-      dc_title="#{title} - #{subtitle}"
-      dc_creator=spec_char_string(@md.dc_creator) if @md.dc_creator
-      dc_subject=spec_char_string(@md.dc_subject) if @md.dc_subject
-      dc_description=spec_char_string(@md.dc_description) if @md.dc_description
-      dc_publisher=spec_char_string(@md.dc_publisher) if @md.dc_publisher
-      dc_contributor=spec_char_string(@md.dc_contributor) if @md.dc_contributor
-      dc_date=spec_char_string(@md.dc_date) if @md.dc_date
-      dc_date_created=spec_char_string(@md.dc_date_created) if @md.dc_date_created
-      dc_date_issued=spec_char_string(@md.dc_date_issued) if @md.dc_date_issued
-      dc_date_available=spec_char_string(@md.dc_date_available) if @md.dc_date_available
-      dc_date_valid=spec_char_string(@md.dc_date_valid) if @md.dc_date_valid
-      dc_date_modified=spec_char_string(@md.dc_date_modified) if @md.dc_date_modified
-      dc_type=spec_char_string(@md.dc_type) if @md.dc_type
-      dc_format=spec_char_string(@md.dc_format) if @md.dc_format
-      dc_identifier=spec_char_string(@md.dc_identifier) if @md.dc_identifier
-      dc_source=spec_char_string(@md.dc_source) if @md.dc_source
-      dc_language=spec_char_string(@md.dc_language[:name]) if @md.dc_language[:name]
+      full_title="#{title} - #{subtitle}"                                           #dc
+      author=spec_char_string(@md.author) if @md.author                             #dc
+      subject=spec_char_string(@md.subject) if @md.subject                          #dc
+      description=spec_char_string(@md.description) if @md.description              #dc
+      publisher=spec_char_string(@md.publisher) if @md.publisher                    #dc
+      contributor=spec_char_string(@md.contributor) if @md.contributor              #dc
+      date=spec_char_string(@md.date) if @md.date                                   #dc
+      date_created=spec_char_string(@md.date_created) if @md.date_created           #dc
+      date_issued=spec_char_string(@md.date_issued) if @md.date_issued              #dc
+      date_available=spec_char_string(@md.date_available) if @md.date_available     #dc
+      date_valid=spec_char_string(@md.date_valid) if @md.date_valid                 #dc
+      date_modified=spec_char_string(@md.date_modified) if @md.date_modified        #dc
+      type=spec_char_string(@md.type) if @md.type                                   #dc
+      format=spec_char_string(@md.format) if @md.format                             #dc
+      identifier=spec_char_string(@md.identifier) if @md.identifier                 #dc
+      source=spec_char_string(@md.source) if @md.source                             #dc
+      language=spec_char_string(@md.language[:name]) if @md.language[:name]         #dc
       #language_original=spec_char_string(@md.language_original[:name]) if @md.language_original[:name]
-      dc_relation=spec_char_string(@md.dc_relation) if @md.dc_relation
-      dc_coverage=spec_char_string(@md.dc_coverage) if @md.dc_coverage
-      dc_rights=spec_char_string(@md.dc_rights) if @md.dc_rights
-      dc_title="Title: #{dc_title}\n\n" if dc_title
-      dc_creator="Creator: #{dc_creator}\n\n" if dc_creator
-      dc_subject="Subject: #{dc_subject}\n\n" if dc_subject
-      dc_description="Description: #{dc_description}\n\n" if dc_description
-      dc_publisher="Publisher: #{dc_publisher}\n\n" if dc_publisher
-      dc_contributor="Contributor: #{dc_contributor}\n\n" if dc_contributor
-      dc_date="Date: #{dc_date}\n\n" if dc_date
-      dc_date_created="Date Created: #{dc_date_created}\n\n" if dc_date_created
-      dc_date_issued="Date Issued: #{dc_date_issued}\n\n" if dc_date_issued
-      dc_date_available="Date Available: #{dc_date_available}\n\n" if dc_date_available
-      dc_date_valid="Date Valid: #{dc_date_valid}\n\n" if dc_date_valid
-      dc_date_modified="Date Modified: #{dc_date_modified}\n\n" if dc_date_modified
-      dc_format="Format: #{dc_format}\n\n" if dc_format
-      dc_identifier="Identifier: #{dc_identifier}\n\n" if dc_identifier #watch
-      dc_source="Source: #{dc_source}\n\n" if dc_source
-      dc_language="Language: #{dc_language}\n\n" if dc_language
-      dc_relation="Relation: #{dc_relation}\n\n" if dc_relation
-      dc_coverage="Coverage: #{dc_coverage}\n\n" if dc_coverage
-      dc_rights="Rights: #{dc_rights}\n\n" if dc_rights
+      relation=spec_char_string(@md.relation) if @md.relation                       #dc
+      coverage=spec_char_string(@md.coverage) if @md.coverage                       #dc
+      rights=spec_char_string(@md.rights) if @md.rights                             #dc
+      full_title="Title: #{full_title}\n\n" if full_title                           #dc
+      author="Author: #{author}\n\n" if author                                      #dc
+      subject="Subject: #{subject}\n\n" if subject                                  #dc
+      description="Description: #{description}\n\n" if description                  #dc
+      publisher="Publisher: #{publisher}\n\n" if publisher                          #dc
+      contributor="Contributor: #{contributor}\n\n" if contributor                  #dc
+      date="Date: #{date}\n\n" if date                                              #dc
+      date_created="Date Created: #{date_created}\n\n" if date_created              #dc
+      date_issued="Date Issued: #{date_issued}\n\n" if date_issued                  #dc
+      date_available="Date Available: #{date_available}\n\n" if date_available      #dc
+      date_valid="Date Valid: #{date_valid}\n\n" if date_valid                      #dc
+      date_modified="Date Modified: #{date_modified}\n\n" if date_modified          #dc
+      format="Format: #{format}\n\n" if format                                      #dc
+      identifier="Identifier: #{identifier}\n\n" if identifier #watch               #dc
+      source="Source: #{source}\n\n" if source                                      #dc
+      language="Language: #{language}\n\n" if language                              #dc
+      relation="Relation: #{relation}\n\n" if relation                              #dc
+      coverage="Coverage: #{coverage}\n\n" if coverage                              #dc
+      rights="Rights: #{rights}\n\n" if rights                                      #dc
       "@node Dublin Core\n" +
         "@unnumbered Dublin Core\n" +
         "@cindex chapter, Dublin Core\n\n" +
-        "#{dc_title}" +
-        "#{dc_creator}" +
-        "#{dc_subject}" +
-        "#{dc_description}" +
-        "#{dc_publisher}" +
-        "#{dc_contributor}" +
-        "#{dc_date}" +
-        "#{dc_date_created}" +
-        "#{dc_date_issued}" +
-        "#{dc_date_available}" +
-        "#{dc_date_valid}" +
-        "#{dc_date_modified}" +
-        "#{dc_format}" +
-        "#{dc_identifier}" +
-        "#{dc_source}" +
-        "#{dc_language}" +
-        "#{dc_relation}" +
-        "#{dc_coverage}" +
-        "#{dc_rights}" +
+        "#{full_title}" +
+        "#{author}" +
+        "#{subject}" +
+        "#{description}" +
+        "#{publisher}" +
+        "#{contributor}" +
+        "#{date}" +
+        "#{date_created}" +
+        "#{date_issued}" +
+        "#{date_available}" +
+        "#{date_valid}" +
+        "#{date_modified}" +
+        "#{format}" +
+        "#{identifier}" +
+        "#{source}" +
+        "#{language}" +
+        "#{relation}" +
+        "#{coverage}" +
+        "#{rights}" +
         "\n\n"
     end
     def tail
@@ -518,4 +518,4 @@ WOK
   end
 end
 __END__
-
+watch title, might need full_title
diff --git a/lib/sisu/v0/texpdf.rb b/lib/sisu/v0/texpdf.rb
index e7422baf..abafb30f 100644
--- a/lib/sisu/v0/texpdf.rb
+++ b/lib/sisu/v0/texpdf.rb
@@ -303,10 +303,10 @@ module SiSU_TeX
           @@rights=nil
           tell=SiSU_Screen::Ansi.new(@md.cmd,"pdfTex portrait & landscape")
           tell.txt_grey unless @md.cmd =~/q/
-          if @md.dc_rights
-            use=@md.dc_rights.dup #dup is necessary, else contents of :rights changed
+          if @md.rights
+            use=@md.rights.dup #dup is necessary, else contents of :rights changed
             sp_char=SiSU_TeX_Pdf::Special_characters.new(@md,use)
-            copymark=if @md.creator_copymark; '{\\begin{small}\\raisebox{1ex}{\\copyright}\\end{small}} '
+            copymark=if @md.author_copymark; '{\\begin{small}\\raisebox{1ex}{\\copyright}\\end{small}} '
             else ''
             end
             copymark='Copyright {\\begin{small}\\raisebox{1ex}{\\copyright}\\end{small}} '
@@ -551,7 +551,7 @@ WOK
         sisu_rc_footnote=if @md.sc_info; @tex.doc_sc_info_footnote_full
         else                             @tex.doc_sc_info_footnote_brief
         end
-        #@copymark=if @md.creator_copymark; '^\copyright'
+        #@copymark=if @md.author_copymark; '^\copyright'
         #else                               ''
         #end
         @copymark='' #check and remove as now is superflous
@@ -561,15 +561,15 @@ WOK
         x[:p]=SiSU_TeX_Pdf::Format_text_object.new(@md,txt_obj).title_portrait
         @tex_file << x
         x=nil
-        if @md.dc_creator
-          sp_char=SiSU_TeX_Pdf::Special_characters.new(@md,@md.dc_creator)
-          creator=sp_char.special_characters
-          @tex_file << if @md.creator_home
+        if @md.author
+          sp_char=SiSU_TeX_Pdf::Special_characters.new(@md,@md.author)
+          author=sp_char.special_characters
+          @tex_file << if @md.author_home
             <<WOK
 
-\\author{\\href{#{@md.creator_home}}{#@copymark \\textnormal{#{creator}}}}
+\\author{\\href{#{@md.author_home}}{#@copymark \\textnormal{#{author}}}}
 WOK
-          else "\n\\author{#@copymark \\textnormal{#{creator}}}"
+          else "\n\\author{#@copymark \\textnormal{#{author}}}"
           end
         end
         @tex_file << unless @md.fnb =~/^mail\s*$/; "\n\\date{\\begin{footnotesize} copy @ #{@tex.site} \\end{footnotesize} #{sisu_rc_footnote}}"
@@ -581,7 +581,7 @@ WOK
 WOK
         #@tex_file << @tex.newpage #newpage clearpage depending on portrait or landscape
         @tex_file << "\\newpage\n"
-        @tex_file << @@rights if @md.dc_rights #if @orientation =~/landscape/
+        @tex_file << @@rights if @md.rights #if @orientation =~/landscape/
         @tex_file << @@prefix_b if @md.prefix_b
         @tex_file << @tex.sisu_rights
         @tex_file << if @md.sc_info; @tex.doc_sc_info
diff --git a/lib/sisu/v0/texpdf_format.rb b/lib/sisu/v0/texpdf_format.rb
index 00249c26..2efec5c4 100644
--- a/lib/sisu/v0/texpdf_format.rb
+++ b/lib/sisu/v0/texpdf_format.rb
@@ -603,8 +603,8 @@ para
       @ps=@txt if @txt=~/(?:a4|letter|legal|book|a5|b5)/i
     end
     def language
-      @lang=if @md.dc_language[:code]
-        case @md.dc_language[:code]
+      @lang=if @md.language[:code]
+        case @md.language[:code]
         when 'en'; 'english'
         when 'us'; 'USenglish' # depreciated, see iso-639-2
         when 'fr'; 'french'
@@ -639,7 +639,7 @@ para
     end
     def tex_head_lang #babel 18n
       language
-      #@md.dc_language[:name]
+      #@md.language[:name]
       lang=if @lang =~/^(?:en)$/; @lang
       else "#@lang,english"
       end
diff --git a/lib/sisu/v0/xml_fictionbook.rb b/lib/sisu/v0/xml_fictionbook.rb
index 60cbed66..3cdd098a 100644
--- a/lib/sisu/v0/xml_fictionbook.rb
+++ b/lib/sisu/v0/xml_fictionbook.rb
@@ -109,10 +109,10 @@ module SiSU_XML_Fictionbook
       def head
         version=SiSU_Env::Info_version.new.get_version
         rb_ver=SiSU_Env::Info_version.new.rbversion
-        date_available=if defined? @md.dc_date_available; "\n     <p>#{@md.dc_date_available} Initial version</p>"
+        date_available=if defined? @md.date_available; "\n     <p>#{@md.date_available} Initial version</p>"
         else ''
         end
-        date_modified=if defined? @md.dc_date_available; "\n      <p>#{@md.dc_date_modified} Last Modified</p>"
+        date_modified=if defined? @md.date_available; "\n      <p>#{@md.date_modified} Last Modified</p>"
         else ''
         end
         head=<<WOK
@@ -127,10 +127,10 @@ module SiSU_XML_Fictionbook
       <middle-name>***</middle-name>
       <last-name>***</last-name>
     </author>
-    <book-title>#{@md.dc_title}</book-title>
+    <book-title>#{@md.full_title}</book-title>
     <annotation>
     </annotation>
-    <date value="#{@md.dc_date}">yyyy</date>
+    <date value="#{@md.date}">yyyy</date>
   </title-info>
      <document-info>
     <author>
diff --git a/lib/sisu/v0/xml_format.rb b/lib/sisu/v0/xml_format.rb
index b90200ea..3fe703d7 100644
--- a/lib/sisu/v0/xml_format.rb
+++ b/lib/sisu/v0/xml_format.rb
@@ -84,101 +84,101 @@ module SiSU_XML_format
   end
   class Head_information
     def initialize #dc rdf
-      @dc_title=@dc_subtitle=@dc_creator=@dc_subject=@dc_description=@dc_publisher=@dc_contributor=@dc_date=@dc_type=@dc_format=@dc_identifier=@dc_source=@dc_language=@dc_relation=@dc_coverage=@dc_rights=@copyright=@owner=@keywords=''
+      @full_title=@subtitle=@author=@subject=@description=@publisher=@contributor=@date=@type=@format=@identifier=@source=@language=@relation=@coverage=@rights=@copyright=@owner=@keywords=''
       @sfx,@pdf,@md=@@md.sfx,@@md.pdf,@@md
       # DublinCore 1 - title
       @rdfurl=%{  rdf:about="http://www.jus.uio.no/lm/toc"\n}
-      if @md.dc_title
-        @dc_title=%{<meta name="dc.title" content="#{seg_name}#{@md.dc_title}" />\n}
+      if @md.full_title
+        @full_title=%{<meta name="dc.title" content="#{seg_name}#{@md.full_title}" />\n}
         #if @md.subtitle
         #  #@rdf_title=%{    dc.title="#{seg_name}#{@md.title} - #{@md.subtitle}"\n}
-        #  @dc_title=%{<meta name="dc.title" content="#{seg_name}#{@md.title} - #{@md.subtitle}" />\n}
+        #  @full_title=%{<meta name="dc.title" content="#{seg_name}#{@md.title} - #{@md.subtitle}" />\n}
         #else
         #  #@rdf_title=%{    dc.title="#{seg_name}#{@md.title}"\n}
-        #  @dc_title=%{<meta name="dc.title" content="#{seg_name}#{@md.dc_title}" />\n}
+        #  @full_title=%{<meta name="dc.title" content="#{seg_name}#{@md.title}" />\n}
         #end
       end
-      if @md.dc_creator                                                          # DublinCore 2 - creator/author (author)
-        @rdf_creator=%{    dc.creator="#{@md.dc_creator}"\n}
-        @dc_creator=%{<meta name="dc.creator" content="#{@md.dc_creator}" />\n}
+      if @md.author                                                          # DublinCore 2 - author/creator (author)
+        @rdf_author=%{    dc.author="#{@md.author}"\n}
+        @author=%{<meta name="dc.author" content="#{@md.author}" />\n}
       end
-      if @md.dc_subject                                                          # DublinCore 3 - subject (us library of congress, eric or udc, or schema???)
-        @rdf_subject=%{    dc.subject="#{@md.dc_subject}"\n}
-        @dc_subject=%{<meta name="dc.subject" content="#{@md.dc_subject}" />\n}
+      if @md.subject                                                          # DublinCore 3 - subject (us library of congress, eric or udc, or schema???)
+        @rdf_subject=%{    dc.subject="#{@md.subject}"\n}
+        @subject=%{<meta name="dc.subject" content="#{@md.subject}" />\n}
       end
-      if @md.dc_description                                                      # DublinCore 4 - description
+      if @md.description                                                      # DublinCore 4 - description
         @rdf_description=%{    dc.description="#{@md.description}"\n}
-        @dc_description=%{<meta name="dc.dc_description" content="#{@md.description}" />\n}
+        @description=%{<meta name="dc.description" content="#{@md.description}" />\n}
       end
-      if @md.dc_publisher                                                        # DublinCore 5 - publisher (current copy published by)
-        @rdf_publisher=%{    dc.publisher="#{@md.dc_publisher}"\n}
-        @dc_publisher=%{<meta name="dc.publisher" content="#{@md.dc_publisher}" />\n}
+      if @md.publisher                                                        # DublinCore 5 - publisher (current copy published by)
+        @rdf_publisher=%{    dc.publisher="#{@md.publisher}"\n}
+        @publisher=%{<meta name="dc.publisher" content="#{@md.publisher}" />\n}
       end
-      if @md.dc_contributor                                                      # DublinCore 6 - contributor
-        @rdf_contributor=%{    dc.contributor="#{@md.dc_contributor}"\n}
-        @dc_contributor=%{<meta name="dc.contributor" content="#{@md.dc_contributor}" />\n}
+      if @md.contributor                                                      # DublinCore 6 - contributor
+        @rdf_contributor=%{    dc.contributor="#{@md.contributor}"\n}
+        @contributor=%{<meta name="dc.contributor" content="#{@md.contributor}" />\n}
       end
-      if @md.dc_date                                                             # DublinCore 7 - date year-mm-dd
-        @rdf_date=%{    dc.date="#{@md.dc_date}"\n}
-        @dc_date=%{<meta name="dc.date" content="#{@md.dc_date}" #{@md.date_scheme} />\n}
+      if @md.date                                                             # DublinCore 7 - date year-mm-dd
+        @rdf_date=%{    dc.date="#{@md.date}"\n}
+        @date=%{<meta name="dc.date" content="#{@md.date}" #{@md.date_scheme} />\n}
       end
-      if @md.dc_date_created                                                     # DublinCore 7 - date.created year-mm-dd
-        @rdf_date_created=%{    dc.date.created="#{@md.dc_date_created}"\n}
-        @dc_date_created=%{<meta name="dc.date.created" content="#{@md.dc_date_created}" #{@md.date_created_scheme} />\n}
+      if @md.date_created                                                     # DublinCore 7 - date.created year-mm-dd
+        @rdf_date_created=%{    dc.date.created="#{@md.date_created}"\n}
+        @date_created=%{<meta name="dc.date.created" content="#{@md.date_created}" #{@md.date_created_scheme} />\n}
       end
-      if @md.dc_date_issued                                                      # DublinCore 7 - date.issued year-mm-dd
-        @rdf_date_issued=%{    dc.date.issued="#{@md.dc_date_issued}"\n}
-        @dc_date_issued=%{<meta name="dc.date.issued" content="#{@md.dc_date_issued}" #{@md.date_issued_scheme} />\n}
+      if @md.date_issued                                                      # DublinCore 7 - date.issued year-mm-dd
+        @rdf_date_issued=%{    dc.date.issued="#{@md.date_issued}"\n}
+        @date_issued=%{<meta name="dc.date.issued" content="#{@md.date_issued}" #{@md.date_issued_scheme} />\n}
       end
-      if @md.dc_date_available                                                   # DublinCore 7 - date.available year-mm-dd
-        @rdf_date_available=%{    dc.date.available="#{@md.dc_date_available}"\n}
-        @dc_date_available=%{<meta name="dc.date.available" content="#{@md.dc_date_available}" #{@md.date_available_scheme} />\n}
+      if @md.date_available                                                   # DublinCore 7 - date.available year-mm-dd
+        @rdf_date_available=%{    dc.date.available="#{@md.date_available}"\n}
+        @date_available=%{<meta name="dc.date.available" content="#{@md.date_available}" #{@md.date_available_scheme} />\n}
       end
-      if @md.dc_date_valid                                                       # DublinCore 7 - date.valid year-mm-dd
-        @rdf_date_valid=%{    dc.date.valid="#{@md.dc_date_valid}"\n}
-        @dc_date_valid=%{<meta name="dc.date.valid" content="#{@md.dc_date_valid}" #{@md.date_valid_scheme} />\n}
+      if @md.date_valid                                                       # DublinCore 7 - date.valid year-mm-dd
+        @rdf_date_valid=%{    dc.date.valid="#{@md.date_valid}"\n}
+        @date_valid=%{<meta name="dc.date.valid" content="#{@md.date_valid}" #{@md.date_valid_scheme} />\n}
       end
-      if @md.dc_date_modified                                                    # DublinCore 7 - date.modified year-mm-dd
-        @rdf_date_modified=%{    dc.date.modified="#{@md.dc_date_modified}"\n}
-        @dc_date_modified=%{<meta name="dc.date.modified" content="#{@md.dc_date_modified}" #{@md.date_modified_scheme} />\n}
+      if @md.date_modified                                                    # DublinCore 7 - date.modified year-mm-dd
+        @rdf_date_modified=%{    dc.date.modified="#{@md.date_modified}"\n}
+        @date_modified=%{<meta name="dc.date.modified" content="#{@md.date_modified}" #{@md.date_modified_scheme} />\n}
       end
-      if @md.dc_type                                                             # DublinCore 8 - type (genre eg. report, convention etc)
-        @rdf_type=%{    dc.type="#{@md.dc_type}"\n}
-        @dc_type=%{<meta name="dc.type" content="#{@md.dc_type}" />\n}
+      if @md.type                                                             # DublinCore 8 - type (genre eg. report, convention etc)
+        @rdf_type=%{    dc.type="#{@md.type}"\n}
+        @type=%{<meta name="dc.type" content="#{@md.type}" />\n}
       end
-      if @md.dc_format                                                           # DublinCore 9 - format (use your mime type)
-        @rdf_format=%{    dc.format="#{@md.dc_format}"\n}
-        @dc_format=%{<meta name="dc.format" content="#{@md.dc_format}" />\n}
+      if @md.format                                                           # DublinCore 9 - format (use your mime type)
+        @rdf_format=%{    dc.format="#{@md.format}"\n}
+        @format=%{<meta name="dc.format" content="#{@md.format}" />\n}
       end
-      if @md.dc_identifier                                                       # DublinCore 10 - identifier (your identifier, could use urn which is free)
-        @rdf_identifier=%{    dc.identifier="#{@md.dc_identifier}"\n}
-        @dc_identifier=%{<meta name="dc.identifier" content="#{@md.dc_identifier}" />\n}
+      if @md.identifier                                                       # DublinCore 10 - identifier (your identifier, could use urn which is free)
+        @rdf_identifier=%{    dc.identifier="#{@md.identifier}"\n}
+        @identifier=%{<meta name="dc.identifier" content="#{@md.identifier}" />\n}
       end
-      if @md.dc_source                                                           # DublinCore 11 - source (document source)
-        @rdf_source=%{    dc.source="#{@md.dc_source}"\n}
-        @dc_source=%{<meta name="dc.source" content="#{@md.dc_source}" />\n}
+      if @md.source                                                           # DublinCore 11 - source (document source)
+        @rdf_source=%{    dc.source="#{@md.source}"\n}
+        @source=%{<meta name="dc.source" content="#{@md.source}" />\n}
       end
-      if @md.dc_language[:name]                                                  # DublinCore 12 - language (English)
-        @rdf_language=%{    dc.language="#{@md.dc_language[:name]}"\n}
-        @dc_language=%{<meta name="dc.language" content="#{@md.dc_language[:name]}" />\n}
+      if @md.language[:name]                                                  # DublinCore 12 - language (English)
+        @rdf_language=%{    dc.language="#{@md.language[:name]}"\n}
+        @language=%{<meta name="dc.language" content="#{@md.language[:name]}" />\n}
       end
       if @md.language_original[:name]                                                  # DublinCore 12 - language (English)
         @rdf_language_original=%{    dc.language="#{@md.language_original[:name]}"\n}
         @language_original=%{<meta name="dc.language" content="#{@md.language_original[:name]}" />\n}
       end
-      if @md.dc_relation                                                         # DublinCore 13 - relation
-        @rdf_relation=%{    dc.relation="#{@md.dc_relation}"\n}
-        @dc_relation=%{<meta name="dc.relation" content="#{@md.dc_relation}" />\n}
+      if @md.relation                                                         # DublinCore 13 - relation
+        @rdf_relation=%{    dc.relation="#{@md.relation}"\n}
+        @relation=%{<meta name="dc.relation" content="#{@md.relation}" />\n}
       end
-      if @md.dc_coverage                                                         # DublinCore 14 - coverage
-        @rdf_coverage=%{    dc.coverage="#{@md.dc_coverage}"\n}
-        @dc_coverage=%{<meta name="dc.coverage" content="#{@md.dc_coverage}" />\n}
+      if @md.coverage                                                         # DublinCore 14 - coverage
+        @rdf_coverage=%{    dc.coverage="#{@md.coverage}"\n}
+        @coverage=%{<meta name="dc.coverage" content="#{@md.coverage}" />\n}
       end
-      if @md.dc_rights                                                           # DublinCore 15 - rights
-        @rdf_rights=%{    dc.rights="#{@md.dc_rights}"\n}
-        @dc_rights=%{<meta name="dc.rights" content="#{@md.dc_rights}" />\n}
+      if @md.rights                                                           # DublinCore 15 - rights
+        @rdf_rights=%{    dc.rights="#{@md.rights}"\n}
+        @rights=%{<meta name="dc.rights" content="#{@md.rights}" />\n}
       end
-      @copyright=%{<meta name="copyright" content="#{@md.dc_rights}" />\n} if @md.rights # possibly redundant see dc.rights
+      @copyright=%{<meta name="copyright" content="#{@md.rights}" />\n} if @md.rights # possibly redundant see dc.rights
       @owner=%{<meta name="owner" content="#{@md.owner}" />\n} if @md.owner
       @keywords=%{<meta name="keywords" content="#{@md.keywords}" />\n} if @md.keywords
       @vz=SiSU_Env::Get_init.instance.skin #margin,paragraph,table,banner,url,png,txt,color,font,nav_txt,nav_png,credits,js,php
@@ -206,7 +206,7 @@ module SiSU_XML_format
       #<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
       #         xmlns:dc="http://purl.org/dc/elements/1.1/">
       #  <rdf:Description rdf:about="http://www.jus.uio.no/lm/doc"
-      #      dc:creator="Author"
+      #      dc:author="Author"
       #      dc:title="Title"
       #      dc:description="Description if any"
       #      dc:date="Publication Date"
@@ -223,7 +223,7 @@ module SiSU_XML_format
 #@rdfurl
 #@rdf_title
 #@rdf_subtitle
-#@rdf_creator
+#@rdf_author
 #@rdf_subject
 #@rdf_description
 #@rdf_publisher
@@ -244,26 +244,26 @@ module SiSU_XML_format
 #@rdf_rights
   />
 </rdf:RDF>
-#@dc_title
-#@dc_creator
-#@dc_subject
-#@dc_description
-#@dc_publisher
-#@dc_contributor
-#@dc_date
-#@dc_date_created
-#@dc_date_issued
-#@dc_date_available
-#@dc_date_valid
-#@dc_date_modified
-#@dc_type
-#@dc_format
-#@dc_identifier
-#@dc_source
-#@dc_language
-#@dc_relation
-#@dc_coverage
-#@dc_rights
+#@full_title
+#@author
+#@subject
+#@description
+#@publisher
+#@contributor
+#@date
+#@date_created
+#@date_issued
+#@date_available
+#@date_valid
+#@date_modified
+#@type
+#@format
+#@identifier
+#@source
+#@language
+#@relation
+#@coverage
+#@rights
 #@copyright
 #@owner
 #{@png.ico}
diff --git a/lib/sisu/v0/xml_md_oai_pmh_dc.rb b/lib/sisu/v0/xml_md_oai_pmh_dc.rb
index 7c89ee07..527c6c78 100644
--- a/lib/sisu/v0/xml_md_oai_pmh_dc.rb
+++ b/lib/sisu/v0/xml_md_oai_pmh_dc.rb
@@ -82,80 +82,80 @@ module SiSU_XML_metadata
 WOK
     end
     def body
-      if @md.dc_title                                                            # DublinCore 1 - title
-        @oai_pmh << %{  <dc:title xml:lang="en">#{@md.dc_title}</dc:title>\n}
-        #@oai_pmh << %{  <dc:title xml:lang="en">#{seg_name}#{@md.dc_title}</dc:title>\n}
+      if @md.full_title                                                            # DublinCore 1 - title
+        @oai_pmh << %{  <dc:title xml:lang="en">#{@md.full_title}</dc:title>\n}
+        #@oai_pmh << %{  <dc:title xml:lang="en">#{seg_name}#{@md.title}</dc:title>\n}
       end
-      if @md.dc_creator                                                          # DublinCore 2 - creator/author (author)
-        txt=meta_content_clean(@md.dc_creator)
-        @oai_pmh << %{  <dc:creator>#{txt}</dc:creator>\n}
+      if @md.author                                                          # DublinCore 2 - author/creator (author)
+        txt=meta_content_clean(@md.author)
+        @oai_pmh << %{  <dc:author>#{txt}</dc:author>\n}
       end
-      if @md.dc_subject                                                          # DublinCore 3 - subject (us library of congress, eric or udc, or schema???)
-        txt=meta_content_clean(@md.dc_subject)
+      if @md.subject                                                          # DublinCore 3 - subject (us library of congress, eric or udc, or schema???)
+        txt=meta_content_clean(@md.subject)
         @oai_pmh << %{  <dc:subject>#{txt}</dc:subject>\n}
       end
-      if @md.dc_description                                                      # DublinCore 4 - description
-        txt=meta_content_clean(@md.dc_description)
+      if @md.description                                                      # DublinCore 4 - description
+        txt=meta_content_clean(@md.description)
         @oai_pmh << %{  <dc:description>#{txt}</dc:description>\n}
       end
-      if @md.dc_publisher                                                        # DublinCore 5 - publisher (current copy published by)
-        txt=meta_content_clean(@md.dc_publisher)
+      if @md.publisher                                                        # DublinCore 5 - publisher (current copy published by)
+        txt=meta_content_clean(@md.publisher)
         @oai_pmh << %{  <dc:publisher>#{txt}</dc:publisher>\n}
       end
-      if @md.dc_contributor                                                      # DublinCore 6 - contributor
-        txt=meta_content_clean(@md.dc_contributor)
+      if @md.contributor                                                      # DublinCore 6 - contributor
+        txt=meta_content_clean(@md.contributor)
         @oai_pmh << %{  <dc:contributor>#{txt}</dc:contributor>\n}
       end
-      if @md.dc_date                                                             # DublinCore 7 - date year-mm-dd
-        @oai_pmh << %{  <dc:date>#{@md.dc_date}</dc:date>\n}
+      if @md.date                                                             # DublinCore 7 - date year-mm-dd
+        @oai_pmh << %{  <dc:date>#{@md.date}</dc:date>\n}
       end
-      if @md.dc_date_created                                                     # DublinCore 7 - date.created
-        @oai_pmh << %{  <dc:date_created>#{@md.dc_date_created}</dc:date_created>\n}
+      if @md.date_created                                                     # DublinCore 7 - date.created
+        @oai_pmh << %{  <dc:date_created>#{@md.date_created}</dc:date_created>\n}
       end
-      if @md.dc_date_issued                                                      # DublinCore 7 - date.issued
-        @oai_pmh << %{  <dc:date_issued>#{@md.dc_date_issued}</dc:date_issued>\n}
+      if @md.date_issued                                                      # DublinCore 7 - date.issued
+        @oai_pmh << %{  <dc:date_issued>#{@md.date_issued}</dc:date_issued>\n}
       end
-      if @md.dc_date_available                                                   # DublinCore 7 - date.available
-        @oai_pmh << %{  <dc:date_available>#{@md.dc_date_available}</dc:date_available>\n}
+      if @md.date_available                                                   # DublinCore 7 - date.available
+        @oai_pmh << %{  <dc:date_available>#{@md.date_available}</dc:date_available>\n}
       end
-      if @md.dc_date_valid                                                       # DublinCore 7 - date.valid
-        @oai_pmh << %{  <dc:date_valid>#{@md.dc_date_valid}</dc:date_valid>\n}
+      if @md.date_valid                                                       # DublinCore 7 - date.valid
+        @oai_pmh << %{  <dc:date_valid>#{@md.date_valid}</dc:date_valid>\n}
       end
-      if @md.dc_date_modified                                                    # DublinCore 7 - date.modified
-        @oai_pmh <<  %{  <dc:date_modified>#{@md.dc_date_modified}</dc:date_modified>\n}
+      if @md.date_modified                                                    # DublinCore 7 - date.modified
+        @oai_pmh <<  %{  <dc:date_modified>#{@md.date_modified}</dc:date_modified>\n}
       end
-      if @md.dc_type                                                             # DublinCore 8 - type
-        txt=meta_content_clean(@md.dc_type)
+      if @md.type                                                             # DublinCore 8 - type
+        txt=meta_content_clean(@md.type)
         @oai_pmh << %{  <dc:type>#{txt}</dc:type>\n}
       end
-      if @md.dc_format                                                           # DublinCore 9 - format
-        txt=meta_content_clean(@md.dc_format)
+      if @md.format                                                           # DublinCore 9 - format
+        txt=meta_content_clean(@md.format)
         @oai_pmh << %{  <dc:format>#{txt}</dc:format>\n}
       end
-      if @md.dc_identifier                                                       # DublinCore 10 - identifier
-        txt=meta_content_clean(@md.dc_identifier)
+      if @md.identifier                                                       # DublinCore 10 - identifier
+        txt=meta_content_clean(@md.identifier)
         @oai_pmh << %{  <dc:identifier>#{txt}</dc:identifier>\n}
       end
-      if @md.dc_source                                                           # DublinCore 11 - source
-        txt=meta_content_clean(@md.dc_source)
+      if @md.source                                                           # DublinCore 11 - source
+        txt=meta_content_clean(@md.source)
         @oai_pmh << %{  <dc:source>#{txt}</dc:source>\n}
       end
-      if @md.dc_language[:name]                                                  # DublinCore 12 - language (English)
-        @oai_pmh << %{  <dc:language>#{@md.dc_language[:name]}</dc:language>\n}
+      if @md.language[:name]                                                  # DublinCore 12 - language (English)
+        @oai_pmh << %{  <dc:language>#{@md.language[:name]}</dc:language>\n}
       end
       if @md.language_original[:name]
         @oai_pmh << %{  <dc:language>#{@md.language_original[:name]}</dc:language>\n}
       end
-      if @md.dc_relation                                                         # DublinCore 13 - relation
-        txt=meta_content_clean(@md.dc_relation)
+      if @md.relation                                                         # DublinCore 13 - relation
+        txt=meta_content_clean(@md.relation)
         @oai_pmh << %{  <dc:relation>#{txt}</dc:relation>\n}
       end
-      if @md.dc_coverage                                                         # DublinCore 14 - coverage
-        txt=meta_content_clean(@md.dc_coverage)
+      if @md.coverage                                                         # DublinCore 14 - coverage
+        txt=meta_content_clean(@md.coverage)
         @oai_pmh << %{  <dc:coverage>#{txt}</dc:coverage>\n}
       end
-      if @md.dc_rights                                                           # DublinCore 15 - rights
-        txt=meta_content_clean(@md.dc_rights)
+      if @md.rights                                                           # DublinCore 15 - rights
+        txt=meta_content_clean(@md.rights)
         @oai_pmh << %{  <dc:rights>#{txt}</dc:rights>\n}
       end
       if @md.keywords
@@ -200,7 +200,7 @@ see also http://dublincore.org/documents/dcmes-xml/
     xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/
     http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
   <dc:title xml:lang="en">Grassmann's space analysis</dc:title>
-  <dc:creator>Hyde, E. W. (Edward Wyllys)</dc:creator>
+  <dc:author>Hyde, E. W. (Edward Wyllys)</dc:author>
   <dc:subject>LCSH:Ausdehnungslehre; LCCN QA205.H99</dc:subject>
   <dc:publisher>J. Wiley &amp; Sons</dc:publisher>
   <dc:date>Created: 1906; Available: 1991</dc:date>
-- 
cgit v1.2.3


From 3827556849d7c9099c5bb2cbc3493d48f12f3594 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Sun, 14 Dec 2008 00:05:02 -0500
Subject: markup samples, minor updates

---
 ...edom.richard_stallman_crusade_for_free_software.sam_williams.sst | 6 +++++-
 data/doc/sisu/sisu_markup_samples/dfsg/gpl2.fsf.sst                 | 4 ++++
 data/doc/sisu/sisu_markup_samples/dfsg/gpl3.fsf.sst                 | 4 +++-
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/data/doc/sisu/sisu_markup_samples/dfsg/free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst b/data/doc/sisu/sisu_markup_samples/dfsg/free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst
index 503e6a6d..74b90a4f 100644
--- a/data/doc/sisu/sisu_markup_samples/dfsg/free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst
+++ b/data/doc/sisu/sisu_markup_samples/dfsg/free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst
@@ -4,10 +4,14 @@
 
 @subtitle: Richard Stallman's Crusade for Free Software
 
-@author: Sam Williams
+@author: Williams, Sam
 
 @rights: Copyright (C) Sam Williams 2002, published under the GNU Free Documentation License. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Document License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being no invariant sections, with the Front-Cover Texts being no invariant sections, and with the Back-Cover Texts being no invariant sections. A copy of the license is included in Appendix C, GNU Free Documentation License. All images are to be included verbatim when the document is copied, distributed, or modified under the terms of the GFDL.
 
+@topic_register: SiSU:markup sample:book;copyright;GNU/Linux:GPL|copyleft|free software;free software;Software:Software Libré;GPL;Linux:GNU|Software Libré;book:biography
+
+@date: 2002
+
 @language: US
 
 @notes: March 2002
diff --git a/data/doc/sisu/sisu_markup_samples/dfsg/gpl2.fsf.sst b/data/doc/sisu/sisu_markup_samples/dfsg/gpl2.fsf.sst
index dfabc14e..b091616b 100644
--- a/data/doc/sisu/sisu_markup_samples/dfsg/gpl2.fsf.sst
+++ b/data/doc/sisu/sisu_markup_samples/dfsg/gpl2.fsf.sst
@@ -6,6 +6,10 @@
 
 @rights: Copyright Copyright 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
 
+@date: 1991
+
+@topic_register: GPL;Software:license;GNU/Linux:License:GPL
+
 @links: {Free Software Foundation}http://www.fsf.org
 {GPL @ SiSU}http://www.jus.uio.no/sisu/gpl2.fsf
 {Markup}http://www.jus.uio.no/sisu/sample/markup/gpl2.fsf.sst
diff --git a/data/doc/sisu/sisu_markup_samples/dfsg/gpl3.fsf.sst b/data/doc/sisu/sisu_markup_samples/dfsg/gpl3.fsf.sst
index 358accce..10889acf 100644
--- a/data/doc/sisu/sisu_markup_samples/dfsg/gpl3.fsf.sst
+++ b/data/doc/sisu/sisu_markup_samples/dfsg/gpl3.fsf.sst
@@ -6,6 +6,8 @@ SiSU 0.52
 
 @rights: Copyright (C) 2007 Free Software Foundation, Inc. http://fsf.org/ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
 
+@topic_register: GPL;Software:license
+
 @date: 2007-06-29
 
 @date.available: 2007-06-29
@@ -242,7 +244,7 @@ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY C
 
 If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
 
-END OF TERMS AND CONDITIONS
+!_ END OF TERMS AND CONDITIONS
 
 1~ How to Apply These Terms to Your New Programs
 
-- 
cgit v1.2.3


From c27f4dff2362e31dc23da5eaf5dc8747028e7c72 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Sun, 14 Dec 2008 00:12:31 -0500
Subject: param & dal, cosmetic, text placement

---
 lib/sisu/v0/dal.rb   |   4 +-
 lib/sisu/v0/param.rb | 142 +++++++++++++++++++++++++--------------------------
 2 files changed, 73 insertions(+), 73 deletions(-)

diff --git a/lib/sisu/v0/dal.rb b/lib/sisu/v0/dal.rb
index fbc5de7b..10fb192a 100644
--- a/lib/sisu/v0/dal.rb
+++ b/lib/sisu/v0/dal.rb
@@ -149,8 +149,8 @@ module SiSU_DAL
         end
       end
       meta=file_array.dup
-	    meta=meta.join.split("\n\n") #check whether can be eliminated, some of these are large objects to have twice
-	    @md=SiSU_Param::Parameters::Instructions.new(meta,@opt).extract
+      meta=meta.join.split("\n\n") #check whether can be eliminated, some of these are large objects to have twice
+      @md=SiSU_Param::Parameters::Instructions.new(meta,@opt).extract
       meta=nil
       dal=SiSU_DAL::Make.new(@md,file_array).song
       SiSU_Screen::Ansi.new(@md.cmd,@md.fns,"~meta/#{@md.fns}.meta").output if @md.cmd =~/v/
diff --git a/lib/sisu/v0/param.rb b/lib/sisu/v0/param.rb
index bcf6f97b..c78a56b7 100644
--- a/lib/sisu/v0/param.rb
+++ b/lib/sisu/v0/param.rb
@@ -292,7 +292,7 @@ module SiSU_Param
           tell.warn unless @cmd =~/q/
         end
         @code_flag=false
-        fns_array.each do |para|                                                                     #% Scan document
+        fns_array.each do |para|                                                                                       #% Scan document
           if para !~/^%+\s/ \
           and para =~/<![abcdeghijklmnopqrstuvwxyz]/i # <!f not included
             raise "Old markup style in file #@fns, current version #{@sisu_version[:project]} #{@sisu_version[:version]} #{@sisu_version[:date_stamp]} #{@sisu_version[:date]}:\n\t\t#{para}\n\n"
@@ -306,8 +306,8 @@ module SiSU_Param
           if para =~regx_header \
           and not @code_flag #or para=~/^(?:1|:?A)~/
             case para
-            when /^(?:@ocn:|0~ocn)\s+(.+?)$/m; @ocn=$1                                              #% processing
-            when /^(?:@title:|0~title)\s+(.+?)$/m                                                   #% metainfo DC
+            when /^(?:@ocn:|0~ocn)\s+(.+?)$/m; @ocn=$1                                                                 #% processing
+            when /^(?:@title:|0~title)\s+(.+?)$/m                                                                      #% metainfo DC
               @title=$1.strip
               @full_title=@title.dup
               @html_title=@title.gsub(/(<p>|<p \/>|<br>|<br \/>)/,'')
@@ -316,42 +316,42 @@ module SiSU_Param
               @html_title.chomp!(' ')
               tell=SiSU_Screen::Ansi.new(@cmd,'Parameters',@html_title)
               tell.txt_grey unless @cmd =~/q/
-            when /^(?:@subtitle:|0~subtitle)\s+(.+?)$/m                                             #% metainfo
+            when /^(?:@subtitle:|0~subtitle)\s+(.+?)$/m                                                                #% metainfo
               @subtitle=$1.strip
               @full_title="#{@title} - #{@subtitle}"
               @subtitle_tex=@subtitle
-            when /^(?:@(?:creator|author)-?:|0~(?:creator|author)-?)\s+(.+?)$/                      #% metainfo DC
+            when /^(?:@(?:creator|author)-?:|0~(?:creator|author)-?)\s+(.+?)$/                                         #% metainfo DC
               names=name_format($1)
               @authorship=@author=names[:name_str]
               @authors=names[:name_a_h]
-            when /^@(?:creator|author)\.title:\s+(.+?)$/; @author_title=$1                          # Prof. Dr. etc.
+            when /^@(?:creator|author)\.title:\s+(.+?)$/; @author_title=$1                                             # Prof. Dr. etc.
             when /^@(?:creator|author)\.nationality:\s+(.+?)$/; @author_nationality=$1
-            when /^(?:@(?:translator|translated_by):|0~(?:translator|translated_by))\s+(.+?)$/m     #% metainfo
+            when /^(?:@(?:translator|translated_by):|0~(?:translator|translated_by))\s+(.+?)$/m                        #% metainfo
               names=name_format($1)
               @translator=names[:name_str]
-            when /^(?:@(?:illustrator|illustrated_by):|0~(?:illustrator|illustrated_by))\s+(.+?)$/m #% metainfo
+            when /^(?:@(?:illustrator|illustrated_by):|0~(?:illustrator|illustrated_by))\s+(.+?)$/m                    #% metainfo
               names=name_format($1)
               @illustrator=names[:name_str]
-            when /^(?:@prepared_by:|0~prepared_by)\s+(.+?)$/m                                       #% metainfo
+            when /^(?:@prepared_by:|0~prepared_by)\s+(.+?)$/m                                                          #% metainfo
               names=name_format($1)
               @prepared_by=names[:name_str]
-            when /^(?:@digitized_by:|0~digitized_by)\s+(.+?)$/m                                     #% metainfo DC
+            when /^(?:@digitized_by:|0~digitized_by)\s+(.+?)$/m                                                        #% metainfo DC
               names=name_format($1)
               @digitized_by=names[:name_str]
-            when /^(?:@subject:|0~subject)\s+(.+?)$/m; @subject=$1                                               #% metainfo DC
-            when /^(?:@description:|0~description)\s+(.+?)$/m; @description=$1                   #% metainfo DC & rss feed
-            when /^(?:@contributor:|0~contributor)\s+(.+?)$/m                                       #% metainfo DC
+            when /^(?:@subject:|0~subject)\s+(.+?)$/m; @subject=$1                                                     #% metainfo DC
+            when /^(?:@description:|0~description)\s+(.+?)$/m; @description=$1                                         #% metainfo DC & rss feed
+            when /^(?:@contributor:|0~contributor)\s+(.+?)$/m                                                          #% metainfo DC
               names=name_format($1)
               @contributor=names[:name_str]
-            when /^(?:@publisher:|0~publisher)\s+(.+?)$/m; @publisher=$1                         #% metainfo DC
+            when /^(?:@publisher:|0~publisher)\s+(.+?)$/m; @publisher=$1                                               #% metainfo DC
             when /^@original_publication:\s+(.+?)$/m; @original_publication=$1
             when /^@original_publication\.date:\s+(.+?)$/; @original_publication_date=$1
             when /^@original_publication\.nationality:\s+(.+?)$/; @original_publication_nationality=$1
             when /^@original_publication\.institution:\s+(.+?)$/; @original_publication_institution=$1
-            when /^@writing_focus\.nationality:\s+(.+?)$/; @writing_focus=$1                       # e.g. Finland (where and article on Finnish law)
-            when /^(?:@|0~)date.+?$/m                                                               #% metainfo DC
+            when /^@writing_focus\.nationality:\s+(.+?)$/; @writing_focus=$1                                           # e.g. Finland (where and article on Finnish law)
+            when /^(?:@|0~)date.+?$/m                                                                                  #% metainfo DC
               if para =~/(?:@date:|0~date)\s+(.+?)$/m
-                @date=$1.strip                                                                   #% original publication date unless the substantive text is updated/modified, then date of update
+                @date=$1.strip                                                                                         #% original publication date unless the substantive text is updated/modified, then date of update
                 if @date !~regx_date \
                 and not @date.empty?
                   tell=SiSU_Screen::Ansi.new(@cmd,'Date Format should be','YYYY-MM-DD','please correct document','Date','field, current value:',@date)
@@ -408,7 +408,7 @@ module SiSU_Param
                 @date_valid=date
                 @date_valid_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
-              if para =~/^(?:@date\.modified:|0~date\.modified)\s*(.+?)$/m                                                               #% of interest rss feed & sitemap
+              if para =~/^(?:@date\.modified:|0~date\.modified)\s*(.+?)$/m                                             #% of interest rss feed & sitemap
                 date=$1.strip
                 if date !~regx_date \
                 and not date.empty?
@@ -428,32 +428,32 @@ module SiSU_Param
                 @date_translated=date
                 @date_translated_scheme='scheme="ISO-8601"' if date =~/\d{4}-\d{2}-\d{2}/
               end
-            when /^(?:@type:|0~type)\s+(.+?)$/m;             @type=$1                                                 #% metainfo DC
-            when /^(?:@format:|0~format)\s+(.+?)$/m;         @format=$1                                               #% metainfo DC
+            when /^(?:@type:|0~type)\s+(.+?)$/m; @type=$1                                                              #% metainfo DC
+            when /^(?:@format:|0~format)\s+(.+?)$/m; @format=$1                                                        #% metainfo DC
             #when /^(?:@identifier:|0~identifier)\s+(.+?)$/m; @identifier=$1                                           #% metainfo DC
-            when /^(?:@source:|0~source)\s+(.+?)$/m;         @source=$1                                               #% metainfo DC
-            when /^(?:@language(?:\.document)?:|0~language(?:\.document)?)\s+(.+?)$/m                                    #% metainfo DC
+            when /^(?:@source:|0~source)\s+(.+?)$/m; @source=$1                                                        #% metainfo DC
+            when /^(?:@language(?:\.document)?:|0~language(?:\.document)?)\s+(.+?)$/m                                  #% metainfo DC
               x=$1.strip
               lang=SiSU_Env::Standardise_language.new(x.dup)
               @language[:code]=lang.code
               @language[:name]=lang.title
-            when /^(?:@language\.original:|0~language\.original)\s+(.+?)$/m                                              #% metainfo DC
+            when /^(?:@language\.original:|0~language\.original)\s+(.+?)$/m                                            #% metainfo DC
               x=$1.strip
               lang=SiSU_Env::Standardise_language.new(x.dup)
               @language_original[:name]=lang.title
-            when /^(?:@relation:|0~relation)\s+(.+?)$/m;     @relation=$1                                             #% metainfo DC
-            when /^(?:@coverage:|0~coverage)\s+(.+?)$/m;     @coverage=$1                                             #% metainfo DC
-            when /^(?:@rights:|0~rights)\s+(.+?)$/m;         @rights=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line]) #% metainfo DC copyright, public domain, copyleft, creative commons, etc.
-            when /^(?:@papersize:|0~papersize)\s+(.+?)$/m                                                                #% metainfo DC
+            when /^(?:@relation:|0~relation)\s+(.+?)$/m; @relation=$1                                                  #% metainfo DC
+            when /^(?:@coverage:|0~coverage)\s+(.+?)$/m; @coverage=$1                                                  #% metainfo DC
+            when /^(?:@rights:|0~rights)\s+(.+?)$/m; @rights=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line])          #% metainfo DC copyright, public domain, copyleft, creative commons, etc.
+            when /^(?:@papersize:|0~papersize)\s+(.+?)$/m                                                              #% metainfo DC
               l=$1
               if @mod.inspect !~/--papersize[=-]\S+/
                 l=determine_papersize(l.dup)
                 @papersize=l
               end
-            when /^(?:@keywords?:|0~keywords?)\s+(.+?)$/m;  @keywords=$1                                                #% metainfo DC
-            when /^(?:@comments?:|0~comments?)\s+(.+?)$/m;  @comments=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line])  #% metainfo DC
-            when /^(?:@abstract:|0~abstract)\s+(.+?)$/m;      @abstract=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line])  #% metainfo DC
-            when /^(?:@tags?:|0~tags?)\s+\S/m                                                                            #% metainfo
+            when /^(?:@keywords?:|0~keywords?)\s+(.+?)$/m; @keywords=$1                                                #% metainfo DC
+            when /^(?:@comments?:|0~comments?)\s+(.+?)$/m; @comments=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line])  #% metainfo DC
+            when /^(?:@abstract:|0~abstract)\s+(.+?)$/m; @abstract=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line])    #% metainfo DC
+            when /^(?:@tags?:|0~tags?)\s+\S/m                                                                          #% metainfo
               tags=para.match(/^(?:@tags?:|0~tags?)\s+(.+)\Z/m)[1]
               tags.split(/,|$/).each do |tag|
                 tag.strip!
@@ -463,23 +463,23 @@ module SiSU_Param
                 tag_a=tag_a.split(/:/).join('][')
                 @tag_a << tag_a
               end
-            when /^(?:@catalogue:|0~catalogue)\s+(.+)?$/m                                                                #% metainfo
+            when /^(?:@catalogue:|0~catalogue)\s+(.+)?$/m                                                              #% metainfo
               m=$1
               @cls_pg=m.match(/pg=(\S+)/)[1] if m =~/pg=/
               @cls_isbn=m.match(/isbn=(\S+)/)[1] if m =~/isbn=/
               @cls_dewey=m.match(/dewey=(\S+)/)[1] if m =~/dewey=/
               @cls_loc=m.match(/loc=(\S+)/)[1] if m =~/loc=/
-            when /^(?:@class(?:ify)?_loc:|0~class(?:ify)?_loc)\s+(.+?)$/m;             @cls_loc=$1                       #% metainfo
-            when /^(?:@class(?:ify)?_dewey:|0~class(?:ify)?_dewey)\s+(.+?)$/m;         @cls_dewey=$1                      #% metainfo
-            when /^(?:@class(?:ify)?_pg:|0~class(?:ify)?_pg)\s+(.+?)$/m;                @cls_pg=$1                        #% metainfo
-            when /^(?:@(?:class(?:ify)?_)?isbn:|0~(?:class(?:ify)?_)?isbn)\s+(\S+?)$/m; @cls_isbn=$1                      #% metainfo
-            when /^(?:@images?:|0~images?)\s+(.+?)$/m;                                 @image=$1                         #% processing
-            when /^(?:@(?:toc|structure):|0~(?:toc|structure))\s+(.+?)\Z/m                                                 #% processing
+            when /^(?:@class(?:ify)?_loc:|0~class(?:ify)?_loc)\s+(.+?)$/m; @cls_loc=$1                                 #% metainfo
+            when /^(?:@class(?:ify)?_dewey:|0~class(?:ify)?_dewey)\s+(.+?)$/m; @cls_dewey=$1                           #% metainfo
+            when /^(?:@class(?:ify)?_pg:|0~class(?:ify)?_pg)\s+(.+?)$/m; @cls_pg=$1                                    #% metainfo
+            when /^(?:@(?:class(?:ify)?_)?isbn:|0~(?:class(?:ify)?_)?isbn)\s+(\S+?)$/m; @cls_isbn=$1                   #% metainfo
+            when /^(?:@images?:|0~images?)\s+(.+?)$/m; @image=$1                                                       #% processing
+            when /^(?:@(?:toc|structure):|0~(?:toc|structure))\s+(.+?)\Z/m                                             #% processing
               doc_toc_str=$1
               @toc=doc_toc_str.split(/;\s*/)
               @toc=[ @toc ] if @toc == String
               #@toc.each {|x| x.gsub!(/\{/,'\{') } #FIX~
-              lv1=@toc[0] ||='1~ '                                        #some arbitrary changes made
+              lv1=@toc[0] ||='1~ '                                                                                     #some arbitrary changes made
               @lv1=/^#{lv1}/
               lv2=@toc[1] ||='2~ '
               @lv2=/^#{lv2}/
@@ -491,7 +491,7 @@ module SiSU_Param
               @lv5=/^#{lv5}/
               lv6=@toc[5] ||='6~ '
               @lv6=/^#{lv6}/
-            when /^(?:@(?:level|page|markup):|0~(?:level|page|markup))\s+(.+?)$/m                   #% processing revisit..., use syntax 0~level new=1,2,3; break=4
+            when /^(?:@(?:level|page|markup):|0~(?:level|page|markup))\s+(.+?)$/m                                      #% processing revisit..., use syntax 0~level new=1,2,3; break=4
               if para =~/(?:@|0~)(?:markup|level|page):?\s+(.+?)\Z/m
                 page_break_str=$1
                 pagebreaks=page_break_str.split(/;\s*/)
@@ -509,11 +509,11 @@ module SiSU_Param
                 @toc_lev_limit=toc_lev_limit if toc_lev_limit
                 @flag_auto_heading_num=true if para =~/num_top/
               end
-              if para =~/^(?:@markup:|0~markup)\s+(.+?)$/m                             #%use of markup depreciated for num_top
+              if para =~/^(?:@markup:|0~markup)\s+(.+?)$/m                                                             #%use of markup depreciated for num_top
                 @markup=$1
                 @flag_auto_heading_num=true if para =~/num_top/
               end
-            when /^(?:@bold:|0~bold)\s+(.+?)$/m                                                     #% processing
+            when /^(?:@bold:|0~bold)\s+(.+?)$/m                                                                        #% processing
               m=$1.strip
               x=case m
               when /\/i$/; 'i'
@@ -527,7 +527,7 @@ module SiSU_Param
               else                          /#{rgx}/
               end
               @make_bold
-            when /^(?:@(?:italics?|itali[sz]e):|0~(?:italics?|itali[sz]e))\s+(.+?)$/m               #% processing Dublin Core - dublin core within
+            when /^(?:@(?:italics?|itali[sz]e):|0~(?:italics?|itali[sz]e))\s+(.+?)$/m                                  #% processing Dublin Core - dublin core within
               m=$1.strip
               x=case m
               when /\/i$/; 'i'
@@ -541,11 +541,11 @@ module SiSU_Param
               else                            /#{rgx}/
               end
               @make_italic
-            when /^(?:@(?:vocabulary|wordlist):|0~(?:vocabulary|wordlist))\s+(.+?)$/m               #% processing
-                @vocabulary=$1                                                   #not actually used by concordance
-            when /^(?:@skin:|0~skin)\s+(.+?)$/; @doc_skin=$1.strip                                  #% processing
-            when /^(?:@(?:css|stylesheet):|0~(?:css|stylesheet))\s+(.+?)$/; @doc_css=$1.strip       #% processing
-            when /^(?:@links:|0~links)\s+(.+?)\Z/m                                                   #% processing
+            when /^(?:@(?:vocabulary|wordlist):|0~(?:vocabulary|wordlist))\s+(.+?)$/m                                  #% processing
+                @vocabulary=$1                                                                                         #not actually used by concordance
+            when /^(?:@skin:|0~skin)\s+(.+?)$/; @doc_skin=$1.strip                                                     #% processing
+            when /^(?:@(?:css|stylesheet):|0~(?:css|stylesheet))\s+(.+?)$/; @doc_css=$1.strip                          #% processing
+            when /^(?:@links:|0~links)\s+(.+?)\Z/m                                                                     #% processing
               doc_links_str=$1
               @lnk=[]
               if doc_links_str=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/
@@ -569,16 +569,16 @@ module SiSU_Param
                   end
                 end
               end
-            when /^(?:@prefix(?:_[ab])?:|0~prefix(?:_[ab])?)\s/                                     #% metainfo
+            when /^(?:@prefix(?:_[ab])?:|0~prefix(?:_[ab])?)\s/                                                        #% metainfo
               if para =~/prefix_a:?\s+/
                 @prefix_a=para[/(?:@prefix_a:|0~prefix_a)\s+(.+?)$/im,1]
               end
               if para =~/prefix(?:_b)?:?\s+/
                 @prefix_b=para[/(?:@prefix(?:_b)?:|0~prefix(?:_b)?)\s+(.+?)$/im,1]
               end
-            when /^(?:@suffix:|0~suffix)\s+(.+?)$/m;           @suffix=$1                           #% metainfo
-            when /^(?:@information:|0~information)\s+(.+?)$/m; @information=$1                      #% metainfo
-            when /^(?:@topic_register:|0~topic_register)\s+(.+?)$/m; @topic_register=$1             #% metainfo, similar syntax to book index, leave out the ={} i.e. use equivalent of ={(.+?)}
+            when /^(?:@suffix:|0~suffix)\s+(.+?)$/m; @suffix=$1                                                        #% metainfo
+            when /^(?:@information:|0~information)\s+(.+?)$/m; @information=$1                                         #% metainfo
+            when /^(?:@topic_register:|0~topic_register)\s+(.+?)$/m; @topic_register=$1                                #% metainfo, similar syntax to book index, leave out the ={} i.e. use equivalent of ={(.+?)}
               u=@topic_register.scan(/[^;]+/)
               v=[]
               u.each do |l|
@@ -589,19 +589,19 @@ module SiSU_Param
                 @topic_register_array << m
               end
               @topic_register_array.sort!
-            when /^(?:@contact:|0~contact)\s+(.+?)$/m;         @contact=$1                          #% metainfo
-            when /^(?:@original_publication:|0~original_publication)\s+(.+?)$/m;         @original_publication=$1  #% details of original publication
-            when /^(?:@icon:|0~icon)\s+(.+?)$/m;               @icon=$1                             #% processing
+            when /^(?:@contact:|0~contact)\s+(.+?)$/m; @contact=$1                                                     #% metainfo
+            when /^(?:@original_publication:|0~original_publication)\s+(.+?)$/m; @original_publication=$1              #% details of original publication
+            when /^(?:@icon:|0~icon)\s+(.+?)$/m; @icon=$1                                                              #% processing
             when /^(?:@promo:|0~promo)\s+(.+?)$/m
               @flag_promo=true
               @promo=$1.split(/[,;]\s*/)
-            when /^(?:@ad:|0~ad)\s+(\S+)?\s+(\S+\.png)?\s+(.+?!)\s+(\d+)\s*$/m                      #% processing
+            when /^(?:@ad:|0~ad)\s+(\S+)?\s+(\S+\.png)?\s+(.+?!)\s+(\d+)\s*$/m                                         #% processing
               @ad_url,@ad_png,@ad_alt,@ad_began=$1,$2,$3,$4
-            when /0~ad\.home\s+(.+)?\s*$/m                                                          #% processing
+            when /0~ad\.home\s+(.+)?\s*$/m                                                                             #% processing
               ad_home_str=$1
               @ad_home=ad_home_str.split(/\s+!/)
-            when /^(?:@sta?mp(?:ed)?:|0~sta?mp(?:ed)?)\s+(.+?)$/m;  @stmp= $1.downcase!             #% processing
-            when /^(?:@(?:rcs|cvs):|0~(?:rcs|cvs))\+?\s+/                                           #% processing
+            when /^(?:@sta?mp(?:ed)?:|0~sta?mp(?:ed)?)\s+(.+?)$/m; @stmp= $1.downcase!                                 #% processing
+            when /^(?:@(?:rcs|cvs):|0~(?:rcs|cvs))\+?\s+/                                                              #% processing
               m=/(?:@(?:rcs|cvs):|0~(?:rcs|cvs))\+?\s+/ #note the + sign to turn on use of rcs or cvs id
               ver=para[/#{m}(.+)/,1] #RCS or CVS ID tag # eg. # $Id$
               contains=/[\$]Id:\s+(\S+),v\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+Exp\s+(?:\S+\s+)?[\$]/ # reason for [$] which is apparently unnecessary is that rcs or cvs will otherwise expand id!
@@ -610,9 +610,9 @@ module SiSU_Param
                 @sc_filename,@sc_number,@sc_date,@sc_time=filename,vnumber,date,time
               end
               @sc_info=true if para[/(?:@(?:rcs|cvs):|0~(?:rcs|cvs))\+/]
-            when /^@base_program:\s+(.+?)$/;                   @base_program=$1                                       #% processing
+            when /^@base_program:\s+(.+?)$/; @base_program=$1                                                          #% processing
               #% break - break, not necessary to process headers further :-) but necessary to extract endnotes etc. ;-(
-            when /^(?:@man:|0~man)\s+(.+?)\Z/m                                           #% man pages
+            when /^(?:@man:|0~man)\s+(.+?)\Z/m                                                                         #% man pages
               maninfo_str=$1
               maninfo=maninfo_str.split(/;\s*/m)
               maninfo.each do |x|
@@ -627,8 +627,8 @@ module SiSU_Param
             @lv4 ||=/^#{Mx[:lv_o]}4:/
             @lv5 ||=/^#{Mx[:lv_o]}5:/
             @lv6 ||=/^#{Mx[:lv_o]}6:/
-          else                                                                   #%
-            if para =~ /^(?:1|:?A)~/                                                                      #% processing
+          else                                                                                                         #%
+            if para =~ /^(?:1|:?A)~/                                                                                   #% processing
               if para=~/^:?A~/
                 if @markup.nil? \
                 or @markup.empty?
@@ -653,13 +653,13 @@ module SiSU_Param
             end
             unless @code_flag
               case para
-              when /~\{\s+.+?\}~/m                                                                    #% processing
+              when /~\{\s+.+?\}~/m                                                                                     #% processing
                 en=para.scan(/~\{.+?\}~/m)
                 en.each { |e| @en[:sum] +=1 }
-              when /~\^(?:\s|$)/m                                                                       #% processing
+              when /~\^(?:\s|$)/m                                                                                      #% processing
                 mk=para.scan(/~\^(?:\s|$)/)
                 mk.each { |e| @en[:mark] +=1 }
-              when /^\^~\s+\S/; @en[:note] +=1                                                        #% processing
+              when /^\^~\s+\S/; @en[:note] +=1                                                                         #% processing
               end
             end
             if para =~/~\{|\^~ |~\^|<:ee>|\{.+?\[[1-6]\]\}\S+?\.ss[tm]/m; @flag_auto_endnotes,@flag_endnotes=true,true
@@ -697,11 +697,11 @@ module SiSU_Param
             and para =~/^4~\s+(.+)$/
               t=$1
             end
-            unless @heading_seg_first_flag                          # extract first segment name
+            unless @heading_seg_first_flag                                                                             # extract first segment name
               @heading_seg_first=t
               @heading_seg_first_flag=true
             end
-            if m                                                     # list all segment names
+            if m                                                                                                       # list all segment names
               @seg_names << m
               @set_heading_seg=true
               if m=~/^\d{1,3}/ \
@@ -719,7 +719,7 @@ module SiSU_Param
           unless @sem_tag
             @sem_tag=true if para=~/[:;]\{.+?\}[:;][a-z+]/ #refix later
           end
-        end #% here endeth the document loop
+        end                                                                                                            #% here endeth the document loop
         if @ec[:image].length > 0
           @ec[:image].flatten!
           @ec[:image].uniq!
@@ -926,8 +926,8 @@ module SiSU_Param
           tell=SiSU_Screen::Ansi.new(@cmd,"doc_skin <- #@doc_skin")
           tell.txt_grey if @cmd =~/v/
         end
-        @data=nil                                                                #else whole file's contents are stored in md pstore & is not required to be... big waste actually
-        Store.new(self,@env).store                                           #% pstore
+        @data=nil #else whole file's contents are stored in md pstore & is not required to be... big waste actually
+        Store.new(self,@env).store                                                                                     #% pstore
         self
       end
       private
-- 
cgit v1.2.3


From 1784bcc41af9a6ea7c06abfd01e2f0ac057ab2a8 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Sun, 14 Dec 2008 00:14:21 -0500
Subject: emacs syntax highlighting, updated metadata fields

---
 .../sisu/conf/editor-syntax-etc/emacs/sisu-mode.el | 23 ++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el b/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el
index d0027798..ba2633d3 100644
--- a/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el
+++ b/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el
@@ -1,7 +1,7 @@
 ;;; sisu-mode.el --- a major-mode for highlighting a hierarchy structured text.
 ;; @Author: Ambrose Kofi Laing (& Ralph Amissah)
 ;; @Keywords: text, processes, tools
-;; @Version: 0.69.4 2008-11-02
+;; @Version: 0.70.1 2008-12-14
 ;; @License: GPLv3
 ;; @Home URL: SiSU:   http://www.jus.uio.no/sisu
 ;; originally looked at (based on) doc-mode, with kind permission of the author
@@ -297,16 +297,19 @@
 	    "^\\(\\@\\("
 	    "title\\|"
 	    "subtitle\\|"
-	    "creator\\|author\\|"
+	    "author.title\\|"
+	    "author.nationality\\|"
+	    "author\\|creator\\|"
 	    "translator\\|translated_by\\|"
 	    "illustrator\\|illustrated_by\\|"
 	    "prepared_by\\|"
 	    "digitized_by\\|"
 	    "contributor\\|"
 	    "publisher\\|"
-	    "subject\\|"
 	    "topic_register\\|"
+	    "subject\\|"
 	    "description\\|"
+	    "comment\\|"
 	    "type\\|"
 	    "format\\|"
 	    "source\\|"
@@ -321,14 +324,22 @@
 	    "papersize\\|"
 	    "tags\\|"
 	    "catalogue\\|"
-	    "classify_loc\\|"
-	    "classify_dewey\\|"
-	    "classify_isbn\\|"
 	    "date.created\\|"
 	    "date.issued\\|"
 	    "date.available\\|"
 	    "date.modified\\|"
+	    "date.valid\\|"
+	    "date.added_to_site\\|"
 	    "date\\|"
+	    "original_publication.date\\|"
+	    "original_publication.nationality\\|"
+	    "original_publication.institution\\|"
+	    "original_publication\\|"
+	    "writing_focus.nationality\\|"
+	    "classify_loc\\|"
+	    "classify_dewey\\|"
+	    "classify_isbn\\|"
+	    "classify_pg\\|"
 	    "prefix\\|"
 	    "suffix\\|"
 	    "contact\\|"
-- 
cgit v1.2.3


From 1deffbefc09b1521f9fac8c0796bebdf93a04698 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Sun, 14 Dec 2008 00:23:45 -0500
Subject: changelog synced and man pages, minor updates

---
 CHANGELOG                                                     | 9 ++++++---
 data/doc/sisu/html/sisu.1.html                                | 3 ++-
 data/doc/sisu/sisu_markup_samples/sisu_manual/sisu.ssm        | 4 ++--
 data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst | 4 ++--
 man/man1/sisu.1                                               | 2 +-
 5 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index a5b1a7c9..faa2d6c1 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -9,7 +9,7 @@ Reverse Chronological:
 
 %% STABLE MANIFEST
 
-%% sisu_0.70.1.orig.tar.gz (2008-12-12:49/5)
+%% sisu_0.70.1.orig.tar.gz (2008-12-14:49/7)
 http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.1.orig.tar.gz
   sisu_0.70.1.orig.tar.gz
   sisu_0.70.1-1.dsc
@@ -27,11 +27,10 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.1.orig.tar.gz
 
   * manifest, show topic register metadata for each document
 
-  * css main html modified
+  * css main html modified, run: sisu -CC
     * left margin changed, affects html generally
     * table th and td elements text top aligned
     * additions for manifest display of topic_register
-    sisu -CC
 
   * html tables
     * html structure, fix
@@ -40,11 +39,15 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.1.orig.tar.gz
   * latex/pdf bullet mark (bug in texlive, missing (at this instant) provide
     workaround)
 
+  * param, additional metadata fields
+
   * sql (postgresql), add proposed metadata fields for though not yet populated
     [if changes correctly anticipated, will enable future use of database
     structure built with current version, without need to re-create, will not
     affect existing sisu databases]
 
+  * emacs syntax highlighter update (metadata fields)
+
 %% sisu_0.70.0.orig.tar.gz (2008-12-03:48/3)
 http://www.jus.uio.no/sisu/pkg/src/sisu_0.70.0.orig.tar.gz
   51e4d5c2ac3c490332d8468de2400abcf454b55ac1e21ec625680a346fb41e4a 1540091 sisu_0.70.0.orig.tar.gz
diff --git a/data/doc/sisu/html/sisu.1.html b/data/doc/sisu/html/sisu.1.html
index 8f8bff3f..25b6e7e4 100644
--- a/data/doc/sisu/html/sisu.1.html
+++ b/data/doc/sisu/html/sisu.1.html
@@ -743,7 +743,8 @@ one (without the comments):
   @title: SiSU
   @subtitle: Markup
   @creator: Amissah, Ralph
-  % note formatting rules on author / creator field,
+  % note formatting on author / creator field, surname comma then other
+names, if more than one author separate using semi-colon
   @rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation,
 License GPL 3
   @type: information
diff --git a/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu.ssm b/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu.ssm
index 676e23d7..9e891fcb 100644
--- a/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu.ssm
+++ b/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu.ssm
@@ -18,9 +18,9 @@
 
 @date.available: 2002-08-28
 
-@date.modified: 2008-05-22
+@date.modified: 2008-12-14
 
-@date: 2008-05-22
+@date: 2008-12-14
 
 @level: new=C; break=1; num_top=1
 
diff --git a/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst b/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst
index c31a1abe..dd620872 100644
--- a/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst
+++ b/data/doc/sisu/sisu_markup_samples/sisu_manual/sisu_markup.sst
@@ -14,7 +14,7 @@
 
 @subject: ebook, epublishing, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, search
 
-@date: 2008-05-22
+@date: 2008-12-14
 
 @date.created: 2002-08-28
 
@@ -22,7 +22,7 @@
 
 @date.available: 2002-08-28
 
-@date.modified: 2008-05-22
+@date.modified: 2008-12-14
 
 @level: new=C; break=1; num_top=1
 
diff --git a/man/man1/sisu.1 b/man/man1/sisu.1
index 66b9d47a..fc8f3a77 100644
--- a/man/man1/sisu.1
+++ b/man/man1/sisu.1
@@ -1,4 +1,4 @@
-.TH "sisu" "1" "2008-07-21" "0.68.0" "SiSU"
+.TH "sisu" "1" "2008-12-14" "0.70.1" "SiSU"
 .SH NAME
 sisu \- documents: markup, structuring, publishing in multiple standard formats, and search
 .SH SYNOPSIS
-- 
cgit v1.2.3