Index: applications/editors/josm/plugins/seachart/js57toosm/build.xml
===================================================================
--- applications/editors/josm/plugins/seachart/js57toosm/build.xml	(revision 31597)
+++ applications/editors/josm/plugins/seachart/js57toosm/build.xml	(revision 31598)
@@ -5,5 +5,6 @@
   <property name="ant.build.javac.target" value="1.7"/>
   <property name="ant.build.javac.source" value="1.7"/>
-    
+  <property name="lang.dir" value="/usr/local/bin/commons-lang3-3.4/"/>
+      
   <target name="init">
     <mkdir dir="${build}"/>
@@ -20,4 +21,5 @@
         <attribute name="Class-Path" value="$jarfile"/>
       </manifest>
+      <zipgroupfileset dir="${lang.dir}" includes="**/commons-lang3-3.4.jar" />
     </jar>
   </target>
Index: applications/editors/josm/plugins/seachart/js57toosm/src/js57toosm/Js57toosm.java
===================================================================
--- applications/editors/josm/plugins/seachart/js57toosm/src/js57toosm/Js57toosm.java	(revision 31597)
+++ applications/editors/josm/plugins/seachart/js57toosm/src/js57toosm/Js57toosm.java	(revision 31598)
@@ -12,4 +12,6 @@
 import java.io.*;
 import java.util.*;
+
+import org.apache.commons.lang3.StringEscapeUtils;
 
 import s57.S57obj;
@@ -175,5 +177,5 @@
 			String valstr = S57val.stringValue(item.getValue(), item.getKey());
 			if (!attstr.isEmpty() && !valstr.isEmpty())
-				out.format("    <tag k='seamark:%s:%s' v='%s'/>%n", type, attstr, valstr);
+				out.format("    <tag k='seamark:%s:%s' v='%s'/>%n", type, attstr, StringEscapeUtils.escapeXml10(valstr));
 		}
 		for (Obj obj : feature.objs.keySet()) {
@@ -187,7 +189,7 @@
 					if (!attstr.isEmpty() && !valstr.isEmpty()) {
 						if ((ix == 0) && (tab.size() == 1)) {
-							out.format("    <tag k='seamark:%s:%s' v='%s'/>%n", type, attstr, valstr);
+							out.format("    <tag k='seamark:%s:%s' v='%s'/>%n", type, attstr, StringEscapeUtils.escapeXml10(valstr));
 						} else {
-							out.format("    <tag k='seamark:%s:%d:%s' v='%s'/>%n", type, ix + 1, attstr, valstr);
+							out.format("    <tag k='seamark:%s:%d:%s' v='%s'/>%n", type, ix + 1, attstr, StringEscapeUtils.escapeXml10(valstr));
 						}
 					}
