Disable markup validation for paragraphs.
[gpl/argeo-suite.git] / publishing / org.argeo.publishing.ui / src / org / argeo / docbook / ui / DbkTextInterpreter.java
index d56bbf7ecc6b854c2639851d74cf55289ea8628a..c853535440d03f758cccc12f1c0f73cf96afd032 100644 (file)
@@ -30,6 +30,8 @@ import org.argeo.jcr.JcrException;
 public class DbkTextInterpreter implements TextInterpreter {
        private DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
 
+       private String linkCssClass = DbkType.link.name();
+
        @Override
        public void write(Item item, String content) {
                try {
@@ -197,7 +199,9 @@ public class DbkTextInterpreter implements TextInterpreter {
                        } else if (child.getName().equals(DbkType.link.get())) {
                                if (child.hasProperty(DbkAttr.XLINK_HREF)) {
                                        String href = child.getProperty(DbkAttr.XLINK_HREF).getString();
-                                       sb.append("<a href=\"").append(href).append("\">");
+                                       // TODO deal with other forbidden XML characters?
+                                       href = href.replace("&", "&amp;");
+                                       sb.append("<a class='" + linkCssClass + "' href='").append(href).append("'>");
                                        readAsSimpleHtml(child, sb);
                                        sb.append("</a>");
                                }
@@ -248,7 +252,10 @@ public class DbkTextInterpreter implements TextInterpreter {
        public String readSimpleHtml(Item item) {
                try {
                        StringBuilder sb = new StringBuilder();
+//                     sb.append("<div style='text-align: justify;'>");
                        readAsSimpleHtml((Node) item, sb);
+//                     sb.append("</div>");
+//                     System.out.println(sb);
                        return sb.toString();
                } catch (RepositoryException e) {
                        throw new JcrException("Cannot convert " + item + " to simple HTML", e);