An error occurred while processing the template.
Failed to "?eval" string with this error:

---begin-message---
Syntax error in ?eval-ed string in line 1, column 2:
Encountered ")", but was expecting one of:
    <STRING_LITERAL>
    <RAW_STRING>
    "false"
    "true"
    <INTEGER>
    <DECIMAL>
    "."
    "+"
    "-"
    "!"
    "["
    "("
    "{"
    <ID>
---end-message---

The failing expression:
==> imageElem?eval  [in template "20101#20128#null" at line 71, column 46]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign imageJSON = imageElem?eval  [in template "20101#20128#null" at line 71, column 25]
----
1<#-- Article Display 2 --> 
2 
3<#include init />  
4 
5 
6<#--<#include "${full_templates_path}/homepage/article_display2.ftl" />--> 
7<#assign fileEntryServiceUtil = objectUtil("com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil")> 
8<#-- 
9Article Display 2 
10--> 
11<#include init/> 
12<link rel="stylesheet"   href="${themeDisplay.getPathThemeCss()}/articleDisplay2.css"/> 
13<#assign imageJSON = "{}"?eval> 
14<#assign title = "No title"> 
15<#assign summary = "No summary"> 
16<#assign category = "No category"> 
17<#assign categoryName = "No Title"> 
18<#assign publishDate = ""> 
19<#assign pdfUrl = ""> 
20<#if curEntry??> 
21	<#assign renderer = curEntry.getAssetRenderer()> 
22	<#assign className = renderer.getClassName()> 
23	<#if className == "com.liferay.journal.model.JournalArticle"> 
24		<#assign journalArticle = renderer.getArticle()> 
25		<#assign journalArticleId = journalArticle.getArticleId()> 
26	</#if> 
27<#else> 
28	<#assign journalArticleId = .vars['reserved-article-id'].data> 
29	<#-- journalArticle.getDescription() returns the diacritical description wraped in <span> => assetEntry.getSummary() --> 
30	<#assign journalArticleLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleLocalServiceUtil"]> 
31	<#assign journalArticle = journalArticleLocalServiceUtil.getLatestArticle(themeDisplay.getScopeGroupId(), journalArticleId)> 
32	<#assign journalArticleResourcePrimKey = journalArticle.getResourcePrimKey()> 
33	<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
34	<#assign curEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", journalArticleResourcePrimKey)> 
35	<#assign renderer = curEntry.getAssetRenderer()> 
36</#if> 
37<#assign journalArticleTitle = renderer.getTitle(locale)> 
38<#if journalArticleTitle?hasContent> 
39	<#if journalArticleTitle?length &lt; 115> 
40		<#assign title = journalArticleTitle> 
41	<#else> 
42		<#assign title = journalArticleTitle?substring(0,115) + "..."> 
43	</#if>		 
44</#if>	 
45 
46<#assign journalArticleSummary =  htmlUtil.extractText(curEntry.getSummary(locale))> 
47<#if journalArticleSummary?hasContent> 
48		<#if journalArticleSummary?length &lt; 110> 
49			<#assign summary = journalArticleSummary>	 
50		<#else> 
51			<#assign summary = journalArticleSummary?substring(0,107) + "...">	 
52		</#if> 
53</#if>		 
54<#list curEntry.getCategories() as journalArticleCategory> 
55	<#assign category = journalArticleCategory.getTitle(locale)> <#-- only one category can be used --> 
56	<#assign categoryName= journalArticleCategory.getName()> 
57	<#break> 
58</#list> 
59 
60<#if curEntry.publishDate?hasContent> 
61 	<#setting dateFormat=display_date_format> 
62 	<#setting locale = locale.getLanguage()> 
63	<#assign publishDate =  curEntry.publishDate?date> 
64</#if> 
65<#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale))> 
66<#assign rootElement = document.getRootElement()> 
67<#list rootElement.elements() as dynamicElement> 
68	<#switch dynamicElement.attributeValue("name")> 
69		<#case "image1"> 
70			<#assign imageElem = dynamicElement.element("dynamic-content").getText()> 
71			<#assign imageJSON = imageElem?eval> 
72			<#break> 
73		<#case "pdfFile"> 
74			<#assign pdfElem = dynamicElement.element("dynamic-content").getText()> 
75			<#if validator.isNotNull(pdfElem)> 
76	 			<#assign pdfJSON = pdfElem?eval> 
77				<#assign pdfUrl = "/c/document_library/get_file?uuid=" + pdfJSON.uuid	+ "&groupId=" + pdfJSON.groupId> 
78				<#assign pdfFile = fileEntryServiceUtil.getFileEntryByUuidAndGroupId(pdfJSON.uuid, pdfJSON.groupId?number)> 
79				<#assign pdfFileSize = pdfFile.getSize()/1024> 
80				<#assign pdfFileType = pdfFile.getExtension()> 
81			</#if> 
82			<#break>	 
83		<#default> 
84	</#switch> 
85</#list> 
86 
87<#include "${full_templates_path}/inc/redirect_actualites_portlet.ftl" /> 
88<#assign articleUrl =getUrlArticle(journalArticle.getUrlTitle(locale)) />  
89 
90<#assign structure = journalArticle.getDDMStructure()/> 
91<#assign isComDePresse = structure.getName(locale) == "Press_release"> 
92 
93 
94 
95 
96 
97 
98<#assign notFromCarousel = !fromCarousel?? || !fromCarousel> 
99 
100<div class="<#if notFromCarousel>rectangle-article-display2<#else>carousel-rectangle</#if>" > 
101	 
102<#if notFromCarousel> 
103	<div class="image-article-display2"> 
104 
105	<#if imageJSON?hasContent> 
106		<a href='${articleUrl}'> 
107			<img alt="${imageJSON.alt}"  aria-hidden="true" data-fileentryid="${imageJSON.fileEntryId}" class=" " loading="lazy" loading="lazy" src="/documents/${imageJSON.groupId}/${imageJSON.uuid}"/> 
108		</a> 
109	<#else> 
110		<#if imageElem?hasContent>  
111			<a href='${articleUrl}'> 
112				<img alt="${imageElem.getAttribute('alt')}"   aria-hidden="true" data-fileentryid="${imageElem.getAttribute('fileEntryId')}" class=" "  loading="lazy" loading="lazy" src="${imageElem.getData()}" /> 
113			</a> 
114		</#if>	 
115	</#if> 
116 	</div> 
117</#if> 	 
118	<div class="<#if notFromCarousel>box-text-article-display2 wording-block-article-display2</#if>"> 
119  		<div class="<#if notFromCarousel>wording-article-display2</#if>">  
120	  		<div class="<#if notFromCarousel>categorie-article-display2<#else>carousel-category</#if>" > 
121	  			<a href='${actualite_url_portlet+categoryName+"/1"}' >${category}</a> 
122	  		</div>  
123	  		<h3  <#if notFromCarousel && imageJSON?hasContent> id="${journalArticleId}" </#if>  class="<#if notFromCarousel>titre-de-l-actualite-article-display2<#else>carousel-title</#if>"><a href='${articleUrl}'>${title}</a></h3> 
124   			<p class="<#if notFromCarousel>petite-description-d-article-display2<#else>carousel-description</#if>">${summary}</p>  
125  		</div>  		 
126<#if notFromCarousel> 
127	<#if isComDePresse> 
128		<div class="download-article_display2"> 
129		<#if pdfUrl?hasContent> 
130			<div class="date-article-display2"> 
131				<div style="overflow:hidden; float:left;">${publishDate}</div> 
132				<a  href='${pdfUrl}' target='_blank' > 
133				  	<div class="telecharger-article_display2" style="float:left;"><@liferay.language key="bnpparibas.cardif.portlet.telecharger" /> (${pdfFileSize?string("0")} ko ${pdfFileType})</div> 
134				  	<div class="icn-download-article_display2" style="float:right;"> 
135				  		<img style="float:right; margin-top: 0px;margin-bottom: 0px;margin-left: 16px;" class=" " aria-hidden="true" alt="<@liferay.language key="bnpparibas.cardif.portlet.telecharger" />"  loading="lazy" loading="lazy" src="${themeDisplay.getPathThemeImages()}/cardif/press_release/download.png"/>  
136				  	</div> 
137			  	</a> 
138			</div>  	 
139		<#else> 
140			<div class="date-article-display2"> 
141				<div style="overflow:hidden; float:left;">${publishDate}</div> 
142			</div> 	 
143		</#if> 
144		</div> 
145	<#else> 
146		<div class="date-article-display2">${publishDate}</div> 
147	</#if> 
148</#if>	 
149	</div>	  
150</div> 
Strategy

