Index: /main/trunk/greenstone2/macros/depositdspace.dm
===================================================================
--- /main/trunk/greenstone2/macros/depositdspace.dm	(revision 27017)
+++ /main/trunk/greenstone2/macros/depositdspace.dm	(revision 27018)
@@ -275,7 +275,12 @@
 
 
-  function comma\_decode(str)
+  function comma\_and\_special_chars\_decode(str)
   \{
-      var newstr = str.replace(/\\%27/g,"'");
+      var newstr = newstr = str.replace(/\\%2F/g,"/");
+      newstr = newstr.replace(/\\%27/g,"'");
+      newstr = newstr.replace(/\\%22/g,"\\\"");
+      newstr = newstr.replace(/\\%26/g,"&");
+      newstr = newstr.replace(/\\%3E/g,">");
+      newstr = newstr.replace(/\\%3C/g,"<");
 
       // the comma was already being decoded for dspace's deposit dm file
@@ -293,5 +298,5 @@
       if (prevarray.value) \{
 
-        var prevvalarray = comma\_decode(prevarray.value);
+        var prevvalarray = comma\_and\_special_chars\_decode(prevarray.value);
 
         var fieldnum = get\_fieldid(fieldid,"num");
@@ -1363,5 +1368,5 @@
   var authornum = "_di1authornum_";
   var authorsplit = "_di1authorsplit_";
-  var authorarray = comma\_decode("_di1authorarray_");
+  var authorarray = comma\_and\_special_chars\_decode("_di1authorarray_");
 
   present\_general(authorarray,authornum,authorsplit,combine\_author);
@@ -1384,5 +1389,5 @@
   var seriesrepnum = "_di1seriesrepnum_";
   var seriesrepsplit = "_di1seriesrepsplit_";
-  var seriesreparray = comma\_decode("_di1seriesreparray_");
+  var seriesreparray = comma\_and\_special_chars\_decode("_di1seriesreparray_");
 
   present\_general(seriesreparray,seriesrepnum,seriesrepsplit,combine\_seriesrep);
@@ -1398,5 +1403,5 @@
   var idnum = "_di1identifiernum_";
   var idsplit = "_di1identifiersplit_";
-  var idarray = comma\_decode("_di1identifierarray_");
+  var idarray = comma\_and\_special_chars\_decode("_di1identifierarray_");
 
   present\_general(idarray,idnum,idsplit,combine\_id);
@@ -1445,5 +1450,5 @@
   var subnum = "_di1subjectnum_";
   var subsplit = "_di1subjectsplit_";
-  var subarray = comma\_decode("_di1subjectarray_");
+  var subarray = comma\_and\_special_chars\_decode("_di1subjectarray_");
 
   present\_general(subarray,subnum,subsplit,combine\_flat);
@@ -1559,5 +1564,5 @@
   var authornum = "_di1authornum_";
   var authorsplit = "_di1authorsplit_";
-  var authorarray = comma\_decode("_di1authorarray_");
+  var authorarray = comma\_and\_special_chars\_decode("_di1authorarray_");
   var combauthor = combine\_escauthor(authorarray,authornum,authorsplit);
   hidden\_multifield("ds.Author",combauthor);
@@ -1565,5 +1570,5 @@
   var seriesrepnum = "_di1seriesrepnum_";
   var seriesrepsplit = "_di1seriesrepsplit_";
-  var seriesreparray = comma\_decode("_di1seriesreparray_");
+  var seriesreparray = comma\_and\_special_chars\_decode("_di1seriesreparray_");
   var combseriesrep = combine\_seriesrep(seriesreparray,seriesrepnum,seriesrepsplit);
   hidden\_multifield("ds.Series",combseriesrep);
@@ -1571,5 +1576,5 @@
   var idnum = "_di1identifiernum_";
   var idsplit = "_di1identifiersplit_";
-  var idarray = comma\_decode("_di1identifierarray_");
+  var idarray = comma\_and\_special_chars\_decode("_di1identifierarray_");
   var combid = combine\_id(idarray,idnum,idsplit);
   hidden\_multifield("ds.Identifier",combid);
@@ -1578,5 +1583,5 @@
   var subnum = "_di1subjectnum_";
   var subsplit = "_di1subjectsplit_";
-  var subarray = comma\_decode("_di1subjectarray_");
+  var subarray = comma\_and\_special_chars\_decode("_di1subjectarray_");
   var combsub = combine\_flat(subarray,subnum,subsplit);
   hidden\_multifield("ds.Subject",combsub);
Index: /main/trunk/greenstone2/macros/style.dm
===================================================================
--- /main/trunk/greenstone2/macros/style.dm	(revision 27017)
+++ /main/trunk/greenstone2/macros/style.dm	(revision 27018)
@@ -73,5 +73,5 @@
   <link rel="stylesheet" href="_httpstyle_/style-print.css" type="text/css" 
    title="Printer" charset="UTF-8" media="print" _linktagend_ 
-  _cssfilelinkextra_
+  _cssfilelinkextra_ 
 }
 
@@ -96,5 +96,5 @@
 
 # separate macro so additional stylesheets (to those included by default) can be specified
-_cssfilelinkeextra_ {}
+_cssfilelinkextra_ {}
 
 # Languages that should be displayed right-to-left
