X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=publishing%2Forg.argeo.publishing.ui%2Fsrc%2Forg%2Fargeo%2Fdocbook%2Fui%2FDbkTextInterpreter.java;h=b195692f863fb83a85a77fd5bc2ceccf8148f951;hp=17810505057b5c4b1a077c86a1bbe1783c57ae28;hb=ee37a5fd9993cf6cf86bda07d8ac5e854e244553;hpb=2c7baf5cc1437770abc7df32e29e3c9ca29b7132 diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkTextInterpreter.java b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkTextInterpreter.java index 1781050..b195692 100644 --- a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkTextInterpreter.java +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkTextInterpreter.java @@ -7,11 +7,9 @@ import static org.argeo.docbook.DbkUtils.isDbk; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; -import java.io.Reader; import java.io.StringReader; import java.nio.charset.StandardCharsets; import java.util.List; -import java.util.UUID; import javax.jcr.ImportUUIDBehavior; import javax.jcr.Item; @@ -20,27 +18,20 @@ import javax.jcr.NodeIterator; import javax.jcr.Property; import javax.jcr.PropertyIterator; import javax.jcr.RepositoryException; -import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; import org.apache.commons.io.IOUtils; -import org.argeo.cms.text.TextInterpreter; import org.argeo.docbook.DbkAttr; import org.argeo.docbook.DbkType; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrException; -import org.argeo.jcr.JcrxType; -import org.w3c.dom.Document; -import org.w3c.dom.NodeList; -import org.w3c.dom.Text; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; /** Based on HTML with a few Wiki-like shortcuts. */ 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 { @@ -208,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(""); + // TODO deal with other forbidden XML characters? + href = href.replace("&", "&"); + sb.append(""); readAsSimpleHtml(child, sb); sb.append(""); }