Publications Office of the EU
Procédures de passation de marchés publics - Appels d’offres de l’UE
DisplayCustomHeader
Agrégateur de contenus
Agrégateur de contenus
Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> entry.getAssetRenderer().getArticle  [in template "10157#10197#12490368" at line 10, column 50]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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 docXml = saxReaderUtil.read(e...  [in template "10157#10197#12490368" at line 10, column 13]
----
1<div class="gcss-op"> 
2    <!-- START GRID --> 
3    <div class="gs-grid" style="grid-template-columns: repeat(auto-fill,minmax(250px, 1fr));row-gap:var(--gs-base-spacing-l);"> 
4 
5        <#list entries as entry> 
6            <#assign entry = entry /> 
7            <#assign assetRenderer = entry.getAssetRenderer() /> 
8            <#assign className = assetRenderer.getClassName() /> 
9             
10            <#assign docXml = saxReaderUtil.read(entry.getAssetRenderer().getArticle().getContent()) /> 
11            <#assign rootElement = docXml.getRootElement() /> 
12            <#assign availableLocales = rootElement.attribute("available-locales").getText() /> 
13            <#assign defaultLocale = rootElement.attribute("default-locale").getText() /> 
14 
15            <#if (availableLocales?contains(locale)) > 
16                <#assign CardID = docXml.valueOf("//dynamic-element[@name='CardID']/dynamic-content[@language-id='"+locale+"']/text()") /> 
17                <#assign TextSize = docXml.valueOf("//dynamic-element[@name='TextSize']/dynamic-content[@language-id='"+locale+"']/text()") /> 
18                <#assign CardImage = docXml.valueOf("//dynamic-element[@name='CardImage']/dynamic-content[@language-id='"+locale+"']/text()") /> 
19                <#assign Badge = docXml.valueOf("//dynamic-element[@name='Badge']/dynamic-content[@language-id='"+locale+"']/text()") /> 
20                <#assign Title = docXml.valueOf("//dynamic-element[@name='Title']/dynamic-content[@language-id='"+locale+"']/text()") /> 
21                <#assign TitleType = docXml.valueOf("//dynamic-element[@name='TitleType']/dynamic-content[@language-id='"+locale+"']/text()") /> 
22                <#assign TitleURL = docXml.valueOf("//dynamic-element[@name='TitleURL']/dynamic-content[@language-id='"+locale+"']/text()") /> 
23                <#assign SubTitle = docXml.valueOf("//dynamic-element[@name='SubTitle']/dynamic-content[@language-id='"+locale+"']/text()") /> 
24                <#assign BodyText = docXml.valueOf("//dynamic-element[@name='BodyText']/dynamic-content[@language-id='"+locale+"']/text()") /> 
25                <#assign Footer = docXml.valueOf("//dynamic-element[@name='Footer']/dynamic-content[@language-id='"+locale+"']/text()") /> 
26                <#assign FooterContent = docXml.valueOf("//dynamic-element[@name='FooterContent']/dynamic-content[@language-id='"+locale+"']/text()") /> 
27                <#assign FooterContentAlignment = docXml.valueOf("//dynamic-element[@name='FooterContentAlignment']/dynamic-content[@language-id='"+locale+"']/text()") /> 
28 
29            <#else> 
30                <#assign fulllContent = docXml.valueOf("//static-content[@language-id='" + defaultLocale + "']/text()") /> 
31                <#assign CardID = docXml.valueOf("//dynamic-element[@name='CardID']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
32							  <#assign TextSize = docXml.valueOf("//dynamic-element[@name='TextSize']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
33                <#assign CardImage = docXml.valueOf("//dynamic-element[@name='CardImage']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
34                <#assign Badge = docXml.valueOf("//dynamic-element[@name='Badge']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
35                <#assign Title = docXml.valueOf("//dynamic-element[@name='Title']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
36							  <#assign TitleType = docXml.valueOf("//dynamic-element[@name='TitleType']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
37                <#assign TitleURL = docXml.valueOf("//dynamic-element[@name='TitleURL']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
38                <#assign SubTitle = docXml.valueOf("//dynamic-element[@name='SubTitle']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
39							  <#assign BodyText = docXml.valueOf("//dynamic-element[@name='BodyText']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
40                <#assign Footer = docXml.valueOf("//dynamic-element[@name='Footer']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
41                <#assign FooterContent = docXml.valueOf("//dynamic-element[@name='FooterContent']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
42                <#assign FooterContentAlignment = docXml.valueOf("//dynamic-element[@name='FooterContentAlignment']/dynamic-content[@language-id='"+defaultLocale+"']/text()") /> 
43							</#if> 
44                 
45            <#assign jsonimg = jsonFactoryUtil.createJSONObject(CardImage)> 
46            <#assign urlJsonImg = "/documents/" > 
47            <#if CardImage?? && CardImage != "" && jsonimg.groupId?? && jsonimg.groupId != "" > 
48                <#assign urlJsonImg = urlJsonImg + jsonimg.groupId > 
49                <#assign urlJsonImg = urlJsonImg + "/" + jsonimg.fileEntryId > 
50                <#assign urlJsonImg = urlJsonImg + "/" + jsonimg.name > 
51                <#assign urlJsonImg = urlJsonImg + "/" + jsonimg.uuid > 
52            </#if> 
53         
54 
55 
56            <!-- CARD --> 
57            <#if (TextSize??  && TextSize != "Option71239415" )> 
58                <div id="card-${CardID}" class="gs-card-v3 gs-compact"> 
59                <#else><div id="card-${CardID}" class="gs-card-v3"> 
60            </#if> 
61             
62 
63                <!-- top --> 
64                <div class="gs-card-top"> 
65 
66                    <#if CardImage?? && CardImage != "" > 
67                        <div class="gs-card-img"> 
68 
69                            <#if TitleURL?has_content> 
70                                <a aria-hidden="true" href="${TitleURL}" tabindex="-1"><img alt="" src="${urlJsonImg}" /></a> 
71                                <#else><img alt="" src="${urlJsonImg}" /> 
72                            </#if> 
73                             
74                            <#if Badge?has_content> 
75                                <#if TitleURL?has_content> 
76                                    <div class="gs-img-badge"><a aria-hidden="true" href="${TitleURL}" tabindex="-1">${Badge}</a></div> 
77                                <#else><div class="gs-img-badge">${Badge}</div> 
78                            </#if> 
79                                 
80                            </#if> 
81                        </div> 
82                    </#if> 
83 
84                    <!-- body --> 
85                    <div class="gs-card-body"> 
86                         
87                        <#if (TitleType == "Option06059781")> 
88                            <p class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></p> 
89                        </#if> 
90                        <#if (TitleType == "Option60023604" )> 
91                            <h2 class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></h2> 
92                        </#if> 
93                        <#if (TitleType == "Option39004431" )> 
94                            <h3 class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></h3> 
95                        </#if> 
96                        <#if (TitleType == "Option38468523" )> 
97                            <h4 class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></h4> 
98                        </#if>  
99                        <#if (TitleType == "Option85596771" )> 
100                            <h5 class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></h5> 
101                        </#if> 
102                        <#if (TitleType == "Option62780052" )> 
103                            <h6 class="gs-title" id="cardtitle-${CardID}"><a href="${TitleURL}">${Title}</a></h6> 
104                        </#if>                               
105                         
106                         
107                        <#if SubTitle?has_content> 
108                            <p class="gs-subtitle">${SubTitle}</p> 
109                        </#if> 
110                        <#if BodyText?has_content> 
111                            <p>${BodyText}</p> 
112                        </#if> 
113 
114                    </div> 
115                </div> 
116                <!-- footer --> 
117                <#if (Footer  == "Option18654909" )></#if> 
118                <#if (Footer  == "Option89122312" )> 
119 
120                    <#if (FooterContentAlignment  == "Option45699370" )> 
121                        <div class="gs-card-footer" style="justify-content:flex-start;"> 
122                            ${FooterContent} 
123                        </div>                     
124                    </#if> 
125                    <#if (FooterContentAlignment  == "Option86073294" )> 
126                        <div class="gs-card-footer" style="justify-content:flex-end;"> 
127                            ${FooterContent} 
128                            <style> 
129                            .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer p, 
130                            .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer div { 
131                                justify-content:flex-end; 
132
133                            </style> 
134                        </div>                     
135                    </#if> 
136                    <#if (FooterContentAlignment  == "Option66955638" )> 
137                        <div class="gs-card-footer" style="justify-content:center;"> 
138                            ${FooterContent} 
139                            <style> 
140                            .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer p, 
141                            .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer div { 
142                                justify-content:center; 
143
144                            </style> 
145                        </div>                     
146                    </#if> 
147                    <#if (FooterContentAlignment  == "Option60518108" )> 
148                        <div class="gs-card-footer"> 
149                            ${FooterContent} 
150                            <style> 
151                            .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer p, 
152                            .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer div { 
153                                width:100%; 
154
155                            .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer a, 
156                            .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer p a, 
157                            .gcss-op #card-${CardID}.gs-card-v3 .gs-card-footer div a { 
158                                flex: 1; 
159
160                            </style> 
161                        </div>                     
162                    </#if> 
163 
164                </#if> 
165 
166                <!-- END card --> 
167            </div> 
168         
169        </#list> 
170 
171 
172    <!-- END GRID --> 
173    </div> 
174 
175<!-- END CSS global -->	 
176</div> 
ressources

 

Collecte de données et métadonnées électroniques


Agrégateur de contenus

Tables d’autorité et taxinomies

Utilisées dans la passation électronique de marchés pour normaliser les listes de codes utilisées dans le domaine des marchés publics

Ontologie des marchés publics en ligne

Permet de coder et de mettre à disposition dans un format ouvert, structuré et lisible par machine des concepts utilisés dans les marchés publics