BNP Paribas enters into exclusive negotiations with AXA for the acquisition of AXA investment Managers and a long t...

The BNP Paribas Group announces today that it has entered into exclusive negotiations with AXA to acquire 1...

01 August 2024
Download (883 ko pdf)
Expertise

« API Store », a digital platform to easily connect to our partners' systems

With the introduction of its API Store, BNP Paribas Cardif takes a step further toward its vision of Insura...

17 July 2024
Impact

Net-Zero Asset Owner Alliance

BNP Paribas Cardif pursues commitments to align investment portfolios with carbon neutral trajectory by 205...

12 July 2024
Strategy

New BNP Paribas Cardif survey: “Protect & Project Oneself”

Results of the 2024 survey show that people are slightly less concerned about unforeseen life events than i...

04 June 2024
Download (798 ko pdf)
Partner

Supporting partners’ competitiveness through enhanced savings solutions

BCC Iccrea Group and BNP Paribas Cardif signed a strategic partnership for life insurance in Italy. Alessan...

03 June 2024
Innovation

BNP Paribas Cardif at VivaTech 2024: A strong presence under the theme of Artificial Intelligence

BNP Paribas Cardif has once again demonstrated its commitment to innovation by participating in the 8th edi...

27 May 2024
Partner

Neuflize OBC and BNP Paribas Cardif initiate exclusive negotiations to form strategic partnership in life insurance...

Neuflize OBC, the private banking unit of ABN AMRO in France, and Cardif, the insurance subsidiary of the B...

17 May 2024
Download (246 ko pdf)
Innovation

Simplifying claims management with automation

BNP Paribas Cardif is simplifying claims management with automation by shortening its processing time and t...

29 April 2024