From d7c467e754043132855c8b0937b0734145bf677c Mon Sep 17 00:00:00 2001 From: Ivan Date: Fri, 17 Jan 2020 15:59:28 +0400 Subject: [PATCH] Fix unmarshal exception if URL contains & --- .../docx4j/model/datastorage/BindingHyperlinkResolver.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docx4j-core/src/main/java/org/docx4j/model/datastorage/BindingHyperlinkResolver.java b/docx4j-core/src/main/java/org/docx4j/model/datastorage/BindingHyperlinkResolver.java index da12ecf2d9..34280a7059 100644 --- a/docx4j-core/src/main/java/org/docx4j/model/datastorage/BindingHyperlinkResolver.java +++ b/docx4j-core/src/main/java/org/docx4j/model/datastorage/BindingHyperlinkResolver.java @@ -83,6 +83,10 @@ public int getIndexOfURL(String text) { * @throws JAXBException */ public Hyperlink generateHyperlink(String relId, String url) throws JAXBException { + // replace '&' with '&' + if(url.contains("&")) { + url = url.replaceAll("&(?!amp;)", "&"); + } String hpl = "" +