Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> saxReaderUtil.createXPath("dynamic-element[@name='codigo']").selectSingleNode(rootElement)  [in template "21222#21260#23884203" at line 85, column 78]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign traCodigo = stringUtil.trim(s...  [in template "21222#21260#23884203" at line 85, column 41]
----
1<#assign equipamiento = "Ekipamenduak"> 
2<#assign tramite = "Tramiteak"> 
3<#assign enlaces = "Lotura interesgarriak"> 
4<#assign tema = "Arloak"> 
5 
6<#if locale == "es_ES"> 
7	<#assign equipamiento = "Equipamientos"> 
8	<#assign tramite = "Trámites"> 
9	<#assign enlaces = "Enlaces de interés"> 
10	<#assign tema = "Áreas"> 
11<#else> 
12	<#assign equipamiento = "Ekipamenduak"> 
13	<#assign tramite = "Tramiteak"> 
14	<#assign enlaces = "Lotura interesgarriak"> 
15	<#assign tema = "Arloak"> 
16</#if> 
17 
18 
19 
20<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
21<#assign scopeGroupId = getterUtil.getLong(themeDisplay.getScopeGroupId())> 
22<#assign lang = locale?split('_')[0]> 
23 
24<h1>${.vars['reserved-article-title'].getData()}</h1> 
25<#if subNombre.getData() != "">     
26	<h2 class="azpititulua">${subNombre.getData()}</h2> 
27</#if> 
28<div class="ficha-servicios"> 
29    <div class="dos-columnas">     
30        <div class="columna">            
31            <#if informacion.getData() != "">                 
32				<div>${informacion.getData()}</div> 
33            </#if>                  
34			<#-- INI EQUIPAMIENTOS-->  
35			<#if codEquipamientos.getSiblings()?has_content> 
36		 
37				<#assign COD_ESQUEMA_EQUIPAMIENTO = "28733825"> 
38				<#assign equipamientos = journalArticleLocalService.getStructureArticles(scopeGroupId, COD_ESQUEMA_EQUIPAMIENTO)> 
39				<!--<h2>${equipamiento}</h2>--> 
40				<div class="dos-columnas equipamientos">     
41				<#foreach equipamiento in equipamientos>      
42					<#if journalArticleLocalService.isLatestVersion(equipamiento.groupId, equipamiento.articleId, equipamiento.version)> 
43						<#assign document = saxReaderUtil.read(equipamiento.getContentByLocale(locale.toString()))> 
44						<#assign rootElement = document.getRootElement()> 
45						<#assign codEquipamiento = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='codigo']").selectSingleNode(rootElement).getStringValue())>                             
46							 
47						<#foreach cur_codEquipamientos in codEquipamientos.getSiblings()>                                 
48							<#if cur_codEquipamientos.getData() == codEquipamiento> 
49								<#assign equipamientoURL = equipamiento.urlTitle> 
50								<#assign equipamientoNombre = equipamiento.getTitle(locale)> 
51								<#assign equipamientoImagenURL = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='imagenPortadaURL']").selectSingleNode(rootElement).getStringValue())>                                     
52								<div class="columna fotos-equipamientos">                                         
53									<a href="/${lang}/-/${equipamientoURL}" title="+ info ${equipamientoNombre}"> 
54										<span class="imagen"> 
55											<img src="${equipamientoImagenURL}" alt="${equipamientoNombre}"/><br> 
56										</span> 
57										${equipamientoNombre} 
58									</a> 
59								</div> 
60							</#if>                             
61						</#foreach>                         
62					</#if>                     
63				</#foreach>                
64				</div> 
65			</#if>             
66			<#-- FIN EQUIPAMIENTOS-->              
67			<#if urlExterno.getData() != "">                 
68				<p><a  class="boton principal" href="${urlExterno.getData()}"> + info</a></p> 
69			</#if>             
70			</div> 
71         
72        <div class="columna"> 
73        <#-- INI TRAMITES--> 
74		<#assign tramitesHTML = ""> 
75		<#assign COD_ESQUEMA_TRAMITE = "21801873"> 
76		<#assign tramites = journalArticleLocalService.getStructureArticles(scopeGroupId, COD_ESQUEMA_TRAMITE)>             
77		<#foreach tramite in tramites> 
78			<#if journalArticleLocalService.isLatestVersion(tramite.groupId, tramite.articleId, tramite.version)> 
79				<#assign document = saxReaderUtil.read(tramite.getContentByLocale(locale.toString()))> 
80				<#assign rootElement = document.getRootElement()> 
81				<#assign codServicio = document.valueOf("//dynamic-element[@name='codServicio']/dynamic-content/text()") /> 
82				<#if codigo.getData() == codServicio> 
83					<#assign traURL = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='lotura']").selectSingleNode(rootElement).getStringValue())> 
84					<#assign traDescripcion = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='deskribapena']").selectSingleNode(rootElement).getStringValue())> 
85					<#assign traCodigo = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='codigo']").selectSingleNode(rootElement).getStringValue())> 
86					<#assign traTitulo = tramite.getTitle(locale)> 
87					<#assign tramitesHTML = tramitesHTML + "<li><a href='" + traURL + "'>" + traTitulo + "</a></li>">                     
88				</#if> 
89				<#assign codServicio = "">                 
90			</#if>             
91		</#foreach>             
92		<#if tramitesHTML != "">                 
93			<div class="taco-tramites"> 
94			<h2>${tramite}</h2> 
95			<ul> 
96				${tramitesHTML} 
97			</ul> 
98			</div> 
99		</#if>             
100		<#-- FIN TRAMITES-->             
101             
102            <div class="taco-datos">     
103            <!-- Datos de contacto, horario, dirección ...--> 
104                 
105            <#-- INI BUSCAMOS LOS DATOS DE LA PRIMERA OFICINA ASOCIADA-->                 
106			<#if codOficinas.getSiblings()?has_content> 
107				<#assign COD_ESQUEMA_OFICINA = "28866968"> 
108				<#assign oficinas = journalArticleLocalService.getStructureArticles(scopeGroupId, COD_ESQUEMA_OFICINA)>                     
109				<#foreach codOfiServ in codOficinas.getSiblings()>                         
110					<#foreach oficina in oficinas>                             
111						<#if journalArticleLocalService.isLatestVersion(oficina.groupId, oficina.articleId, oficina.version)> 
112							<#assign document = saxReaderUtil.read(oficina.getContentByLocale(locale.toString()))> 
113							<#assign rootElement = document.getRootElement()> 
114							<#assign codOficina = document.valueOf("//dynamic-element[@name='codigo']/dynamic-content/text()") /> 
115							<#assign ofiTelefono = "" /> 
116							<#assign ofiEmail = "" /> 
117							<#assign ofiDireccion = "" /> 
118							<#assign ofiRestoDireccion = "" /> 
119							<#assign ofiHorario = "" /> 
120							<#assign ofiLtlHorario = "" /> 
121							<#if codOfiServ.getData() == codOficina> 
122							    <#assign agNode = document.valueOf("//dynamic-element[@name='agenda']/dynamic-content/text()") /> 
123							    <#assign dirNode = document.valueOf("//dynamic-element[@name='dir']/dynamic-content/text()") /> 
124							    <#assign horNode = document.valueOf("//dynamic-element[@name='hor']/dynamic-content/text()") /> 
125							    <#assign ofiTitulo = oficina.getTitle(locale)> 
126							    <#assign ofiSubTitulo = document.valueOf("//dynamic-element[@name='subNombre']/dynamic-content/text()") /> 
127                                <#assign ofiTelefono = document.valueOf("//dynamic-element[@name='agTelefono']/dynamic-content/text()") /> 
128							    <#assign ofiEmail = document.valueOf("//dynamic-element[@name='agEmail']/dynamic-content/text()") /> 
129							    <#assign ofiDireccion = document.valueOf("//dynamic-element[@name='dirDire1']/dynamic-content/text()") /> 
130							    <#assign ofiRestoDireccion = document.valueOf("//dynamic-element[@name='dirResto']/dynamic-content/text()") /> 
131							    <#assign ofiHorario = document.valueOf("//dynamic-element[@name='horHorario']/dynamic-content/text()") /> 
132							    <#assign ofiLtlHorario = document.valueOf("//dynamic-element[@name='horLiteral']/dynamic-content/text()") /> 
133							<#break> 
134                        </#if>                             
135						</#if>                         
136					</#foreach>                     
137				</#foreach>                 
138			</#if>                 
139			<#--FIN BUSCAMOS LOS DATOS DE LA PRIMERA OFICINA ASOCIADA-->                 
140            <#if agenda.getChild("agTelefono").getData() != "">                    
141				<div class="dato telefono"><a href="tel:${agenda.getChild("agTelefono").getData()}">${agenda.getChild("agTelefono").getData()}</a></div> 
142            <#elseif ofiTelefono != "">                     
143				<div class="dato telefono"><a href="tel:${ofiTelefono}">${ofiTelefono}</a></div> 
144            </#if>                 
145            <#if agenda.getChild("agEmail").getData() != "">                     
146				<div class="dato email"><a href="email:${agenda.getChild("agEmail").getData()}">${agenda.getChild("agEmail").getData()}</a></div> 
147            <#elseif ofiEmail != "">                     
148				<div class="dato email"><a href="email:${ofiEmail}">${ofiEmail}</a></div> 
149            </#if>                
150            <#if hor.getChild("horHorario").getData() != "">                     
151				<div class="dato horario"> 
152                    <strong>${hor.getChild("horLiteral").getData()}</strong><br /><br /> 
153                    ${hor.getChild("horHorario").getData()} 
154                </div> 
155            <#elseif ofiHorario != "">                     
156				<div class="dato horario"> 
157                    <strong>${ofiLtlHorario}</strong><br /><br /> 
158                    ${ofiHorario} 
159                </div> 
160            </#if>                 
161            <#if dir.getChild("dirDire1").getData() != "">                     
162				<div class="dato direccion"> 
163                    ${dir.getChild("dirDire1").getData()}<br /> 
164                    ${dir.getChild("dirResto").getData()} 
165                </div> 
166            </#if>                 
167            <#-- INI REDES SOCIALES-->                 
168			<#if siguenos.redNombre.getData() != "">                 
169				<div class="redes"> 
170                <#foreach cur_red in siguenos.redNombre.getSiblings()>                         
171					<span class="${cur_red.getChild("redTipo").getData()}"> 
172                    <a href="${cur_red.getChild("redUrl").getData()}" rel="external" target="_blank" title="${cur_red.getChild("redTipo").getData()} ${cur_red.getData()}"> 
173                    <#if cur_red.getChild("redTipo").getData() == "facebook">                                     
174						<img alt="facebook" src="/documents/9774148/21632780/Facebook/3a10cd66-f046-d6ba-1a5a-2ac6912a5fb6" /> 
175                    <#elseif cur_red.getChild("redTipo").getData() == "twitter">                                     
176						<img alt="Twitter" src="/documents/9774148/21632780/twitter/04abb2f4-3718-23e7-0017-fc934090bf9a" /> 
177                    <#elseif cur_red.getChild("redTipo").getData() == "instagram">                                     
178						<img alt="Instagram" src="/documents/9774148/21632780/instagram/0ff74667-2d2b-a02d-a825-de2d73725fea" />  
179                    <#elseif cur_red.getChild("redTipo").getData() == "youtube">                                     
180						<img alt="Youtube" src="/documents/9774148/21632780/youtube/404d2b0b-3ff6-06cf-3153-71b6b6fc8474" /> 
181                    <#elseif cur_red.getChild("redTipo").getData() == "blog">                                     
182						<img alt="Blog" src="/documents/9774148/21632780/blog/a8d497dc-bbb9-294b-04fb-5b0ffc826ac9" /> 
183                    </#if>                                 
184					<!--i class="icon-${cur_red.getChild("redTipo").getData()}">&nbsp;</i--> 
185                    <span class="hide-text">${cur_red.getChild("redTipo").getData()} ${cur_red.getData()}</span> 
186                    </a> 
187                    </span> 
188                </#foreach>                 
189				</div> 
190            </#if>                 
191			<#-- FIN REDES SOCIALES-->             
192			</div> 
193             
194            <#-- INI MAS INFORMACION-->             
195            <#if masInfo.masInfoNombre.getData() != "">                 
196				<div class="masInfo"> 
197                    <h2>${enlaces}</h2> 
198                	<ul> 
199                    <#foreach cur_enlaceInteres in masInfo.masInfoNombre.getSiblings()>                         
200						<li> 
201                            <a href="${cur_enlaceInteres.getChild("masInfoUrl").getData()}" rel="external" target="_blank"> 
202                                ${cur_enlaceInteres.getData()} 
203                            </a> 
204                        </li> 
205                    </#foreach>                     
206					</ul> 
207                </div> 
208            </#if>             
209			<#-- FIN MAS INFORMACION--> 
210 
211            <#-- INI TEMAS O AREAS-->             
212			<#if codTemas.getSiblings()?has_content>                 
213				<h2>${tema}</h2> 
214                <#assign COD_ESQUEMA_TEMA = "27592875"> 
215				<#assign temas = journalArticleLocalService.getStructureArticles(scopeGroupId, COD_ESQUEMA_TEMA)>                 
216				<ul> 
217                <#foreach tema in temas>                     
218					<#if journalArticleLocalService.isLatestVersion(tema.groupId, tema.articleId, tema.version)> 
219						<#assign document = saxReaderUtil.read(tema.getContentByLocale(locale.toString()))> 
220						<#assign rootElement = document.getRootElement()> 
221						<#assign codTema = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='codigo']").selectSingleNode(rootElement).getStringValue())>                         
222						<#foreach cur_codTemas in codTemas.getSiblings()>                             
223							<#if cur_codTemas.getData() == codTema> 
224							    <#assign temaURL = tema.urlTitle> 
225								<#assign temaNombre = tema.getTitle(locale)>                                 
226								<li><a href="/${lang}/-/${temaURL}" title="+ info ${temaNombre}">${temaNombre}</a></li> 
227							</#if>                         
228						</#foreach>                     
229					</#if>                 
230				</#foreach>                 
231				</ul> 
232			</#if>             
233	<#-- FIN TEMAS O AREAS--> 
234            
235             
236        </div> 
237    </div> 
238     
239    <div class="dos-columnas"> 
240     
241    <#--INI OFICINAS-->         
242    <#if codOficinas.getSiblings()?has_content> 
243		<#assign COD_ESQUEMA_OFICINA = "28866968"> 
244		<#assign oficinas = journalArticleLocalService.getStructureArticles(scopeGroupId, COD_ESQUEMA_OFICINA)>             
245		<#foreach codOfiServ in codOficinas.getSiblings()>                 
246			<#foreach oficina in oficinas>                     
247				<#if journalArticleLocalService.isLatestVersion(oficina.groupId, oficina.articleId, oficina.version)> 
248					<#assign document = saxReaderUtil.read(oficina.getContentByLocale(locale.toString()))> 
249					<#assign rootElement = document.getRootElement()> 
250					<#assign codOficina = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='codigo']").selectSingleNode(rootElement).getStringValue())>                         
251					<#if codOfiServ.getData() == codOficina>                        <div class="columna"> 
252                    <div class="infoBanner"> 
253                        <#assign agNode = saxReaderUtil.createXPath("dynamic-element[@name='agenda']").selectSingleNode(rootElement)> 
254						<#assign dirNode = saxReaderUtil.createXPath("dynamic-element[@name='dir']").selectSingleNode(rootElement)> 
255						<#assign horNode = saxReaderUtil.createXPath("dynamic-element[@name='hor']").selectSingleNode(rootElement)> 
256						<#assign ofiTitulo = oficina.getTitle(locale)> 
257						<#assign ofiSubTitulo = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='subNombre']").selectSingleNode(rootElement).getStringValue())>     
258                        <#assign ofiTelefono = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='agTelefono']").selectSingleNode(agNode).getStringValue())> 
259						<#assign ofiEmail = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='agEmail']").selectSingleNode(agNode).getStringValue())> 
260						<#assign ofiDireccion = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='dirDire1']").selectSingleNode(dirNode).getStringValue())> 
261						<#assign ofiRestoDireccion = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='dirResto']").selectSingleNode(dirNode).getStringValue())> 
262						<#assign ofiHorario = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='horHorario']").selectSingleNode(horNode).getStringValue())> 
263						<#assign ofiLtlHorario = stringUtil.trim(saxReaderUtil.createXPath("dynamic-element[@name='horLiteral']").selectSingleNode(horNode).getStringValue())> 
264						<#assign ofiURL = oficina.urlTitle>                                 
265						<p class="uu_titulo">${ofiTitulo}</p> 
266                        <#if ofiSubTitulo != "">                                         
267							<p class="uu_subtitulo">${ofiSubTitulo}</p> 
268                        </#if>                                     
269						<#if ofiTelefono != "">                                         
270							<p class="uu_telefonoa"><i class="icon-phone">&nbsp;</i> 
271                                <a href="tel:${ofiTelefono}">${ofiTelefono}</a> 
272                            </p> 
273                        </#if>                                     
274						<#if ofiEmail != "">                                         
275							<p class="uu_email"><a href="mailto:${ofiEmail}?subject=WEB ${.vars['reserved-article-title'].getData()}">${ofiEmail}</a></p> 
276                        </#if>                                     
277						<#if ofiRestoDireccion != "">                                         
278							<p class="uu_direccion">${ofiDireccion}<br />${ofiRestoDireccion}</p> 
279                        </#if>                                     
280						<#if ofiHorario != "">                                         
281							<p class="uu_ordutegia"><strong style="text-transform: uppercase">${ofiLtlHorario}</strong><br /> 
282                                ${ofiHorario} 
283                            </p> 
284                        </#if>                                     
285						<p><a href="/${lang}/-/${ofiURL}">+ info</a></p> 
286                    </div> 
287   </div> 
288</#if>                     
289</#if>                 
290</#foreach>             
291</#foreach>         
292</#if>         
293<#--FIN OFICINAS-->         
294    </div> 
295</div>