Revista Española de la Opinión Pública (REOP)

The Revista Española de la Opinión Pública (1965-1977) was the predecessor of the Revista Española de Investigaciones Sociológicas (REIS). As indicated in issue 0 of April 1965, its objective was to disseminate the scientific aspects linked to the study of public opinion and contribute to the enrichment of the political life of our country.

Many articles by researchers and scholars of the Social Sciences were published in the REOP, some of whom, over the years, became prestigious Spanish and Spanish-speaking academics, sociologists and political scientists.

It is a reference publication for any student of Spanish and international society and politics of those years and which is now and since November 2020 offered in open access online.

In this section you will have open access to the contents covered in all published issues, from 0 to 50. You will also have access to the original physical copies available in our Library in case you wish to be consulted.

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

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

The failing expression:
==> documentoPDF?eval  [in template "20096#20122#57889" at line 131, column 109]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign documentoPDFJson = documentoP...  [in template "20096#20122#57889" at line 131, column 81]
----
1<#assign liferay_ui = PortletJspTagLibs["/META-INF/liferay-ui.tld"] /> 
2<#assign liferay_util = PortletJspTagLibs["/META-INF/liferay-util.tld"] /> 
3<#assign aui = PortletJspTagLibs["/META-INF/liferay-aui.tld"] /> 
4 
5<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
6<#function getJournalArticleRootElement journal> 
7	<#attempt> 
8		<#if journal?has_content> 
9			<#local journalLocaleContent = journal.getContentByLocale(locale.toString()) />		 
10			<#local journalContentXml = saxReaderUtil.read(journalLocaleContent) />		 
11			<#local rootElementContent = journalContentXml.getRootElement() /> 
12			<#if rootElementContent?? && rootElementContent?has_content>					 
13				<#return rootElementContent />				 
14			</#if> 
15		</#if>			 
16	<#recover > 
17	</#attempt>	 
18	<#return "" /> 
19</#function> 
20 
21<#function getXmlTextElement rootElementContent fieldReference> 
22	<#attempt> 
23		<#local xPathSelector = saxReaderUtil.createXPath("dynamic-element[@field-reference='" + fieldReference + "']") /> 
24		<#local element = xPathSelector.selectSingleNode(rootElementContent) /> 
25		<#return element.getStringValue() /> 
26	<#recover > 
27	</#attempt>	 
28	<#return "" /> 
29</#function> 
30 
31<#function getJournalArticle resourcePrimKey> 
32	<#attempt> 
33		<#local journal = journalArticleLocalService.getLatestArticle(resourcePrimKey, 0) /> 
34		<#return journal />			 
35	<#recover > 
36	</#attempt>	 
37	<#return "" /> 
38</#function> 
39 
40<#function getJournalArticleByXmlElement xmlElement> 
41	<#attempt> 
42		<#local elementJson = xmlElement.getText()?eval /> 
43		<#local resourcePrimKey = elementJson.classPK?number /> 
44		<#local journal = getJournalArticle(resourcePrimKey) />                 
45		<#return journal /> 
46	<#recover > 
47	</#attempt>	 
48	<#return "" /> 
49</#function> 
50 
51<#function getJournalsByFieldReferenceRepetible fieldReference > 
52	<#local journals = [] /> 
53	<#local elementos = documentRoot.selectNodes("dynamic-element[@field-reference='" + fieldReference + "']")/> 
54	<#if elementos?has_content> 
55		<#list elementos as elemento> 
56			<#local nodeElement = elemento.selectSingleNode("dynamic-content") />                                            
57			<#if nodeElement?? && nodeElement.getText()?has_content>                             
58				<#assign journal = getJournalArticleByXmlElement(nodeElement) />     
59				<#if journal?has_content>                 
60					<#local journals = journals + [journal] />     
61				</#if>  
62			</#if> 
63		</#list> 
64	</#if> 
65	<#return journals /> 
66</#function> 
67 
68<#function getFriendlyUrlJournal journal>	 
69	<#return "/-/" + journal.getUrlTitle() />	 
70</#function> 
71 
72<#function obtenerCamposRepetidos documentRoot fieldReference > 
73	<#return documentRoot.selectNodes("dynamic-element[@field-reference='" + fieldReference + "']")/> 
74</#function> 
75 
76<#function removeUrlParams url> 
77	<#if url?contains("?") > 
78		<#return url?substring(0, url?index_of("?")) />		 
79	</#if> 
80	<#return  url/> 
81</#function> 
82 
83<#function getUrlDocumento documentJson> 
84	<#attempt> 
85        <#local url = documentJson.url /> 
86        <#if !url?has_content> 
87            <#local url = "/documents/" + documentJson.groupId + "/" + documentJson.uuid />       
88		<#else> 
89			<#if url?contains("/d/guest/")> 
90				<#local url = url?replace("/d/guest/", "/d/cis/") /> 
91			</#if> 
92        </#if> 
93        <#return removeUrlParams(url) /> 
94	<#recover > 
95	</#attempt>	 
96	<#return "" /> 
97</#function> 
98 
99<#if entries?has_content> 
100	<#assign cont = 0> 
101	<h4 class="mb-4">N&uacute;meros publicados</h4> 
102	<#list entries as curEntry> 
103 
104		<#assign renderer = curEntry.getAssetRenderer() /> 
105		<#assign journalArticle = renderer.getArticle() /> 
106		<#assign documentRoot = getJournalArticleRootElement(journalArticle) />		 
107		<#assign grupoDocumento = obtenerCamposRepetidos(documentRoot, "GrupoDocumentos") /> 
108	 
109 
110		<#assign cont++> 
111		<div class="accordion acordeon ul-pc ol-pc accordion-primary" id="acc-${cont}"> 
112			<div class="card"> 
113				<div class="card-header" id="heading${cont}"> 
114					<h4 class="mb-0"> 
115						<a aria-controls="coll${cont}" aria-expanded="false" data-toggle="collapse" href="#coll${cont}" role="button"> 
116							${curEntry.getTitle(locale)} 
117						</a> 
118					</h4> 
119				</div> 
120				<div id="coll${cont}" class="collapse" aria-labelledby="heading${cont}" data-parent="#acc-${cont}" role="region"> 
121					<div class="card-body"> 
122						<div class="pc-listas"> 
123							<div class="edit-icon"> 
124								<@getEditIcon /> 
125							</div> 
126							<ul> 
127								<#if grupoDocumento?has_content> 
128									<#list grupoDocumento as cur_grupoDocumento>		 
129										<#assign textoDelDocumento = getXmlTextElement(cur_grupoDocumento, "TituloDocumento") />  
130										<#assign documentoPDF = getXmlTextElement(cur_grupoDocumento, "Documento") />  
131										<#assign documentoPDFJson = documentoPDF?eval /> 
132										<#assign urlPDF = getUrlDocumento(documentoPDFJson) /> 
133										<#if documentoPDF?has_content> 
134											<li><a class="pdf" href="${urlPDF}" target="_blank" title="Ir al documento PDF ${textoDelDocumento}. Abre en ventana nueva"> 
135											${textoDelDocumento}</a></li> 
136										</#if> 
137									</#list>	 
138								</#if> 
139							</ul> 
140						</div> 
141					</div>	 
142				</div> 
143			</div> 
144		</div>	 
145	</#list>    	 
146</#if> 
147 
148 
149<#macro getEditIcon> 
150	<#if renderer.hasEditPermission(themeDisplay.getPermissionChecker())> 
151		<#assign editPortletURL = renderer.getURLEdit(renderRequest, renderResponse, windowStateFactory.getWindowState("NORMAL"), themeDisplay.getURLCurrent())!"" /> 
152 
153		<#if validator.isNotNull(editPortletURL)> 
154			<#assign title = languageUtil.format(locale, "edit-x", entryTitle, false) /> 
155 
156			<@liferay_ui["icon"] 
157				cssClass="icon-monospaced visible-interaction" 
158				icon="pencil" 
159				markupView="lexicon" 
160				message=title 
161				url=editPortletURL.toString() 
162			/> 
163		</#if> 
164	</#if> 
165</#macro>