aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2012-11-15 08:50:04 -0500
committerRalph Amissah <ralph@amissah.com>2012-11-15 08:50:04 -0500
commitb147bcd379f889e60fda61e48aac915eebc016b7 (patch)
treea90e0a9a1229e6b2d98446abac1c063b3c4ade55
parentv4: sisupod, use common make instruction header for documents (diff)
v4: document headers, metadata rearranged, wide-ranging effect
-rw-r--r--data/doc/sisu/CHANGELOG_v42
-rw-r--r--lib/sisu/v4/cgi_sql_common.rb21
-rw-r--r--lib/sisu/v4/constants.rb11
-rw-r--r--lib/sisu/v4/db_columns.rb297
-rw-r--r--lib/sisu/v4/db_create.rb32
-rw-r--r--lib/sisu/v4/db_load_tuple.rb30
-rw-r--r--lib/sisu/v4/manifest.rb329
-rw-r--r--lib/sisu/v4/param.rb109
-rw-r--r--lib/sisu/v4/po4a.rb27
-rw-r--r--lib/sisu/v4/qrcode.rb112
-rw-r--r--lib/sisu/v4/shared_metadata.rb113
-rw-r--r--lib/sisu/v4/shared_xml.rb88
-rw-r--r--lib/sisu/v4/texinfo_format.rb46
-rw-r--r--lib/sisu/v4/xml_format.rb44
-rw-r--r--lib/sisu/v4/xml_md_oai_pmh_dc.rb83
15 files changed, 667 insertions, 677 deletions
diff --git a/data/doc/sisu/CHANGELOG_v4 b/data/doc/sisu/CHANGELOG_v4
index d721b265..5308abd8 100644
--- a/data/doc/sisu/CHANGELOG_v4
+++ b/data/doc/sisu/CHANGELOG_v4
@@ -62,3 +62,5 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_4.0.0.orig.tar.xz
* v4: sisupod, use common make instruction header for documents
* sisupod make instruction header file, write & read
+
+* v4: document headers, metadata rearranged, wide-ranging effect
diff --git a/lib/sisu/v4/cgi_sql_common.rb b/lib/sisu/v4/cgi_sql_common.rb
index 18e1ab1e..eb766a4c 100644
--- a/lib/sisu/v4/cgi_sql_common.rb
+++ b/lib/sisu/v4/cgi_sql_common.rb
@@ -345,11 +345,6 @@ module SiSU_CGI_SQL
search[:text] << st[:search]
search[:endnotes] << st[:search]
end
- st=DBI_SearchString.new('metadata_and_text.classify_keywords',search_for.keywords,q['key'],cse).string
- if st[:flag]
- search[:text] << st[:search]
- search[:endnotes] << st[:search]
- end
st=DBI_SearchString.new('metadata_and_text.title',search_for.title,q['ti'],cse).string
if st[:flag]
search[:text] << st[:search]
@@ -370,6 +365,11 @@ module SiSU_CGI_SQL
search[:text] << st[:search]
search[:endnotes] << st[:search]
end
+ st=DBI_SearchString.new('metadata_and_text.classify_keywords',search_for.keywords,q['key'],cse).string
+ if st[:flag]
+ search[:text] << st[:search]
+ search[:endnotes] << st[:search]
+ end
st=DBI_SearchString.new('metadata_and_text.notes_description',search_for.description,q['dsc'],cse).string
if st[:flag]
search[:text] << st[:search]
@@ -395,12 +395,7 @@ module SiSU_CGI_SQL
search[:text] << st[:search]
search[:endnotes] << st[:search]
end
- st=DBI_SearchString.new('metadata_and_text.classify_type',search_for.type,q['ty'],cse).string
- if st[:flag]
- search[:text] << st[:search]
- search[:endnotes] << st[:search]
- end
- st=DBI_SearchString.new('metadata_and_text.classify_identifier',search_for.identifier,q['id'],cse).string
+ st=DBI_SearchString.new('metadata_and_text.notes_type',search_for.type,q['ty'],cse).string
if st[:flag]
search[:text] << st[:search]
search[:endnotes] << st[:search]
@@ -415,12 +410,12 @@ module SiSU_CGI_SQL
search[:text] << st[:search]
search[:endnotes] << st[:search]
end
- st=DBI_SearchString.new('metadata_and_text.classify_relation',search_for.relation,q['rel'],cse).string
+ st=DBI_SearchString.new('metadata_and_text.notes_relation',search_for.relation,q['rel'],cse).string
if st[:flag]
search[:text] << st[:search]
search[:endnotes] << st[:search]
end
- st=DBI_SearchString.new('metadata_and_text.classify_coverage',search_for.coverage,q['cov'],cse).string
+ st=DBI_SearchString.new('metadata_and_text.notes_coverage',search_for.coverage,q['cov'],cse).string
if st[:flag]
search[:text] << st[:search]
search[:endnotes] << st[:search]
diff --git a/lib/sisu/v4/constants.rb b/lib/sisu/v4/constants.rb
index 24ec53a0..af5c13a4 100644
--- a/lib/sisu/v4/constants.rb
+++ b/lib/sisu/v4/constants.rb
@@ -213,12 +213,11 @@ Db={
col_language: 100,
col_language_char: 6,
col_date_text: 10,
- col_classify_txt_long: 600,
- col_classify_txt_short: 600,
- col_classify_short: 200,
- col_classify_identify: 256,
- col_classify_library: 30,
- col_classify_small: 16,
+ col_txt_long: 600,
+ col_txt_short: 200,
+ col_identify_hash: 256,
+ col_library: 30,
+ col_small: 16,
col_filename: 256,
col_digest: 64,
col_filesize: 10,
diff --git a/lib/sisu/v4/db_columns.rb b/lib/sisu/v4/db_columns.rb
index 4e9b9089..9fc24bf8 100644
--- a/lib/sisu/v4/db_columns.rb
+++ b/lib/sisu/v4/db_columns.rb
@@ -1363,20 +1363,64 @@ module SiSU_DbColumns
self
end
=begin
+#% identifier
+@identifier:
+ :oclc:
+ :isbn:
+=end
+ def identifier_oclc
+ def name
+ 'identifier_oclc'
+ end
+ def create_column
+ "#{name} VARCHAR(#{Db[:col_library]}) NULL,"
+ end
+ def column_comment
+ %{COMMENT ON COLUMN metadata_and_text.#{name}
+ IS 'metadata identifier document Online Computer Library Center number';}
+ end
+ def tuple
+ t=if defined? @md.identifier.oclc \
+ and @md.identifier.oclc=~/\S+/
+ txt=@md.identifier.oclc
+ txt=special_character_escape(txt)
+ ["#{name}, ","'#{txt}', "]
+ else ['','']
+ end
+ end
+ self
+ end
+ def identifier_isbn
+ def name
+ 'identifier_isbn'
+ end
+ def create_column
+ "#{name} VARCHAR(#{Db[:col_small]}) NULL,"
+ end
+ def column_comment
+ %{COMMENT ON COLUMN metadata_and_text.#{name}
+ IS 'metadata identifier document isbn (if any)';}
+ end
+ def tuple
+ t=if defined? @md.identifier.isbn \
+ and @md.identifier.isbn=~/\S+/
+ txt=@md.identifier.isbn
+ txt=special_character_escape(txt)
+ ["#{name}, ","'#{txt}', "]
+ else ['','']
+ end
+ end
+ self
+ end
+=begin
#% classify
@classify:
:topic_register:
- :coverage:
- :format:
- :identifier:
- :keywords:
- :relation:
:subject:
+ :keywords:
:type:
:loc:
:dewey:
- :pg:
- :isbn:
=end
def classify_topic_register
def name
@@ -1405,7 +1449,7 @@ module SiSU_DbColumns
'classify_subject'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_classify_txt_short]}) NULL,"
+ "#{name} VARCHAR(#{Db[:col_txt_long]}) NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
@@ -1422,34 +1466,12 @@ module SiSU_DbColumns
end
self
end
- def classify_type #check
- def name
- 'classify_type'
- end
- def create_column
- "#{name} VARCHAR(#{Db[:col_classify_txt_short]}) NULL,"
- end
- def column_comment
- %{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata classify document type [DC8]';}
- end
- def tuple
- t=if defined? @md.classify.type \
- and @md.classify.type=~/\S+/
- txt=@md.classify.type
- txt=special_character_escape(txt)
- ["#{name}, ","'#{txt}', "]
- else ['','']
- end
- end
- self
- end
def classify_loc
def name
'classify_loc'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_classify_library]}) NULL,"
+ "#{name} VARCHAR(#{Db[:col_library]}) NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
@@ -1471,7 +1493,7 @@ module SiSU_DbColumns
'classify_dewey'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_classify_library]}) NULL,"
+ "#{name} VARCHAR(#{Db[:col_library]}) NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
@@ -1488,65 +1510,21 @@ module SiSU_DbColumns
end
self
end
- def classify_oclc
- def name
- 'classify_oclc'
- end
- def create_column
- "#{name} VARCHAR(#{Db[:col_classify_library]}) NULL,"
- end
- def column_comment
- %{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata classify document Online Computer Library Center number';}
- end
- def tuple
- t=if defined? @md.classify.oclc \
- and @md.classify.oclc=~/\S+/
- txt=@md.classify.oclc
- txt=special_character_escape(txt)
- ["#{name}, ","'#{txt}', "]
- else ['','']
- end
- end
- self
- end
- def classify_pg
- def name
- 'classify_pg'
- end
- def create_column
- "#{name} VARCHAR(#{Db[:col_classify_small]}) NULL,"
- end
- def column_comment
- %{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata classify document project gutenberg (if any)';}
- end
- def tuple
- t=if defined? @md.classify.pg \
- and @md.classify.pg=~/\S+/
- txt=@md.classify.pg
- txt=special_character_escape(txt)
- ["#{name}, ","'#{txt}', "]
- else ['','']
- end
- end
- self
- end
- def classify_isbn
+ def classify_keywords
def name
- 'classify_isbn'
+ 'classify_keywords'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_classify_small]}) NULL,"
+ "#{name} VARCHAR(#{Db[:col_txt_long]}) NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata classify document isbn (if any)';}
+ IS 'metadata classify document keywords';}
end
def tuple
- t=if defined? @md.classify.isbn \
- and @md.classify.isbn=~/\S+/
- txt=@md.classify.isbn
+ t=if defined? @md.classify.keywords \
+ and @md.classify.keywords=~/\S+/
+ txt=@md.classify.keywords
txt=special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -1554,21 +1532,36 @@ module SiSU_DbColumns
end
self
end
- def classify_format
+=begin
+#% notes
+@notes:
+ :abstract:
+ :description:
+ :comment:
+ :coverage:
+ :relation:
+ :format:
+ :history:
+ :prefix:
+ :prefix_a:
+ :prefix_b:
+ :suffix:
+=end
+ def notes_abstract
def name
- 'classify_format'
+ 'notes_abstract'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_classify_txt_short]}) NULL,"
+ "#{name} TEXT NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata classify document format [DC9]';}
+ IS 'metadata document notes abstract';}
end
def tuple
- t=if defined? @md.classify.format \
- and @md.classify.format=~/\S+/
- txt=@md.classify.format
+ t=if defined? @md.notes.abstract \
+ and @md.notes.abstract=~/\S+/
+ txt=@md.notes.abstract
txt=special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -1576,21 +1569,21 @@ module SiSU_DbColumns
end
self
end
- def classify_identifier
+ def notes_description
def name
- 'classify_identifier'
+ 'notes_description'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_classify_identify]}) NULL,"
+ "#{name} TEXT NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata classify document identifier [DC10]';}
+ IS 'metadata document notes description [DC4]';}
end
def tuple
- t=if defined? @md.classify.identifier \
- and @md.classify.identifier=~/\S+/
- txt=@md.classify.identifier
+ t=if defined? @md.notes.description \
+ and @md.notes.description=~/\S+/
+ txt=@md.notes.description
txt=special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -1598,21 +1591,21 @@ module SiSU_DbColumns
end
self
end
- def classify_relation
+ def notes_comment
def name
- 'classify_relation'
+ 'notes_comment'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_classify_short]}) NULL,"
+ "#{name} TEXT NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata classify document relation [DC13]';}
+ IS 'metadata document notes comment';}
end
def tuple
- t=if defined? @md.classify.relation \
- and @md.classify.relation=~/\S+/
- txt=@md.classify.relation
+ t=if defined? @md.notes.comment \
+ and @md.notes.comment=~/\S+/
+ txt=@md.notes.comment
txt=special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -1620,12 +1613,12 @@ module SiSU_DbColumns
end
self
end
- def classify_coverage
+ def notes_coverage
def name
- 'classify_coverage'
+ 'notes_coverage'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_classify_short]}) NULL,"
+ "#{name} VARCHAR(#{Db[:col_txt_short]}) NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
@@ -1642,55 +1635,21 @@ module SiSU_DbColumns
end
self
end
- def classify_keywords
- def name
- 'classify_keywords'
- end
- def create_column
- "#{name} VARCHAR(#{Db[:col_classify_txt_short]}) NULL,"
- end
- def column_comment
- %{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata classify document keywords';}
- end
- def tuple
- t=if defined? @md.classify.keywords \
- and @md.classify.keywords=~/\S+/
- txt=@md.classify.keywords
- txt=special_character_escape(txt)
- ["#{name}, ","'#{txt}', "]
- else ['','']
- end
- end
- self
- end
-=begin
-#% notes
-@notes:
- :abstract:
- :comment:
- :description:
- :history:
- :prefix:
- :prefix_a:
- :prefix_b:
- :suffix:
-=end
- def notes_abstract
+ def notes_relation
def name
- 'notes_abstract'
+ 'notes_relation'
end
def create_column
- "#{name} TEXT NULL,"
+ "#{name} VARCHAR(#{Db[:col_txt_short]}) NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata document notes abstract';}
+ IS 'metadata classify document relation [DC13]';}
end
def tuple
- t=if defined? @md.notes.abstract \
- and @md.notes.abstract=~/\S+/
- txt=@md.notes.abstract
+ t=if defined? @md.classify.relation \
+ and @md.classify.relation=~/\S+/
+ txt=@md.classify.relation
txt=special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -1698,21 +1657,21 @@ module SiSU_DbColumns
end
self
end
- def notes_comment
+ def notes_history #check, consider removal
def name
- 'notes_comment'
+ 'notes_history'
end
def create_column
- "#{name} TEXT NULL,"
+ "#{name} VARCHAR(#{Db[:col_txt_long]}) NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata document notes comment';}
+ IS 'metadata document notes history';}
end
def tuple
- t=if defined? @md.notes.comment \
- and @md.notes.comment=~/\S+/
- txt=@md.notes.comment
+ t=if defined? @md.notes.history \
+ and @md.notes.history=~/\S+/
+ txt=@md.notes.history
txt=special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -1720,21 +1679,21 @@ module SiSU_DbColumns
end
self
end
- def notes_description
+ def notes_type #check
def name
- 'notes_description'
+ 'notes_type'
end
def create_column
- "#{name} TEXT NULL,"
+ "#{name} VARCHAR(#{Db[:col_txt_long]}) NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata document notes description [DC4]';}
+ IS 'metadata notes document type [DC8]';}
end
def tuple
- t=if defined? @md.notes.description \
- and @md.notes.description=~/\S+/
- txt=@md.notes.description
+ t=if defined? @md.notes.type \
+ and @md.notes.type=~/\S+/
+ txt=@md.notes.type
txt=special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
@@ -1742,21 +1701,21 @@ module SiSU_DbColumns
end
self
end
- def notes_history #check, consider removal
+ def notes_format
def name
- 'notes_history'
+ 'notes_format'
end
def create_column
- "#{name} VARCHAR(#{Db[:col_classify_txt_short]}) NULL,"
+ "#{name} VARCHAR(#{Db[:col_txt_long]}) NULL,"
end
def column_comment
%{COMMENT ON COLUMN metadata_and_text.#{name}
- IS 'metadata document notes history';}
+ IS 'metadata classify document format [DC9]';}
end
def tuple
- t=if defined? @md.notes.history \
- and @md.notes.history=~/\S+/
- txt=@md.notes.history
+ t=if defined? @md.classify.format \
+ and @md.classify.format=~/\S+/
+ txt=@md.classify.format
txt=special_character_escape(txt)
["#{name}, ","'#{txt}', "]
else ['','']
diff --git a/lib/sisu/v4/db_create.rb b/lib/sisu/v4/db_create.rb
index 64bf5763..784f37b1 100644
--- a/lib/sisu/v4/db_create.rb
+++ b/lib/sisu/v4/db_create.rb
@@ -163,22 +163,22 @@ module SiSU_DbCreate
/* classify */
#{column.classify_topic_register.create_column}
#{column.classify_subject.create_column}
- #{column.classify_type.create_column}
#{column.classify_loc.create_column}
#{column.classify_dewey.create_column}
- #{column.classify_oclc.create_column}
- #{column.classify_pg.create_column}
- #{column.classify_isbn.create_column}
- #{column.classify_format.create_column}
- #{column.classify_identifier.create_column}
- #{column.classify_relation.create_column}
- #{column.classify_coverage.create_column}
#{column.classify_keywords.create_column}
+ /* identifier */
+ #{column.identifier_oclc.create_column}
+ #{column.identifier_isbn.create_column}
/* notes */
#{column.notes_abstract.create_column}
- #{column.notes_comment.create_column}
#{column.notes_description.create_column}
+ #{column.notes_comment.create_column}
#{column.notes_history.create_column}
+ #{column.notes_coverage.create_column}
+ #{column.notes_relation.create_column}
+ /* column.notes_source.create_column */
+ #{column.notes_type.create_column}
+ #{column.notes_format.create_column}
#{column.notes_prefix.create_column}
#{column.notes_prefix_a.create_column}
#{column.notes_prefix_b.create_column}
@@ -421,21 +421,19 @@ module SiSU_DbCreate
%{#{column.rights_license.column_comment}},
%{#{column.classify_topic_register.column_comment}},
%{#{column.classify_subject.column_comment}},
- %{#{column.classify_type.column_comment}},
%{#{column.classify_loc.column_comment}},
%{#{column.classify_dewey.column_comment}},
- %{#{column.classify_oclc.column_comment}},
- %{#{column.classify_pg.column_comment}},
- %{#{column.classify_isbn.column_comment}},
- %{#{column.classify_format.column_comment}},
- %{#{column.classify_identifier.column_comment}},
- %{#{column.classify_relation.column_comment}},
- %{#{column.classify_coverage.column_comment}},
%{#{column.classify_keywords.column_comment}},
+ %{#{column.identifier_oclc.column_comment}},
+ %{#{column.identifier_isbn.column_comment}},
%{#{column.notes_abstract.column_comment}},
%{#{column.notes_comment.column_comment}},
%{#{column.notes_description.column_comment}},
%{#{column.notes_history.column_comment}},
+ %{#{column.notes_coverage.column_comment}},
+ %{#{column.notes_relation.column_comment}},
+ %{#{column.notes_type.column_comment}},
+ %{#{column.notes_format.column_comment}},
%{#{column.notes_prefix.column_comment}},
%{#{column.notes_prefix_a.column_comment}},
%{#{column.notes_prefix_b.column_comment}},
diff --git a/lib/sisu/v4/db_load_tuple.rb b/lib/sisu/v4/db_load_tuple.rb
index 78fa987a..3df7ca3e 100644
--- a/lib/sisu/v4/db_load_tuple.rb
+++ b/lib/sisu/v4/db_load_tuple.rb
@@ -173,21 +173,19 @@ module SiSU_DbTuple
#{@tp.column.rights_license.tuple[0]}
#{@tp.column.classify_topic_register.tuple[0]}
#{@tp.column.classify_subject.tuple[0]}
-#{@tp.column.classify_type.tuple[0]}
#{@tp.column.classify_loc.tuple[0]}
#{@tp.column.classify_dewey.tuple[0]}
-#{@tp.column.classify_oclc.tuple[0]}
-#{@tp.column.classify_pg.tuple[0]}
-#{@tp.column.classify_isbn.tuple[0]}
-#{@tp.column.classify_format.tuple[0]}
-#{@tp.column.classify_identifier.tuple[0]}
-#{@tp.column.classify_relation.tuple[0]}
-#{@tp.column.classify_coverage.tuple[0]}
#{@tp.column.classify_keywords.tuple[0]}
+#{@tp.column.identifier_oclc.tuple[0]}
+#{@tp.column.identifier_isbn.tuple[0]}
#{@tp.column.notes_abstract.tuple[0]}
-#{@tp.column.notes_comment.tuple[0]}
#{@tp.column.notes_description.tuple[0]}
+#{@tp.column.notes_comment.tuple[0]}
#{@tp.column.notes_history.tuple[0]}
+#{@tp.column.notes_format.tuple[0]}
+#{@tp.column.notes_relation.tuple[0]}
+#{@tp.column.notes_coverage.tuple[0]}
+#{@tp.column.notes_type.tuple[0]}
#{@tp.column.notes_prefix.tuple[0]}
#{@tp.column.notes_prefix_a.tuple[0]}
#{@tp.column.notes_prefix_b.tuple[0]}
@@ -255,21 +253,19 @@ tid)
#{@tp.column.rights_license.tuple[1]}
#{@tp.column.classify_topic_register.tuple[1]}
#{@tp.column.classify_subject.tuple[1]}
-#{@tp.column.classify_type.tuple[1]}
#{@tp.column.classify_loc.tuple[1]}
#{@tp.column.classify_dewey.tuple[1]}
-#{@tp.column.classify_oclc.tuple[1]}
-#{@tp.column.classify_pg.tuple[1]}
-#{@tp.column.classify_isbn.tuple[1]}
-#{@tp.column.classify_format.tuple[1]}
-#{@tp.column.classify_identifier.tuple[1]}
-#{@tp.column.classify_relation.tuple[1]}
-#{@tp.column.classify_coverage.tuple[1]}
#{@tp.column.classify_keywords.tuple[1]}
+#{@tp.column.identifier_oclc.tuple[1]}
+#{@tp.column.identifier_isbn.tuple[1]}
#{@tp.column.notes_abstract.tuple[1]}
#{@tp.column.notes_comment.tuple[1]}
#{@tp.column.notes_description.tuple[1]}
#{@tp.column.notes_history.tuple[1]}
+#{@tp.column.notes_format.tuple[1]}
+#{@tp.column.notes_relation.tuple[1]}
+#{@tp.column.notes_coverage.tuple[1]}
+#{@tp.column.notes_type.tuple[1]}
#{@tp.column.notes_prefix.tuple[1]}
#{@tp.column.notes_prefix_a.tuple[1]}
#{@tp.column.notes_prefix_b.tuple[1]}
diff --git a/lib/sisu/v4/manifest.rb b/lib/sisu/v4/manifest.rb
index 6f751a24..9c4fceb9 100644
--- a/lib/sisu/v4/manifest.rb
+++ b/lib/sisu/v4/manifest.rb
@@ -507,77 +507,58 @@ WOK
end
end
def metadata_tests
- if defined? @md.title.full \
- and @md.title.full=~/\S+/
- id,info=@translate.full_title,@md.title.full
- metadata(id,info)
- end
- if defined? @md.creator.author \
- and @md.creator.author=~/\S+/
- id,info=@translate.author,@md.creator.author
- metadata(id,info)
- end
- if defined? @md.creator.editor \
- and @md.creator.editor=~/\S+/
- id,info=@translate.editor,@md.creator.editor
- metadata(id,info)
- end
- if defined? @md.creator.contributor \
- and @md.creator.contributor=~/\S+/
- id,info=@translate.contributor,@md.creator.contributor
- metadata(id,info)
- end
- if defined? @md.creator.translator \
- and @md.creator.translator=~/\S+/
- id,info=@translate.translator,@md.creator.translator
- metadata(id,info)
- end
- if defined? @md.creator.illustrator \
- and @md.creator.illustrator=~/\S+/
- id,info=@translate.illustrator,@md.creator.illustrator
- metadata(id,info)
- end
- if defined? @md.publisher \
- and @md.publisher=~/\S+/ #dc
- id,info=@translate.publisher,@md.publisher
- metadata(id,info)
- end
- if defined? @md.creator.prepared_by \
- and @md.creator.prepared_by=~/\S+/
- id,info=@translate.prepared_by,@md.creator.prepared_by
- metadata(id,info)
- end
- if defined? @md.creator.digitized_by \
- and @md.creator.digitized_by=~/\S+/
- id,info=@translate.digitized_by,@md.creator.digitized_by
- metadata(id,info)
- end
- if defined? @md.classify.subject \
- and @md.classify.subject=~/\S+/
- id,info=@translate.subject,@md.classify.subject
- metadata(id,info)
- end
- if defined? @md.notes.description \
- and @md.notes.description=~/\S+/
- id,info=@translate.description,@md.notes.description
- metadata(id,info)
- end
- if defined? @md.notes.abstract \
- and @md.notes.abstract=~/\S+/
- id,info=@translate.abstract,@md.notes.abstract
- metadata(id,info)
+ if defined? @md.title #%
+ if defined? @md.title.full \
+ and @md.title.full=~/\S+/
+ id,info=@translate.full_title,@md.title.full
+ metadata(id,info)
+ end
end
- if defined? @md.type \
- and @md.type=~/\S+/ #dc
- id,info=@translate.type,@md.type
- metadata(id,info)
+ if defined? @md.creator #%
+ if defined? @md.creator.author \
+ and @md.creator.author=~/\S+/
+ id,info=@translate.author,@md.creator.author
+ metadata(id,info)
+ end
+ if defined? @md.creator.editor \
+ and @md.creator.editor=~/\S+/
+ id,info=@translate.editor,@md.creator.editor
+ metadata(id,info)
+ end
+ if defined? @md.creator.contributor \
+ and @md.creator.contributor=~/\S+/
+ id,info=@translate.contributor,@md.creator.contributor
+ metadata(id,info)
+ end
+ if defined? @md.creator.translator \
+ and @md.creator.translator=~/\S+/
+ id,info=@translate.translator,@md.creator.translator
+ metadata(id,info)
+ end
+ if defined? @md.creator.illustrator \
+ and @md.creator.illustrator=~/\S+/
+ id,info=@translate.illustrator,@md.creator.illustrator
+ metadata(id,info)
+ end
+ if defined? @md.creator.prepared_by \
+ and @md.creator.prepared_by=~/\S+/
+ id,info=@translate.prepared_by,@md.creator.prepared_by
+ metadata(id,info)
+ end
+ if defined? @md.creator.digitized_by \
+ and @md.creator.digitized_by=~/\S+/
+ id,info=@translate.digitized_by,@md.creator.digitized_by
+ metadata(id,info)
+ end
end
- if defined? @md.rights.all \
- and @md.rights.all=~/\S+/ #dc
- id,info=@translate.rights,@md.rights.all
- metadata(id,info)
+ if defined? @md.rights
+ if defined? @md.rights.all \
+ and @md.rights.all=~/\S+/ #dc
+ id,info=@translate.rights,@md.rights.all
+ metadata(id,info)
+ end
end
- if defined? @md.date.published
+ if defined? @md.date #%
if defined? @md.date.published \
and @md.date.published=~/\S+/ #dc
id,info=@translate.date,@md.date.published
@@ -609,108 +590,136 @@ WOK
metadata(id,info)
end
end
- if defined? @md.title.language \
- and @md.title.language=~/\S+/
- id,info=@translate.language,@md.title.language
- metadata(id,info)
- end
- if defined? @md.original.language \
- and @md.original.language=~/\S+/
- id,info=@translate.language_original,@md.original.language
- metadata(id,info)
- end
- if defined? @md.classify.format \
- and @md.classify.format=~/\S+/
- id,info=@transate.format,@md.classify.format
- metadata(id,info)
- end
- if defined? @md.classify.identifier \
- and @md.classify.identifier=~/\S+/
- id,info=@translate.identifier,@md.classify.identifier
- metadata(id,info)
- end
- if defined? @md.original.source \
- and @md.original.source=~/\S+/
- id,info=@translate.source,@md.original.source
- metadata(id,info)
- end
- if defined? @md.classify.relation \
- and @md.classify.relation=~/\S+/
- id,info=@translate.relation,@md.classify.relation
- metadata(id,info)
- end
- if defined? @md.classify.coverage \
- and @md.classify.coverage=~/\S+/
- id,info=@translate.coverage,@md.classify.coverage
- metadata(id,info)
- end
- if defined? @md.classify.keywords \
- and @md.classify.keywords=~/\S+/
- id,info=@translate.keywords,@md.classify.keywords
- metadata(id,info)
- end
- if defined? @md.notes.comment \
- and @md.notes.comment=~/\S+/
- id,info=@translate.comments,@md.notes.comment
- metadata(id,info)
- end
- if defined? @md.classify.loc \
- and @md.classify.loc=~/\S+/
- id,info=@translate.cls_loc,@md.classify.loc
- metadata(id,info)
- end
- if defined? @md.classify.dewey \
- and @md.classify.dewey=~/\S+/
- id,info=@translate.cls_dewey,@md.classify.dewey
- metadata(id,info)
- end
- if defined? @md.classify.oclc \
- and @md.classify.oclc=~/\S+/
- id,info=@translate.cls_oclc,@md.classify.oclc
- @manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{id}:</p></th><td>\n}
- @manifest[:html] << %{<p class="left"><a href="http://worldcat.org/oclc/#{info}">#{info}</a></p>\n}
- @manifest[:html] << %{</td></tr>\n}
- end
- if defined? @md.classify.pg \
- and @md.classify.pg=~/\S+/
- id,info=@translate.cls_gutenberg,@md.classify.pg
- metadata(id,info)
- end
- if defined? @md.classify.isbn \
- and @md.classify.isbn=~/\S+/
- id,info=@translate.cls_isbn,@md.classify.isbn
+ if defined? @md.publisher \
+ and @md.publisher=~/\S+/ #dc
+ id,info=@translate.publisher,@md.publisher
metadata(id,info)
end
- if defined? @md.notes.prefix_a \
- and @md.notes.prefix_a=~/\S+/
- id,info=@translate.prefix_a,@md.notes.prefix_a
- metadata(id,info)
+ if defined? @md.notes #%
+ if defined? @md.notes.description \
+ and @md.notes.description=~/\S+/
+ id,info=@translate.description,@md.notes.description
+ metadata(id,info)
+ end
+ if defined? @md.notes.abstract \
+ and @md.notes.abstract=~/\S+/
+ id,info=@translate.abstract,@md.notes.abstract
+ metadata(id,info)
+ end
+ if defined? @md.notes.comment \
+ and @md.notes.comment=~/\S+/
+ id,info=@translate.comments,@md.notes.comment
+ metadata(id,info)
+ end
+ if defined? @md.notes.prefix_a \
+ and @md.notes.prefix_a=~/\S+/
+ id,info=@translate.prefix_a,@md.notes.prefix_a
+ metadata(id,info)
+ end
+ if defined? @md.notes.prefix_b \
+ and @md.notes.prefix_b=~/\S+/
+ id,info=@translate.prefix_b,@md.notes.prefix_b
+ metadata(id,info)
+ end
end
- if defined? @md.notes.prefix_b \
- and @md.notes.prefix_b=~/\S+/
- id,info=@translate.prefix_b,@md.notes.prefix_b
- metadata(id,info)
+ if defined? @md.title #%
+ if defined? @md.title.language \
+ and @md.title.language=~/\S+/
+ id,info=@translate.language,@md.title.language
+ metadata(id,info)
+ end
+ if defined? @md.original.language \
+ and @md.original.language=~/\S+/
+ id,info=@translate.language_original,@md.original.language
+ metadata(id,info)
+ end
end
- if defined? @md.topic_register_array \
- and @md.topic_register_array.length > 0
- @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.is_a?(Array)
- st.each do |v|
- if v.is_a?(Array)
- v.each do |w,i|
- @manifest[:html] << %{<p class="it#{i}">#{w}</p>\n}
+ if defined? @md.classify #%
+ if defined? @md.topic_register_array \
+ and @md.topic_register_array.length > 0
+ @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.is_a?(Array)
+ st.each do |v|
+ if v.is_a?(Array)
+ v.each do |w,i|
+ @manifest[:html] << %{<p class="it#{i}">#{w}</p>\n}
+ end
+ else
+ @manifest[:html] << %{<p class="it#{i}">#{v}</p>\n}
end
- else
- @manifest[:html] << %{<p class="it#{i}">#{v}</p>\n}
end
+ else @manifest[:html] << %{<p class="it#{i}">#{st}</p>\n}
end
- else @manifest[:html] << %{<p class="it#{i}">#{st}</p>\n}
end
end
+ @manifest[:html] << %{</td></tr>\n}
+ end
+ if defined? @md.classify.subject \
+ and @md.classify.subject=~/\S+/
+ id,info=@translate.subject,@md.classify.subject
+ metadata(id,info)
+ end
+ if defined? @md.classify.keywords \
+ and @md.classify.keywords=~/\S+/
+ id,info=@translate.keywords,@md.classify.keywords
+ metadata(id,info)
+ end
+ if defined? @md.classify.loc \
+ and @md.classify.loc=~/\S+/
+ id,info=@translate.cls_loc,@md.classify.loc
+ metadata(id,info)
+ end
+ if defined? @md.classify.dewey \
+ and @md.classify.dewey=~/\S+/
+ id,info=@translate.cls_dewey,@md.classify.dewey
+ metadata(id,info)
+ end
+ if defined? @md.notes.coverage \
+ and @md.notes.coverage=~/\S+/
+ id,info=@translate.coverage,@md.notes.coverage
+ metadata(id,info)
+ end
+ if defined? @md.notes.relation \
+ and @md.notes.relation=~/\S+/
+ id,info=@translate.relation,@md.notes.relation
+ metadata(id,info)
end
- @manifest[:html] << %{</td></tr>\n}
+ if defined? @md.notes.type \
+ and @md.notes.type=~/\S+/ #dc
+ id,info=@translate.type,@md.notes.type
+ metadata(id,info)
+ end
+ if defined? @md.notes.format \
+ and @md.notes.format=~/\S+/
+ id,info=@transate.format,@md.notes.format
+ metadata(id,info)
+ end
+ end
+ if defined? @md.identifier #%
+ if defined? @md.identifier.oclc \
+ and @md.identifier.oclc=~/\S+/
+ id,info=@translate.cls_oclc,@md.identifier.oclc
+ @manifest[:html] << %{<tr><th class="left"><p class="bold_left">#{id}:</p></th><td>\n}
+ @manifest[:html] << %{<p class="left"><a href="http://worldcat.org/oclc/#{info}">#{info}</a></p>\n}
+ @manifest[:html] << %{</td></tr>\n}
+ end
+ if defined? @md.identifier.pg \
+ and @md.identifier.pg=~/\S+/
+ id,info=@translate.cls_gutenberg,@md.identifier.pg
+ metadata(id,info)
+ end
+ if defined? @md.identifier.isbn \
+ and @md.identifier.isbn=~/\S+/
+ id,info=@translate.cls_isbn,@md.identifier.isbn
+ metadata(id,info)
+ end
+ end
+ if defined? @md.original.source \
+ and @md.original.source=~/\S+/
+ id,info=@translate.source,@md.original.source
+ metadata(id,info)
end
if @md.fns
id,info=@translate.sourcefile,@md.fns
diff --git a/lib/sisu/v4/param.rb b/lib/sisu/v4/param.rb
index e3742967..40f9b983 100644
--- a/lib/sisu/v4/param.rb
+++ b/lib/sisu/v4/param.rb
@@ -607,62 +607,52 @@ module SiSU_Param
end
self
end
- def classify
- a=@s.split(/(\n%\s.+?$|[ ]*)(?:\n[ ]*(?=:)|\Z)/m)
+ def identifier
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
- def coverage
- s=@h['coverage']
- l,n=Db[:col_classify_short],'classify.coverage'
+ def oclc
+ s=@h['oclc']
+ l,n=Db[:col_library],'identifier.oclc'
validate_length(s,l,n)
end
- def relation
- s=@h['relation']
- l,n=Db[:col_classify_short],'classify.short'
+ def isbn
+ s=@h['isbn']
+ l,n=Db[:col_small],'identifier.isbn'
validate_length(s,l,n)
end
- def subject
- s=@h['subject']
- l,n=Db[:col_classify_txt_short],'classify.subject'
+ def pg
+ s=@h['pg']
+ l,n=Db[:col_small],'identifier.pg'
validate_length(s,l,n)
end
+ self
+ end
+ def classify
+ a=@s.split(/(\n%\s.+?$|[ ]*)(?:\n[ ]*(?=:)|\Z)/m)
+ @h=build_hash(a)
def topic_register
s=@h['topic_register']
l,n=Db[:col_info_note],'classify.topic_register'
validate_length(s,l,n)
end
- def type
- s=@h['type']
- l,n=Db[:col_classify_txt_short],'classify.type'
+ def subject
+ s=@h['subject']
+ l,n=Db[:col_txt_long],'classify.subject'
validate_length(s,l,n)
end
- def identifier
- s=@h['identifier']
- l,n=Db[:col_classify_identify],'classify.identifier'
+ def keywords
+ s=@h['keywords']
+ l,n=Db[:col_txt_long],'classify.keywords'
validate_length(s,l,n)
end
def loc
s=@h['loc']
- l,n=Db[:col_classify_library],'classify.loc'
+ l,n=Db[:col_library],'classify.loc'
validate_length(s,l,n)
end
def dewey
s=@h['dewey']
- l,n=Db[:col_classify_library],'classify.dewey'
- validate_length(s,l,n)
- end
- def oclc
- s=@h['oclc']
- l,n=Db[:col_classify_library],'classify.oclc'
- validate_length(s,l,n)
- end
- def pg
- s=@h['pg']
- l,n=Db[:col_classify_small],'classify.pg'
- validate_length(s,l,n)
- end
- def isbn
- s=@h['isbn']
- l,n=Db[:col_classify_small],'classify.isbn'
+ l,n=Db[:col_library],'classify.dewey'
validate_length(s,l,n)
end
self
@@ -780,17 +770,50 @@ module SiSU_Param
def notes
a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
+ def description
+ s=@h['description']
+ l,n=Db[:col_info_note],'notes.description'
+ validate_length(s,l,n)
+ end
def abstract
- @h['abstract']
+ s=@h['abstract']
+ l,n=Db[:col_info_note],'notes.abstract'
+ validate_length(s,l,n)
end
def comment
- @h['comment']
+ s=@h['comment']
+ l,n=Db[:col_info_note],'notes.comment'
+ validate_length(s,l,n)
end
- def description
- @h['description']
+ def coverage
+ s=@h['coverage']
+ l,n=Db[:col_info_note],'notes.coverage'
+ validate_length(s,l,n)
+ end
+ def relation
+ s=@h['relation']
+ l,n=Db[:col_info_note],'notes.relation'
+ validate_length(s,l,n)
+ end
+ def source
+ s=@h['source']
+ l,n=Db[:col_txt_long],'notes.source'
+ validate_length(s,l,n)
end
def history
- @h['history']
+ s=@h['history']
+ l,n=Db[:col_txt_long],'notes.history'
+ validate_length(s,l,n)
+ end
+ def type
+ s=@h['type']
+ l,n=Db[:col_txt_long],'notes.relation'
+ validate_length(s,l,n)
+ end
+ def format
+ s=@h['format']
+ l,n=Db[:col_txt_short],'notes.format'
+ validate_length(s,l,n)
end
def prefix
@h['prefix']
@@ -1005,6 +1028,8 @@ module SiSU_Param
@rights=SiSU_Param::Parameters::Md.new($1.strip,@opt,@env).rights
when /^@classify:(.+)/m; classify=$1 #% * header metadata - classify
@classify=SiSU_Param::Parameters::Md.new($1.strip,@opt,@env).classify
+ when /^@identifier:(.+)/m; identify=$1 #% * header metadata - identifier
+ @identifier=SiSU_Param::Parameters::Md.new($1.strip,@opt,@env).identifier
when /^@original:(.+)/m #% * header metadata - original (document)
@original=SiSU_Param::Parameters::Md.new($1.strip,@opt,@env).original
@source=@original.source
@@ -1321,7 +1346,11 @@ module SiSU_Param
# end if @flv
@lang=@lang.uniq
@fn=SiSU_Env::EnvCall.new(@fns).lang(fn_set_lang[:c])
- @identifier="#{@env.url.root}/#{@fnb}/#{@fn[:toc]}" #DC note constructed dc identifier
+ #if @identifier.is_a?(Array)
+ # @identifier[:sisupod]=sisupod_hash_value
+ #else @identifier={ sisupod: sisupod_hash_value }
+ #end
+ #"#{@env.url.root}/#{@fnb}/#{@fn[:toc]}" #DC note constructed dc identifier
if @en[:note] > 0 \
and @en[:sum] > 0
if @en[:sum] > 0
diff --git a/lib/sisu/v4/po4a.rb b/lib/sisu/v4/po4a.rb
index 0cda6475..8404ae39 100644
--- a/lib/sisu/v4/po4a.rb
+++ b/lib/sisu/v4/po4a.rb
@@ -289,15 +289,14 @@ GSUB
"#: en/#{@md.fns}:#{SiSU_Po4aUtils::PotNumber.new.num}",
'msgid ""',
meta_src.metadata_tags.classify.head,
- meta_src.metadata_tags.classify.relation,
meta_src.metadata_tags.classify.subject,
meta_src.metadata_tags.classify.topic_register,
- meta_src.metadata_tags.classify.type,
- meta_src.metadata_tags.classify.identifier,
meta_src.metadata_tags.classify.loc,
meta_src.metadata_tags.classify.dewey,
- meta_src.metadata_tags.classify.oclc,
- meta_src.metadata_tags.classify.isbn,
+ meta_src.metadata_tags.notes.relation,
+ meta_src.metadata_tags.notes.type,
+ meta_src.metadata_tags.identifier.oclc,
+ meta_src.metadata_tags.identifier.isbn,
'msgstr ""',
]
w << [
@@ -418,26 +417,24 @@ GSUB
"#: en/#{@md.fns}:#{SiSU_Po4aUtils::PotNumber.new.num}",
'msgid ""',
meta_src.metadata_tags.classify.head,
- meta_src.metadata_tags.classify.relation,
meta_src.metadata_tags.classify.subject,
meta_src.metadata_tags.classify.topic_register,
- meta_src.metadata_tags.classify.type,
- meta_src.metadata_tags.classify.identifier,
meta_src.metadata_tags.classify.loc,
meta_src.metadata_tags.classify.dewey,
- meta_src.metadata_tags.classify.oclc,
- meta_src.metadata_tags.classify.isbn,
+ meta_src.metadata_tags.notes.relation,
+ meta_src.metadata_tags.notes.type,
+ meta_src.metadata_tags.identifier.oclc,
+ meta_src.metadata_tags.identifier.isbn,
'msgstr ""',
meta_trn.metadata_tags.classify.head,
- meta_trn.metadata_tags.classify.relation,
meta_trn.metadata_tags.classify.subject,
meta_trn.metadata_tags.classify.topic_register,
- meta_trn.metadata_tags.classify.type,
- meta_trn.metadata_tags.classify.identifier,
meta_trn.metadata_tags.classify.loc,
meta_trn.metadata_tags.classify.dewey,
- meta_trn.metadata_tags.classify.oclc,
- meta_trn.metadata_tags.classify.isbn,
+ meta_trn.metadata_tags.notes.relation,
+ meta_trn.metadata_tags.notes.type,
+ meta_trn.metadata_tags.identifier.oclc,
+ meta_trn.metadata_tags.identifier.isbn,
]
w << [
"#. #{@po4a_identify_type} - metadata: date",
diff --git a/lib/sisu/v4/qrcode.rb b/lib/sisu/v4/qrcode.rb
index 2db0cf62..13a69ec6 100644
--- a/lib/sisu/v4/qrcode.rb
+++ b/lib/sisu/v4/qrcode.rb
@@ -524,26 +524,6 @@ WOK
id,info=@translate.digitized_by,@md.creator.digitized_by
metadata(id,info)
end
- if defined? @md.classify.subject \
- and @md.classify.subject=~/\S+/
- id,info=@translate.subject,@md.classify.subject
- metadata(id,info)
- end
- if defined? @md.notes.description \
- and @md.notes.description=~/\S+/
- id,info=@translate.description,@md.notes.description
- metadata(id,info)
- end
- if defined? @md.notes.abstract \
- and @md.notes.abstract=~/\S+/
- id,info=@translate.abstract,@md.notes.abstract
- metadata(id,info)
- end
- if defined? @md.type \
- and @md.type=~/\S+/ #dc
- id,info=@translate.type,@md.type
- metadata(id,info)
- end
if defined? @md.rights.all \
and @md.rights.all=~/\S+/ #dc
id,info=@translate.rights,@md.rights.all
@@ -592,34 +572,34 @@ WOK
id,info=@translate.language_original,@md.original.language
metadata(id,info)
end
- if defined? @md.classify.format \
- and @md.classify.format=~/\S+/
- id,info=@transate.format,@md.classify.format
+ if defined? @md.classify.subject \
+ and @md.classify.subject=~/\S+/
+ id,info=@translate.subject,@md.classify.subject
metadata(id,info)
end
- if defined? @md.classify.identifier \
- and @md.classify.identifier=~/\S+/
- id,info=@translate.identifier,@md.classify.identifier
+ if defined? @md.classify.keywords \
+ and @md.classify.keywords=~/\S+/
+ id,info=@translate.keywords,@md.classify.keywords
metadata(id,info)
end
- if defined? @md.original.source \
- and @md.original.source=~/\S+/
- id,info=@translate.source,@md.original.source
+ if defined? @md.classify.loc \
+ and @md.classify.loc=~/\S+/
+ id,info=@translate.cls_loc,@md.classify.loc
metadata(id,info)
end
- if defined? @md.classify.relation \
- and @md.classify.relation=~/\S+/
- id,info=@translate.relation,@md.classify.relation
+ if defined? @md.classify.dewey \
+ and @md.classify.dewey=~/\S+/
+ id,info=@translate.cls_dewey,@md.classify.dewey
metadata(id,info)
end
- if defined? @md.classify.coverage \
- and @md.classify.coverage=~/\S+/
- id,info=@translate.coverage,@md.classify.coverage
+ if defined? @md.notes.description \
+ and @md.notes.description=~/\S+/
+ id,info=@translate.description,@md.notes.description
metadata(id,info)
end
- if defined? @md.classify.keywords \
- and @md.classify.keywords=~/\S+/
- id,info=@translate.keywords,@md.classify.keywords
+ if defined? @md.notes.abstract \
+ and @md.notes.abstract=~/\S+/
+ id,info=@translate.abstract,@md.notes.abstract
metadata(id,info)
end
if defined? @md.notes.comment \
@@ -627,30 +607,34 @@ WOK
id,info=@translate.comments,@md.notes.comment
metadata(id,info)
end
- if defined? @md.classify.loc \
- and @md.classify.loc=~/\S+/
- id,info=@translate.cls_loc,@md.classify.loc
+ if defined? @md.notes.coverage \
+ and @md.notes.coverage=~/\S+/
+ id,info=@translate.coverage,@md.notes.coverage
metadata(id,info)
end
- if defined? @md.classify.dewey \
- and @md.classify.dewey=~/\S+/
- id,info=@translate.cls_dewey,@md.classify.dewey
+ if defined? @md.notes.relation \
+ and @md.notes.relation=~/\S+/
+ id,info=@translate.relation,@md.notes.relation
metadata(id,info)
end
- if defined? @md.classify.oclc \
- and @md.classify.oclc=~/\S+/
- id,info=@translate.cls_oclc,@md.classify.oclc
- @manifest[:txt] << %{#{id}:\n}
- @manifest[:txt] << %{#{info}\n}
- end
- if defined? @md.classify.pg \
- and @md.classify.pg=~/\S+/
- id,info=@translate.cls_gutenberg,@md.classify.pg
+ #if defined? @md.notes.source \
+ #and @md.notes.source=~/\S+/
+ # id,info=@translate.source,@md.notes.source
+ # metadata(id,info)
+ #end
+ #if defined? @md.notes.history \
+ #and @md.notes.history=~/\S+/
+ # id,info=@translate.history,@md.notes.history
+ # metadata(id,info)
+ #end
+ if defined? @md.notes.type \
+ and @md.notes.type=~/\S+/ #dc
+ id,info=@translate.type,@md.type
metadata(id,info)
end
- if defined? @md.classify.isbn \
- and @md.classify.isbn=~/\S+/
- id,info=@translate.cls_isbn,@md.classify.isbn
+ if defined? @md.notes.format \
+ and @md.notes.format=~/\S+/
+ id,info=@transate.format,@md.notes.format
metadata(id,info)
end
if defined? @md.notes.prefix_a \
@@ -663,6 +647,22 @@ WOK
id,info=@translate.prefix_b,@md.notes.prefix_b
metadata(id,info)
end
+ if defined? @md.original.source \
+ and @md.original.source=~/\S+/
+ id,info=@translate.source,@md.original.source
+ metadata(id,info)
+ end
+ if defined? @md.identifier.oclc \
+ and @md.identifier.oclc=~/\S+/
+ id,info=@translate.cls_oclc,@md.identifier.oclc
+ @manifest[:txt] << %{#{id}:\n}
+ @manifest[:txt] << %{#{info}\n}
+ end
+ if defined? @md.identifier.isbn \
+ and @md.identifier.isbn=~/\S+/
+ id,info=@translate.cls_isbn,@md.identifier.isbn
+ metadata(id,info)
+ end
if defined? @md.topic_register_array \
and @md.topic_register_array.length > 0
@manifest[:txt] << %{#{@translate.topic_register}:\n}
diff --git a/lib/sisu/v4/shared_metadata.rb b/lib/sisu/v4/shared_metadata.rb
index 32555776..74d76c1e 100644
--- a/lib/sisu/v4/shared_metadata.rb
+++ b/lib/sisu/v4/shared_metadata.rb
@@ -104,6 +104,11 @@ module SiSU_Metadata
@tag,@inf,@class=tr.digitized_by,@md.creator.digitized_by,'ext'
meta << self.meta_para
end
+ if defined? @md.creator.contributor \
+ and @md.creator.contributor=~/\S+/
+ @tag,@inf,@class=tr.contributor,@md.creator.contributor,'dc' #6
+ meta << self.meta_para
+ end
if defined? @md.rights.all \
and @md.rights.all=~/\S+/
@tag,@inf,@class=tr.rights,@md.rights.all,'dc' #15
@@ -114,24 +119,24 @@ module SiSU_Metadata
@tag,@inf,@class=tr.subject,@md.classify.subject,'dc' #3
meta << self.meta_para
end
- if defined? @md.notes.description \
- and @md.notes.description=~/\S+/
- @tag,@inf,@class=tr.description,@md.notes.description,'dc' #4
+ if defined? @md.classify.keywords \
+ and @md.classify.keywords=~/\S+/
+ @tag,@inf,@class=tr.keywords,@md.classify.keywords,'ext'
meta << self.meta_para
end
- if defined? @md.publisher \
- and @md.publisher=~/\S+/
- @tag,@inf,@class=tr.publisher,@md.publisher,'dc' #5
+ if defined? @md.classify.loc \
+ and @md.classify.loc=~/\S+/
+ @tag,@inf,@class=tr.cls_loc,@md.classify.loc,'id'
meta << self.meta_para
end
- if defined? @md.creator.contributor \
- and @md.creator.contributor=~/\S+/
- @tag,@inf,@class=tr.contributor,@md.creator.contributor,'dc' #6
+ if defined? @md.classify.dewey \
+ and @md.classify.dewey=~/\S+/
+ @tag,@inf,@class=tr.cls_dewey,@md.classify.dewey,'id'
meta << self.meta_para
end
- if defined? @md.notes.abstract \
- and @md.notes.abstract=~/\S+/
- @tag,@inf,@class=tr.abstract,@md.notes.abstract,'ext'
+ if defined? @md.publisher \
+ and @md.publisher=~/\S+/
+ @tag,@inf,@class=tr.publisher,@md.publisher,'dc' #5
meta << self.meta_para
end
if defined? @md.date.created \
@@ -164,29 +169,24 @@ module SiSU_Metadata
@tag,@inf,@class=tr.date,@md.date.published,'dc' #7
meta << self.meta_para
end
- if defined? @md.type \
- and @md.date=~/\S+/
- @tag,@inf,@class=tr.type,@md.type,'dc' #8
- meta << self.meta_para
- end
- if defined? @md.classify.loc \
- and @md.classify.loc=~/\S+/
- @tag,@inf,@class=tr.cls_loc,@md.classify.loc,'id'
+ if defined? @md.identifier.isbn \
+ and @md.identifier.isbn=~/\S+/
+ @tag,@inf,@class=tr.cls_isbn,@md.identifier.isbn,'id'
meta << self.meta_para
end
- if defined? @md.classify.dewey \
- and @md.classify.dewey=~/\S+/
- @tag,@inf,@class=tr.cls_dewey,@md.classify.dewey,'id'
+ if defined? @md.identifier.oclc \
+ and @md.identifier.oclc=~/\S+/
+ @tag,@inf,@class=tr.cls_oclc,@md.identifier.oclc,'id'
meta << self.meta_para
end
- if defined? @md.classify.pg \
- and @md.classify.pg=~/\S+/
- @tag,@inf,@class=tr.cls_gutenberg,@md.classify.pg,'id'
+ if defined? @md.notes.description \
+ and @md.notes.description=~/\S+/
+ @tag,@inf,@class=tr.description,@md.notes.description,'dc' #4
meta << self.meta_para
end
- if defined? @md.classify.isbn \
- and @md.classify.isbn=~/\S+/
- @tag,@inf,@class=tr.cls_isbn,@md.classify.isbn,'id'
+ if defined? @md.notes.abstract \
+ and @md.notes.abstract=~/\S+/
+ @tag,@inf,@class=tr.abstract,@md.notes.abstract,'ext'
meta << self.meta_para
end
if defined? @md.notes.comment \
@@ -194,6 +194,36 @@ module SiSU_Metadata
@tag,@inf,@class=tr.comments,@md.notes.comment,'ext'
meta << self.meta_para
end
+ if defined? @md.notes.coverage \
+ and @md.notes.coverage=~/\S+/
+ @tag,@inf,@class=tr.coverage,@md.notes.coverage,'dc' #14
+ meta << self.meta_para
+ end
+ if defined? @md.notes.relation \
+ and @md.notes.relation=~/\S+/
+ @tag,@inf,@class=tr.relation,@md.notes.relation,'dc' #13
+ meta << self.meta_para
+ end
+ #if defined? @md.notes.source \
+ #and @md.notes.source=~/\S+/
+ # @tag,@inf,@class=tr.source,@md.notes.source,'dc' #11
+ # meta << self.meta_para
+ #end
+ if defined? @md.notes.history \
+ and @md.notes.history=~/\S+/
+ @tag,@inf,@class=tr.type,@md.notes.history,'dc' #8
+ meta << self.meta_para
+ end
+ if defined? @md.notes.type \
+ and @md.notes.type=~/\S+/
+ @tag,@inf,@class=tr.type,@md.notes.type,'dc' #8
+ meta << self.meta_para
+ end
+ if defined? @md.notes.format \
+ and @md.notes.format=~/\S+/
+ @tag,@inf,@class=tr.format,@md.notes.format,'dc' #9
+ meta << self.meta_para
+ end
if defined? @md.notes.prefix_a \
and @md.notes.prefix_a=~/\S+/
@tag,@inf,@class=tr.prefix_a,@md.notes.prefix_a,'inf'
@@ -204,11 +234,6 @@ module SiSU_Metadata
@tag,@inf,@class=tr.prefix_b,@md.notes.prefix_b,'inf'
meta << self.meta_para
end
- if defined? @md.classify.identifier \
- and @md.classify.identifier=~/\S+/
- @tag,@inf,@class=tr.identifier,@md.classify.identifier,'dc' #10
- meta << self.meta_para
- end
if defined? @md.original.source \
and @md.original.source=~/\S+/
@tag,@inf,@class=tr.source,@md.original.source,'dc' #11
@@ -224,26 +249,6 @@ module SiSU_Metadata
@tag,@inf,@class=tr.language_original,@md.original.language,'ext'
meta << self.meta_para
end
- if defined? @md.classify.format \
- and @md.classify.format=~/\S+/
- @tag,@inf,@class=tr.format,@md.classify.format,'dc' #9
- meta << self.meta_para
- end
- if defined? @md.classify.relation \
- and @md.classify.relation=~/\S+/
- @tag,@inf,@class=tr.relation,@md.classify.relation,'dc' #13
- meta << self.meta_para
- end
- if defined? @md.classify.coverage \
- and @md.classify.coverage=~/\S+/
- @tag,@inf,@class=tr.coverage,@md.classify.coverage,'dc' #14
- meta << self.meta_para
- end
- if defined? @md.classify.keywords \
- and @md.classify.keywords=~/\S+/
- @tag,@inf,@class=tr.keywords,@md.classify.keywords,'ext'
- meta << self.meta_para
- end
if @display_heading
@tag,@inf=%{<b><u>Version Information</u></b>},''
meta << self.meta_para
diff --git a/lib/sisu/v4/shared_xml.rb b/lib/sisu/v4/shared_xml.rb
index 2886ae37..ba95c805 100644
--- a/lib/sisu/v4/shared_xml.rb
+++ b/lib/sisu/v4/shared_xml.rb
@@ -538,18 +538,6 @@ module SiSU_XML_Tags #Format
content=meta_content_clean(@md.creator.author)
@author=%{ <meta name="dc.author" content="#{content}" />\n}
end
- if defined? @md.classify.subject \
- and @md.classify.subject=~/\S+/ # DublinCore 3 - subject (us library of congress, eric or udc, or schema???)
- @rdf_subject=%{ dc.subject="#{@md.classify.subject}"\n}
- content=meta_content_clean(@md.classify.subject)
- @subject=%{ <meta name="dc.subject" content="#{content}" />\n}
- end
- if defined? @md.notes.description \
- and @md.notes.description=~/\S+/ # DublinCore 4 - description
- @rdf_description=%{ dc.description="#{@md.notes.description}"\n}
- content=meta_content_clean(@md.notes.description)
- @description=%{ <meta name="dc.description" content="#{content}" />\n}
- end
if defined? @md.publisher \
and @md.publisher # DublinCore 5 - publisher (current copy published by)
@rdf_publisher=%{ dc.publisher="#{@md.publisher}"\n}
@@ -592,24 +580,54 @@ module SiSU_XML_Tags #Format
@rdf_date_modified=%{ dc.date.modified="#{@md.date.modified}"\n}
@date_modified=%{ <meta name="dc.date.modified" content="#{@md.date.modified}" #{@md.date_scheme} />\n}
end
- if defined? @md.type \
- and @md.type # DublinCore 8 - type (genre eg. report, convention etc)
- @rdf_type=%{ dc.type="#{@md.type}"\n}
- content=meta_content_clean(@md.type)
+ if defined? @md.rights.all \
+ and @md.rights.all # DublinCore 15 - rights
+ @rdf_rights=%{ dc.rights="#{@md.rights.all}"\n}
+ content=meta_content_clean(@md.rights.all)
+ @rights=%{ <meta name="dc.rights" content="#{content}" />\n}
+ end
+ if defined? @md.classify.subject \
+ and @md.classify.subject=~/\S+/ # DublinCore 3 - subject (us library of congress, eric or udc, or schema???)
+ @rdf_subject=%{ dc.subject="#{@md.classify.subject}"\n}
+ content=meta_content_clean(@md.classify.subject)
+ @subject=%{ <meta name="dc.subject" content="#{content}" />\n}
+ end
+ if defined? @md.notes.description \
+ and @md.notes.description=~/\S+/ # DublinCore 4 - description
+ @rdf_description=%{ dc.description="#{@md.notes.description}"\n}
+ content=meta_content_clean(@md.notes.description)
+ @description=%{ <meta name="dc.description" content="#{content}" />\n}
+ end
+ if defined? @md.notes.coverage \
+ and @md.notes.coverage=~/\S+/ # DublinCore 14 - coverage
+ @rdf_coverage=%{ dc.coverage="#{@md.notes.coverage}"\n}
+ content=meta_content_clean(@md.notes.coverage)
+ @coverage=%{ <meta name="dc.coverage" content="#{content}" />\n}
+ end
+ if defined? @md.notes.relation \
+ and @md.notes.relation=~/\S+/ # DublinCore 13 - relation
+ @rdf_relation=%{ dc.relation="#{@md.notes.relation}"\n}
+ content=meta_content_clean(@md.notes.relation)
+ @relation=%{ <meta name="dc.relation" content="#{content}" />\n}
+ end
+ if defined? @md.notes.type \
+ and @md.notes.type # DublinCore 8 - type (genre eg. report, convention etc)
+ @rdf_type=%{ dc.type="#{@md.notes.type}"\n}
+ content=meta_content_clean(@md.notes.type)
@type=%{ <meta name="dc.type" content="#{content}" />\n}
end
- if defined? @md.classify.format \
- and @md.classify.format=~/\S+/ # DublinCore 9 - format (use your mime type)
- @rdf_format=%{ dc.format="#{@md.classify.format}"\n}
- content=meta_content_clean(@md.classify.format)
+ if defined? @md.notes.format \
+ and @md.notes.format=~/\S+/ # DublinCore 9 - format (use your mime type)
+ @rdf_format=%{ dc.format="#{@md.notes.format}"\n}
+ content=meta_content_clean(@md.notes.format)
@format=%{ <meta name="dc.format" content="#{content}" />\n}
end
- if defined? @md.classify.identifier \
- and @md.classify.identifier=~/\S+/ # DublinCore 10 - identifier (your identifier, could use urn which is free)
- @rdf_identifier=%{ dc.identifier="#{@md.classify.identifier}"\n}
- content=meta_content_clean(@md.classify.identifier)
- @identifier=%{ <meta name="dc.identifier" content="#{content}" />\n}
- end
+ #if defined? @md.identifier.sisupod \
+ #and @md.identifier.sisupod=~/\S+/ # DublinCore 10 - identifier (your identifier, could use urn which is free)
+ # @rdf_identifier=%{ dc.identifier="#{@md.identifier.sisupod}"\n}
+ # content=meta_content_clean(@md.identifier.sisupod)
+ # @identifier=%{ <meta name="dc.identifier" content="#{content}" />\n}
+ #end
if defined? @md.original.source \
and @md.original.source=~/\S+/ # DublinCore 11 - source (document source)
@rdf_source=%{ dc.source="#{@md.original.source}"\n}
@@ -626,24 +644,6 @@ module SiSU_XML_Tags #Format
@rdf_language_original=%{ dc.language="#{@md.original.language}"\n}
@language_original=%{ <meta name="dc.language" content="#{@md.original.language}" />\n}
end
- if defined? @md.classify.relation \
- and @md.classify.relation=~/\S+/ # DublinCore 13 - relation
- @rdf_relation=%{ dc.relation="#{@md.classify.relation}"\n}
- content=meta_content_clean(@md.classify.relation)
- @relation=%{ <meta name="dc.relation" content="#{content}" />\n}
- end
- if defined? @md.classify.coverage \
- and @md.classify.coverage=~/\S+/ # DublinCore 14 - coverage
- @rdf_coverage=%{ dc.coverage="#{@md.classify.coverage}"\n}
- content=meta_content_clean(@md.classify.coverage)
- @coverage=%{ <meta name="dc.coverage" content="#{content}" />\n}
- end
- if defined? @md.rights.all \
- and @md.rights.all # DublinCore 15 - rights
- @rdf_rights=%{ dc.rights="#{@md.rights.all}"\n}
- content=meta_content_clean(@md.rights.all)
- @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
@vz=SiSU_Viz::Defaults.new
diff --git a/lib/sisu/v4/texinfo_format.rb b/lib/sisu/v4/texinfo_format.rb
index 09c54575..0c6b99f2 100644
--- a/lib/sisu/v4/texinfo_format.rb
+++ b/lib/sisu/v4/texinfo_format.rb
@@ -171,14 +171,6 @@ WOK
and @md.creator.author=~/\S+/
author=spec_char(@md.creator.author)
end
- if defined? @md.classify.subject \
- and @md.classify.subject=~/\S+/
- subject=spec_char(@md.classify.subject)
- end
- if defined? @md.notes.description \
- and @md.notes.description=~/\S+/
- description=spec_char(@md.description)
- end
if defined? @md.publisher \
and @md.publisher=~/\S+/
publisher=spec_char(@md.publisher)
@@ -211,15 +203,31 @@ WOK
and @md.date.modified=~/\S+/
date_modified=spec_char(@md.date.modified)
end
- type=spec_char(@md.type) if @md.type #dc
- if defined? @md.classify.format \
- and @md.classify.format=~/\S+/
- format=spec_char(@md.classify.format)
+ if defined? @md.classify.subject \
+ and @md.classify.subject=~/\S+/
+ subject=spec_char(@md.classify.subject)
+ end
+ if defined? @md.notes.description \
+ and @md.notes.description=~/\S+/
+ description=spec_char(@md.description)
end
- if defined? @md.classify.identifier \
- and @md.classify.identifier=~/\S+/
- identifier=spec_char(@md.classify.identifier)
+ if defined? @md.notes.coverage \
+ and @md.notes.coverage=~/\S+/
+ coverage=spec_char(@md.notes.coverage)
end
+ if defined? @md.notes.relation \
+ and @md.notes.relation=~/\S+/
+ relation=spec_char(@md.notes.relation)
+ end
+ #type=spec_char(@md.type) if @md.type #dc
+ if defined? @md.notes.format \
+ and @md.notes.format=~/\S+/
+ format=spec_char(@md.notes.format)
+ end
+ #if defined? @md.identifier.sisupod \
+ #and @md.identifier.sisupod=~/\S+/
+ # identifier=spec_char(@md.identifier.sisupod)
+ #end
if defined? @md.original.source \
and @md.original.source=~/\S+/
source=spec_char(@md.original.source)
@@ -228,14 +236,6 @@ WOK
and @md.title.language=~/\S+/
language=spec_char(@md.title.language)
end
- if defined? @md.classify.relation \
- and @md.classify.relation=~/\S+/
- relation=spec_char(@md.classify.relation)
- end
- if defined? @md.classify.coverage \
- and @md.classify.coverage=~/\S+/
- coverage=spec_char(@md.classify.coverage)
- end
if defined? @md.rights.all \
and @md.rights.all=~/\S+/
rights=spec_char(@md.rights.all)
diff --git a/lib/sisu/v4/xml_format.rb b/lib/sisu/v4/xml_format.rb
index 445fd45a..212a2866 100644
--- a/lib/sisu/v4/xml_format.rb
+++ b/lib/sisu/v4/xml_format.rb
@@ -149,21 +149,31 @@ module SiSU_XML_Format
@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 defined? @md.type \
- and @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}
+ if defined? @md.notes.coverage \
+ and @md.notes.coverage=~/\S+/ # DublinCore 14 - coverage
+ @rdf_coverage=%{ dc.coverage="#{@md.notes.coverage}"\n}
+ @coverage=%{<meta name="dc.coverage" content="#{@md.notes.coverage}" />\n}
end
- if defined? @md.classify.format \
- and @md.classify.format=~/\S+/ # DublinCore 9 - format (use your mime type)
- @rdf_format=%{ dc.format="#{@md.classify.format}"\n}
- @format=%{<meta name="dc.format" content="#{@md.classify.format}" />\n}
+ if defined? @md.notes.relation \
+ and @md.notes.relation=~/\S+/ # DublinCore 13 - relation
+ @rdf_relation=%{ dc.relation="#{@md.notes.relation}"\n}
+ @relation=%{<meta name="dc.relation" content="#{@md.notes.relation}" />\n}
end
- if defined? @md.classify.identifier \
- and @md.classify.identifier=~/\S+/ # DublinCore 10 - identifier (your identifier, could use urn which is free)
- @rdf_identifier=%{ dc.identifier="#{@md.classify.identifier}"\n}
- @identifier=%{<meta name="dc.identifier" content="#{@md.identifier}" />\n}
+ if defined? @md.notes.type \
+ and @md.notes.type # DublinCore 8 - type (genre eg. report, convention etc)
+ @rdf_type=%{ dc.type="#{@md.notes.type}"\n}
+ @type=%{<meta name="dc.type" content="#{@md.notes.type}" />\n}
end
+ if defined? @md.notes.format \
+ and @md.notes.format=~/\S+/ # DublinCore 9 - format (use your mime type)
+ @rdf_format=%{ dc.format="#{@md.notes.format}"\n}
+ @format=%{<meta name="dc.format" content="#{@md.notes.format}" />\n}
+ end
+ #if defined? @md.identifier.sisupod \
+ #and @md.identifier.sisupod=~/\S+/ # DublinCore 10 - identifier (your identifier, could use urn which is free)
+ # @rdf_identifier=%{ dc.identifier="#{@md.identifier.sisupod}"\n}
+ # @identifier=%{<meta name="dc.identifier" content="#{@md.identifier.sisupod}" />\n}
+ #end
if defined? @md.original.source \
and @md.original.source=~/\S+/ # DublinCore 11 - source (document source)
@rdf_source=%{ dc.source="#{@md.original.source}"\n}
@@ -174,16 +184,6 @@ module SiSU_XML_Format
@rdf_language=%{ dc.language="#{@md.original.title}"\n}
@language=%{<meta name="dc.language" content="#{@md.language[:name]}" />\n}
end
- if defined? @md.classify.relation \
- and @md.classify.relation=~/\S+/ # DublinCore 13 - relation
- @rdf_relation=%{ dc.relation="#{@md.classify.relation}"\n}
- @relation=%{<meta name="dc.relation" content="#{@md.classify.relation}" />\n}
- end
- if defined? @md.classify.coverage \
- and @md.classify.coverage=~/\S+/ # DublinCore 14 - coverage
- @rdf_coverage=%{ dc.coverage="#{@md.classify.coverage}"\n}
- @coverage=%{<meta name="dc.coverage" content="#{@md.classify.coverage}" />\n}
- end
if defined? @md.rights.all \
and @md.rights.all=~/\S+/ # DublinCore 15 - rights
@rdf_rights=%{ dc.rights="#{@md.rights.all}"\n}
diff --git a/lib/sisu/v4/xml_md_oai_pmh_dc.rb b/lib/sisu/v4/xml_md_oai_pmh_dc.rb
index 6abbe30e..56e19e0e 100644
--- a/lib/sisu/v4/xml_md_oai_pmh_dc.rb
+++ b/lib/sisu/v4/xml_md_oai_pmh_dc.rb
@@ -90,95 +90,96 @@ WOK
@oai_pmh << %{ <dc:author>#{txt}</dc:author>\n}
end
if defined? @md.classify.subject \
- and @md.classify.subject=~/\S+/ # DublinCore 3 - subject (us library of congress, eric or udc, or schema???)
+ and @md.classify.subject=~/\S+/ # DublinCore 3 - subject (us library of congress, eric or udc, or schema???)
txt=meta_content_clean(@md.classify.subject)
@oai_pmh << %{ <dc:subject>#{txt}</dc:subject>\n}
end
- if defined? @md.notes.description \
- and @md.notes.description=~/\S+/ # DublinCore 4 - description
- txt=meta_content_clean(@md.notes.description)
- @oai_pmh << %{ <dc:description>#{txt}</dc:description>\n}
+ if defined? @md.classify.keywords \
+ and @md.classify.keywords=~/\S+/
+ txt=meta_content_clean(@md.classify.keywords)
+ @oai_pmh << %{ <dc:keywords>#{txt}</dc:keywords>\n}
end
- if @md.publisher # DublinCore 5 - publisher (current copy published by)
+ 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 defined? @md.creator.contributor \
- and @md.creator.contributor=~/\S+/ # DublinCore 6 - contributor
+ and @md.creator.contributor=~/\S+/ # DublinCore 6 - contributor
txt=meta_content_clean(@md.creator.contributor)
@oai_pmh << %{ <dc:contributor>#{txt}</dc:contributor>\n}
end
if defined? @md.date.published \
- and @md.date.published=~/\S+/ # DublinCore 7 - date year-mm-dd
+ and @md.date.published=~/\S+/ # DublinCore 7 - date year-mm-dd
@oai_pmh << %{ <dc:date>#{@md.date.published}</dc:date>\n}
end
if defined? @md.date.created \
- and @md.date.created=~/\S+/ # DublinCore 7 - date.created
+ and @md.date.created=~/\S+/ # DublinCore 7 - date.created
@oai_pmh << %{ <dc:date_created>#{@md.date.created}</dc:date_created>\n}
end
if defined? @md.date.issued \
- and @md.date.issued=~/\S+/ # DublinCore 7 - date.issued
+ and @md.date.issued=~/\S+/ # DublinCore 7 - date.issued
@oai_pmh << %{ <dc:date_issued>#{@md.date.issued}</dc:date_issued>\n}
end
if defined? @md.date.available \
- and @md.date.available=~/\S+/ # DublinCore 7 - date.available
+ and @md.date.available=~/\S+/ # DublinCore 7 - date.available
@oai_pmh << %{ <dc:date_available>#{@md.date.available}</dc:date_available>\n}
end
if defined? @md.date.valid \
- and @md.date.valid=~/\S+/ # DublinCore 7 - date.valid
+ and @md.date.valid=~/\S+/ # DublinCore 7 - date.valid
@oai_pmh << %{ <dc:date_valid>#{@md.date.valid}</dc:date_valid>\n}
end
if defined? @md.date.modified \
- and @md.date.modified=~/\S+/ # DublinCore 7 - date.modified
+ and @md.date.modified=~/\S+/ # DublinCore 7 - date.modified
@oai_pmh << %{ <dc:date_modified>#{@md.date.modified}</dc:date_modified>\n}
end
- if @md.type # DublinCore 8 - type
- txt=meta_content_clean(@md.type)
+ if defined? @md.notes.description \
+ and @md.notes.description=~/\S+/ # DublinCore 4 - description
+ txt=meta_content_clean(@md.notes.description)
+ @oai_pmh << %{ <dc:description>#{txt}</dc:description>\n}
+ end
+ if defined? @md.notes.coverage \
+ and @md.notes.coverage=~/\S+/ # DublinCore 14 - coverage
+ txt=meta_content_clean(@md.notes.coverage)
+ @oai_pmh << %{ <dc:coverage>#{txt}</dc:coverage>\n}
+ end
+ if defined? @md.notes.relation \
+ and @md.notes.relation=~/\S+/ # DublinCore 13 - relation
+ txt=meta_content_clean(@md.notes.relation)
+ @oai_pmh << %{ <dc:relation>#{txt}</dc:relation>\n}
+ end
+ if defined? @md.notes.type \
+ and @md.notes.type=~/\S+/ # DublinCore 8 - type
+ txt=meta_content_clean(@md.notes.type)
@oai_pmh << %{ <dc:type>#{txt}</dc:type>\n}
end
- if defined? @md.classify.format \
- and @md.classify.format=~/\S+/ # DublinCore 9 - format
- txt=meta_content_clean(@md.classify.format)
+ if defined? @md.notes.format \
+ and @md.notes.format=~/\S+/ # DublinCore 9 - format
+ txt=meta_content_clean(@md.notes.format)
@oai_pmh << %{ <dc:format>#{txt}</dc:format>\n}
end
- if defined? @md.classify.identifier \
- and @md.classify.identifier=~/\S+/ # DublinCore 10 - identifier
- txt=meta_content_clean(@md.classify.identifier)
- @oai_pmh << %{ <dc:identifier>#{txt}</dc:identifier>\n}
- end
+ #if defined? @md.identifier.sisupod \
+ #and @md.identifier.sisupod=~/\S+/ # DublinCore 10 - identifier
+ # txt=meta_content_clean(@md.identifier.sisupod)
+ # @oai_pmh << %{ <dc:identifier>#{txt}</dc:identifier>\n}
+ #end
if defined? @md.original.source \
- and @md.original.source=~/\S+/ # DublinCore 11 - source
+ and @md.original.source=~/\S+/ # DublinCore 11 - source
txt=meta_content_clean(@md.original.source)
@oai_pmh << %{ <dc:source>#{txt}</dc:source>\n}
end
if defined? @md.title.language \
- and @md.title.language=~/\S+/ # DublinCore 12 - language (English)
+ and @md.title.language=~/\S+/ # DublinCore 12 - language (English)
@oai_pmh << %{ <dc:language>#{@md.title.language}</dc:language>\n}
end
if defined? @md.original.language \
and @md.original.language=~/\S+/
@oai_pmh << %{ <dc:language>#{@md.original.language}</dc:language>\n}
end
- if defined? @md.classify.relation \
- and @md.classify.relation=~/\S+/ # DublinCore 13 - relation
- txt=meta_content_clean(@md.relation)
- @oai_pmh << %{ <dc:relation>#{txt}</dc:relation>\n}
- end
- if defined? @md.classify.coverage \
- and @md.classify.coverage=~/\S+/ # DublinCore 14 - coverage
- txt=meta_content_clean(@md.classify.coverage)
- @oai_pmh << %{ <dc:coverage>#{txt}</dc:coverage>\n}
- end
if defined? @md.rights.all \
- and @md.rights.all=~/\S+/ # DublinCore 15 - rights
+ and @md.rights.all=~/\S+/ # DublinCore 15 - rights
txt=meta_content_clean(@md.rights.all)
@oai_pmh << %{ <dc:rights>#{txt}</dc:rights>\n}
end
- if defined? @md.classify.keywords \
- and @md.classify.keywords=~/\S+/
- txt=meta_content_clean(@md.classify.keywords)
- @oai_pmh << %{ <dc:keywords>#{txt}</dc:keywords>\n}
- end
@oai_pmh
end
def meta_content_clean(content='')