AnsweredAssumed Answered

Trabajar con XML dentro de un nodo de Alfresco

Question asked by tgarcia on Apr 12, 2010
Buenas!!

Me enfrento a un problema en el que tengo contenidos estructurados en XML en el repositorio y necesito recuperarlos, modificar su XML (por ejemplo, cambiar una referencia a un nodo por su URL de descarga) y luego devolverlo a un Portal cliente.

He conseguido guardar y recuperar el contenido, pero no quiero trabajar con substrings para reemplazar o modificar el XML.  Existe alguna API para este fin?

Estoy usando webscripts para abordar estas tareas.



También he probado a hacer lo mismo más o menos, en una plantilla freemarker. Listo los recursos en una carpeta, y luego devuelve su XML pero modfiicando algunas etiquetas:

noticias es un Array de nodos.

template.ftl

<?xml version="1.0" encoding="UTF-8"?>
<noticias>
<#list noticias as nodoNoticia>
${nodoNoticia.xmlNodeModel.@@markup}
</#list>
</noticias>

Esto solo devuelve los contenidos del nodo (casi lo mismo que  ${nodoNoticia.content} ?¿)



Pero necesitaría algo más parecido a esto:


<?xml version="1.0" encoding="UTF-8"?>
<noticias>
<#list noticias as nodoNoticia>
<#assign noticia = nodoNoticia.xmlNodeModel />
<noticia>
<id><![CDATA[${noticia.id}]]></id>
<titulo><![CDATA[${noticia.titulo}]]></titulo>
<entradilla><![CDATA[${noticia.entradilla}]]></entradilla>
<autor><![CDATA[${noticia.autor}]]></autor>
<cuerpo><![CDATA[${noticia.cuerpo}]]></cuerpo>

<preview><![CDATA[<@createDownloadURL nodoNoticia.preview />]]></preview>
</noticia>
</#list>
</noticias>

También me parece un poco "pesado", tener que replicar el XML de un nodo cuando sólo quiero modificar parte de él.

Cualquier ayuda sería de agradecer :D,

Saludos!

Tomás García

Outcomes