¿Como utilizar un Parseador XML con Alfresco?

cancel
Showing results for 
Search instead for 
Did you mean: 
cesarista
Customer

Re: ¿Como utilizar un Parseador XML con Alfresco?

Hola:

En primer lugar necesitas crear un extractor que se define en el directorio de extensiones (custom-metadata-extractors-context.xml). Sigue este artículo y lo comentamos:

http://anipossible3.blogspot.com/2007/11/alfresco-xml-metadata-extraction.html

Luego con el api javascript puedes invocar el transformador.

Nota: Puede que alguno de los beans del artículo cambie dependiendo de la versión de alfresco que utilices.

Un saludo.

–C.
dreamcifra
Member II

Re: ¿Como utilizar un Parseador XML con Alfresco?

Hola buenos dias, me estado mirando el articulo y el wiki al que hacia referencia.

Aqui pongo el codigo, para ver si esto es lo correcto:

Mi codigo del tipo de contenido –> contenidoPrueba.xml
<?xml version="1.0" encoding="UTF-8"?>

<!– Definition of the Model Contenidos A la Carta –>
<model name="prueba:model" xmlns="http://www.alfresco.org/model/dictionary/1.0">
   
   <!– Optional meta-data about the model –>  
   <description>Modelo de Contenidos Prueba</description>
   <author>German</author>
      <version>1.0</version>   
   <!– Imports are required to allow references to definitions in other models –>
   <imports>
      <!– Import Alfresco Dictionary Definitions –>
      <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
      <!– Import Alfresco Content Domain Model Definitions –>
      <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
   </imports>
   <!– Introduction of new namespaces defined by this model –>
   <namespaces>
      <namespace uri="prueba.model" prefix="prueba"/>
   </namespaces>
   <types>
      <!– Definition of new Content Type: newsItem –>
      <type name="prueba:contenido1">
         <title>NewsXML</title>
         <parent>cm:content</parent>         
         <mandatory-aspects>
            <aspect>prueba:location</aspect>
            <aspect>prueba:titulo</aspect>
            <aspect>prueba:guia</aspect>
            <aspect>prueba:fecha</aspect>
            <aspect>prueba:resumen</aspect>
            <aspect>prueba:cuerpo</aspect>
         </mandatory-aspects>
      </type>   
   </types>
   <aspects>
      <!– rightsInfo: Expression of rights to be applied to content –>
      <aspect name="prueba:location">
         <title>Location</title>
         <properties>
            <property name="prueba:location">
               <type>d:text</type>
            </property>
         </properties>
      </aspect>
      <aspect name="prueba:titulo">
         <title>Titulo</title>
         <properties>
            <property name="prueba:titulo">
               <type>d:text</type>
            </property>
         </properties>
      </aspect>
      <aspect name="prueba:guia">
         <title>Guia</title>
         <properties>
            <property name="prueba:guia">
               <type>d:text</type>
            </property>
         </properties>
      </aspect>
      <aspect name="prueba:fecha">
         <title>Fecha</title>
         <properties>
            <property name="prueba:fecha">
               <type>d:text</type>
            </property>
         </properties>
      </aspect>
      <aspect name="prueba:resumen">
         <title>Resumen</title>
         <properties>
            <property name="prueba:resumen">
               <type>d:text</type>
            </property>
         </properties>
      </aspect>
      <aspect name="prueba:cuerpo">
         <title>Cuerpo</title>
         <properties>
            <property name="prueba:cuerpo">
               <type>d:text</type>
            </property>
         </properties>
      </aspect>
   </aspects>
</model>

Despues he modificado el custom-metadata-extractor-context.xml y el codigo que metido es:
<beans>

<bean id="extracter.CCSXMLExtractor" class="org.alfresco.repo.content.metadata.xml.XmlMetadataExtracter" parent="baseMetadataExtracter" >
<property name="selectors">
<list>
<ref bean="extracter.CCSXPathSelector" />
</list>
</property>
</bean>

<bean id="extracter.CCSXPathSelector" class="org.alfresco.repo.content.selector.XPathContentWorkerSelector" init-method="init">
<property name="workers">
<map>
<entry key="/nitf">
<ref bean="extracter.CCSXMLExtractorForNotice" />
</entry>
</map>
</property>
</bean>

<bean id="extracter.CCSXMLExtractorForNotice" class="org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter" parent="baseMetadataExtracter" init-method="init">
<property name="mappingProperties">
<props>
<prop key="namespace.prefix.ccs">custom.ccs.model</prop>
<prop key="location">prueba:location</prop>
<prop key="titulo">prueba:titulo</prop>
<prop key="guia">prueba:guia</prop>
<prop key="fecha">prueba:fecha</prop>
<prop key="resumen">prueba:resumen</prop>
<prop key="cuerpo">prueba:cuerpo</prop>
</props>
</property>
<property name="xpathMappingProperties">
<bean class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="location">/nitf/body/body.head/dateline/location/text()</prop>
<prop key="titulo">/nitf/head/title/text()</prop>
<prop key="guia">/nitf/body/body.head/hedline/hl2/text()</prop>
<prop key="fecha">/nitf/body/body.head/dateline/location/date/text()</prop>
<prop key="resumen">/nitf/body/body.head/abstract/text()</prop>
<prop key="cuerpo">/nitf/body/body.content/text()</prop>
</props>
</property>
</bean>
</property>
</bean>

Yo creo que la linea "<prop key="namespace.prefix.ccs">custom.ccs.model</prop>" la tendre que modificar, peo no se que tengo que poner ahi exactamente.

El documento a parsear en XML es un NewXML, el ejemplo con el que estoy haciendo las pruebas es este:
<?xml version="1.0" encoding="utf-8"?>
<nitf version="-//IPTC//DTD NITF 3.2//EN" change.date="October 10, 2003" change.time="19:30" baselang="es.ES">
  <head>
    <title>Zapatero inaugura hoy la nueva T-1, que entra en funcionamiento mañana</title>
    <meta name="prioridad" content="U" />
    <meta name="categoria" content="ECO" />
    <meta name="tabulacion" content="BT" />
    <meta name="tabuladores" content="NO" />
    <tobject tobject.type="News">
      <!–Economía, negocios y finanzas;Transporte;Transporte aéreo–>
      <tobject.subject tobject.subject.ipr="IPTC" tobject.subject.refnum="04015001" tobject.subject.type="Economía, negocios y finanzas" tobject.subject.matter="Transporte" tobject.subject.detail="Transporte aéreo" />
      <!–Economía, negocios y finanzas;Turismo y tiempo libre–>
      <tobject.subject tobject.subject.ipr="IPTC" tobject.subject.refnum="04014000" tobject.subject.type="Economía, negocios y finanzas" tobject.subject.matter="Turismo y tiempo libre" />
      <!–Política;Regiones/Autonomías–>
      <tobject.subject tobject.subject.ipr="IPTC" tobject.subject.refnum="11012000" tobject.subject.type="Política" tobject.subject.matter="Regiones/Autonomías" />
      <!–Política;Gobierno–>
      <tobject.subject tobject.subject.ipr="IPTC" tobject.subject.refnum="11006000" tobject.subject.type="Política" tobject.subject.matter="Gobierno" />
      <!–ECO:ECONOMIA;SECTORES-EMPRESAS;TRANSPORTES–>
      <tobject.subject tobject.subject.ipr="EFE" tobject.subject.refnum="F06003008" tobject.subject.type="ECO:ECONOMIA" tobject.subject.matter="SECTORES-EMPRESAS" tobject.subject.detail="TRANSPORTES" />
      <!–ECO:ECONOMIA;SECTORES-EMPRESAS;TURISMO–>
      <tobject.subject tobject.subject.ipr="EFE" tobject.subject.refnum="F06003009" tobject.subject.type="ECO:ECONOMIA" tobject.subject.matter="SECTORES-EMPRESAS" tobject.subject.detail="TURISMO" />
      <!–POL:POLITICA;REGIONES-AUTONOMIAS–>
      <tobject.subject tobject.subject.ipr="EFE" tobject.subject.refnum="F01003000" tobject.subject.type="POL:POLITICA" tobject.subject.matter="REGIONES-AUTONOMIAS" />
      <!–POL:POLITICA;GOBIERNO–>
      <tobject.subject tobject.subject.ipr="EFE" tobject.subject.refnum="F01001000" tobject.subject.type="POL:POLITICA" tobject.subject.matter="GOBIERNO" />
    </tobject>
    <docdata management-status="usable">
      <evloc city="Barcelona" />
      <doc-id id-string="13915629" />
      <urgency ed-urg="3" />
      <date.issue norm="20090616T054600+0000" />
      <key-list>
        <keyword key="AEROPUERTO BARCELONA" />
      </key-list>
    </docdata>
    <pubdata date.publication="20090616T054600+0000" edition.area="NAT" item-length="00424" unit-of-measure="word" id="NA2004" />
  </head>
  <body>
    <body.head>
      <hedline>
        <hl1>Zapatero inaugura hoy la nueva T-1, que entra en funcionamiento mañana</hl1>
        <hl2>AEROPUERTO BARCELONA</hl2>
      </hedline>
      <rights>
        <rights.owner>Agencia EFE</rights.owner>
      </rights>
      <byline>ao/pll/mlb</byline>
      <distributor>Agencia EFE</distributor>
      <dateline>
        <location>Barcelona</location>
        <story.date>20090616T054600+0000</story.date>
      </dateline>
      <abstract>
        <p>Barcelona, 16 jun (EFE).- El presidente del Gobierno, José Luis
Rodríguez Zapatero, inaugura hoy la nueva terminal del Aeropuerto de
Barcelona, la T-1, que entrará en funcionamiento mañana y supondrá
un importante impulso para El Prat, ya que permitirá operar en
solitario 30 millones de pasajeros al año.</p>
      </abstract>
    </body.head>
    <body.content>
      <p>Barcelona, 16 jun (EFE).- El presidente del Gobierno, José Luis
Rodríguez Zapatero, inaugura hoy la nueva terminal del Aeropuerto de
Barcelona, la T-1, que entrará en funcionamiento mañana y supondrá
un importante impulso para El Prat, ya que permitirá operar en
solitario 30 millones de pasajeros al año.</p>
      <p>Zapatero inaugurará la nueva terminal acompañado, entre otros,
por el ministro de Fomento, José Blanco, y el presidente de la
Generalitat, José Montilla, además de una amplia representación de
la sociedad catalana.</p>
      <p>ERC, socio del PSC e ICV en el gobierno catalán, anunció el
pasado domingo que no asistirá a la inauguración, ante la falta de
un acuerdo sobre el modelo de gestión del aeropuerto.</p>
      <p>El acto se celebrará a las 12.00 horas y concluirá con un
discurso del presidente del Gobierno y un recorrido por las nuevas
instalaciones.</p>
      <p>A las 06.00 horas de mañana, el vuelo 401 de Spanair con destino
Madrid pondrá en marcha la nueva terminal, que ha supuesto una
inversión de 1.285 millones de euros y cinco años y medio de obras.</p>
      <p>La T-1 operará mañana 240 vuelos, todos ellos de la Star
Alliance, la primera alianza aérea que se instalará en la terminal,
y transportará 30.000 pasajeros y unas 18.000 maletas.</p>
      <p>La nueva terminal se inaugura con 11 puntos de restauración, 36
de las 51 tiendas previstas, una oficina de La Caixa, 16 cajeros
automáticos, un centro de negocios y dos salas Vips.</p>
      <p>El traslado de las aerolíneas se hará de manera escalonada, ya
que desde mañana la utilizarán las aerolíneas de Star Alliance, con
Spanair a la cabeza, después del verano se trasladará la One World,
de la que forma parte Iberia, y la última alianza aérea en mudarse a
la nueva infraestructura, antes de fin de año, será Sky Team, en la
que está Air Europa.</p>
      <p>En total, desde la T-1 operarán unas cien aerolíneas y en ella se
realizarán unas 800 operaciones al día.</p>
      <p>La T-2, que agrupa las actuales terminales A, B y C, será
sometida a un importante proceso de renovación y acogerá a unas 50
aerolíneas que vuelan punto a punto.</p>
      <p>La nueva terminal permitirá que El Prat pueda tener 55 millones
de pasajeros al año, cifra que llegará a los 70 millones cuando se
ponga en marcha la terminal satélite, y podrá realizar 90
operaciones a la hora.</p>
      <p>La T-1 se abrirá sin metro ni servicio ferroviario de Cercanías,
aunque sí tendrá conexión con cuatro líneas nuevas de autobuses y la
extensión de otras once que finalizaban su servicio en la T-2. EFE</p>
    </body.content>
  </body>
</nitf>

Revisando el documendo del wiki: http://wiki.alfresco.com/wiki/Metadata_Extraction en la sección de Developing Your Own Metadata Extractor  poner que para crear nuestro propio extractor tenemos que tener dos archivos:

Source com.my.company.MyExtractor.java
Default mapping com.my.company.MyExtractor.properties

Yo ya tengo mi paseador (con sax) codificado en Java y me parsear correctamente los archivos XML. ¿ Algún sitio para ver como tiene que estar modificado MyExtractor.java?

Gracias y un saludo!
cesarista
Customer

Re: ¿Como utilizar un Parseador XML con Alfresco?

Hola:

Yo creo que la linea "<prop key="namespace.prefix.ccs">custom.ccs.model</prop>" la tendre que modificar, peo no se que tengo que poner ahi exactamente.

Efectivamente tienes que poner el namespace de tu modelo de contenido (contenidoPrueba.xml), en este caso prueba.model

Para comprobar que funciona el extractor, crea una regla que extrae metadatos comunes sobre contenido entrante con mimetype XML en un determinado espacio y sube contenido newXML trazando en la consola de logs lo que hace o no hace el extractor.

Por cierto, tienes que asegurarte en la config de web-client-config-custom.xml que los aspectos comentados en ese tipo de contenido se editan/ven cuando se crea/edita/ve contenido.

Un saludo.

–C.
dreamcifra
Member II

Re: ¿Como utilizar un Parseador XML con Alfresco?

Para comprobar que funciona el extractor, crea una regla que extrae metadatos comunes sobre contenido entrante con mimetype XML en un determinado espacio y sube contenido newXML trazando en la consola de logs lo que hace o no hace el extractor.

Es decir me tengo que definir un MiEstractor.java que extendienda de AbstractMappingMetadataExtracter, y definirme ahi los metadatos a extraer. Como codigo de ejemplo para guiarme me estoy guiando por este codigo: http://www.juntadeandalucia.es/xwiki/bin/view/MADEJA/AlfExtraccionMetadatos, ¿Voy bien encaminado verdad?

Por cierto, tienes que asegurarte en la config de web-client-config-custom.xml que los aspectos comentados en ese tipo de contenido se editan/ven cuando se crea/edita/ve contenido.

En cuanto a esto, no te preocupes que ya esta bien configurado, porque tengo definida una regla en la que todo documento xml que me suba me lo transforme al tipo newXML, y veo los aspecto (Titulo, Resumen, Localización, etc..) en infoDoc, eso si vacías porque no he extraído nada, solo le añado esos nuevos aspectos y ya esta.

Muchas gracias de nuevo!!
cesarista
Customer

Re: ¿Como utilizar un Parseador XML con Alfresco?

Hola:

Para comprobar que funciona el extractor, crea una regla que extrae metadatos comunes sobre contenido entrante con mimetype XML en un determinado espacio y sube contenido newXML trazando en la consola de logs lo que hace o no hace el extractor.

Es decir me tengo que definir un MiEstractor.java que extendienda de AbstractMappingMetadataExtracter, y definirme ahi los metadatos a extraer. Como codigo de ejemplo para guiarme me estoy guiando por este codigo: http://www.juntadeandalucia.es/xwiki/bin/view/MADEJA/AlfExtraccionMetadatos, ¿Voy bien encaminado verdad?

Pues en principio no, lo haces con el mapeo XPATH directamente, y al subir el contenido lo hace automaticamente la regla y la accion de extraer metadatos. No necesitas codigo java alguno.

Si la extracción de todos los datos no pudieras hacerla de una manera sencilla con sentencias de XPATH como las que has hecho arriba entonces si necesitarías algo como lo que enlazas.

Un saludo.

–C.
dreamcifra
Member II

Re: ¿Como utilizar un Parseador XML con Alfresco?

Ok, ya esta la idea entonces pillada. Ahora tengo un pequeño problema, y es que he metido el archivo custom-metadata-extractors-context.xml en el directorio en donde estaba situado custom-metadata-extractors-context.xml.sample pero me da error. El error en cuestion es:

11:50:29,393  ERROR [web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXMLExtractor' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Cannot resolve reference to bean 'extracter.CCSXPathSelector' while setting bean property 'selectors' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXPathSelector' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Cannot resolve reference to bean 'extracter.CCSXMLExtractorForNotice' while setting bean property 'workers' with key [TypedStringValue: value [/nitf], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXMLExtractorForNotice' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'mappingProperties' threw exception; nested exception is org.alfresco.error.AlfrescoRuntimeException: 08010000 No prefix mapping for extracter property mapping:
   Extracter: org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter@1294813
   Mapping: location=prueba:location
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXPathSelector' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Cannot resolve reference to bean 'extracter.CCSXMLExtractorForNotice' while setting bean property 'workers' with key [TypedStringValue: value [/nitf], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXMLExtractorForNotice' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'mappingProperties' threw exception; nested exception is org.alfresco.error.AlfrescoRuntimeException: 08010000 No prefix mapping for extracter property mapping:
   Extracter: org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter@1294813
   Mapping: location=prueba:location
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXMLExtractorForNotice' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'mappingProperties' threw exception; nested exception is org.alfresco.error.AlfrescoRuntimeException: 08010000 No prefix mapping for extracter property mapping:
   Extracter: org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter@1294813
   Mapping: location=prueba:location
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:
PropertyAccessException 1:
org.springframework.beans.MethodInvocationException: Property 'mappingProperties' threw exception; nested exception is org.alfresco.error.AlfrescoRuntimeException: 08010000 No prefix mapping for extracter property mapping:
   Extracter: org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter@1294813
   Mapping: location=prueba:location
Caused by: org.alfresco.error.AlfrescoRuntimeException: 08010000 No prefix mapping for extracter property mapping:
   Extracter: org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter@1294813


He tenido que modiciar el codigo del custom-metadata-extractors-context.xml, porque le faltaba un </beans> es decir el codigo ahora es:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
  <bean id="extracter.CCSXMLExtractor" class="org.alfresco.repo.content.metadata.xml.XmlMetadataExtracter" parent="baseMetadataExtracter" >
    <property name="selectors">
      <list>
   <ref bean="extracter.CCSXPathSelector" />
      </list>
    </property>
  </bean>

  <bean id="extracter.CCSXPathSelector" class="org.alfresco.repo.content.selector.XPathContentWorkerSelector" init-method="init">
    <property name="workers">
      <map>
   <entry key="/nitf">
     <ref bean="extracter.CCSXMLExtractorForNotice" />
   </entry>
      </map>
    </property>
  </bean>

  <bean id="extracter.CCSXMLExtractorForNotice" class="org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter" parent="baseMetadataExtracter" init-method="init">
    <property name="mappingProperties">
      <props>
   <prop key="namespace.prefix.ccs">prueba.model</prop>
   <prop key="location">prueba:location</prop>
   <prop key="titulo">prueba:titulo</prop>
   <prop key="guia">prueba:guia</prop>
   <prop key="fecha">prueba:fecha</prop>
   <prop key="resumen">prueba:resumen</prop>
   <prop key="cuerpo">prueba:cuerpo</prop>
      </props>
    </property>
   
    <property name="xpathMappingProperties">
      <bean class="org.springframework.beans.factory.config.PropertiesFactoryBean">
   <property name="properties">
     <props>
       <prop key="location">/nitf/body/body.head/dateline/location/text()</prop>
       <prop key="titulo">/nitf/head/title/text()</prop>
       <prop key="guia">/nitf/body/body.head/hedline/hl2/text()</prop>
       <prop key="fecha">/nitf/body/body.head/dateline/location/date/text()</prop>
       <prop key="resumen">/nitf/body/body.head/abstract/text()</prop>
       <prop key="cuerpo">/nitf/body/body.content/text()</prop>
     </props>
   </property>
      </bean>
    </property>
  </bean>
</beans>

Y ya por ultimo para ir cerrando otro concepto, es ¿Desde donde tengo que crear la regla, para que cuando yo meta el archivo XML en el directorio, se ejecute el extractor de metadatos?

Muchas gracias y un saludo!!
cesarista
Customer

Re: ¿Como utilizar un Parseador XML con Alfresco?

Y ya por ultimo para ir cerrando otro concepto, es ¿Desde donde tengo que crear la regla, para que cuando yo meta el archivo XML en el directorio, se ejecute el extractor de metadatos?

Muchas gracias y un saludo!!

Crea una regla en un espacio cualquiera, de modo que, como condición, cuando se suba contenido (por ejemplo con mimetype xml o de un tipo de contenido concreto), se extraigan metadatos automaticamente (como acción). No pongas la regla en segundo plano por que sino no veras como completa los campos relativos al mapping del parseador.

Un saludo.

–C.
dreamcifra
Member II

Re: ¿Como utilizar un Parseador XML con Alfresco?

Ok gracia de nuevo.

Lo unico que me queda por resolver es el error que me meda cuando meto el custom-metadata-extractors-context.xml, que la verdad no se a que puede ser debido, porque yo creo que las sentencias XPATH estan bien definidas, no lo se.

He comentado todas las propiedades excepto location y titulo, pero sigue dando el mismo error:
09:52:29,586  ERROR [web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXMLExtractor' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Cannot resolve reference to bean 'extracter.CCSXPathSelector' while setting bean property 'selectors' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXPathSelector' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Cannot resolve reference to bean 'extracter.CCSXMLExtractorForNotice' while setting bean property 'workers' with key [TypedStringValue: value [/nitf], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXMLExtractorForNotice' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'mappingProperties' threw exception; nested exception is org.alfresco.error.AlfrescoRuntimeException: 08020000 No prefix mapping for extracter property mapping:
   Extracter: org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter@473fa1
   Mapping: xtitulo=prueba:titulo
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXPathSelector' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Cannot resolve reference to bean 'extracter.CCSXMLExtractorForNotice' while setting bean property 'workers' with key [TypedStringValue: value [/nitf], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXMLExtractorForNotice' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'mappingProperties' threw exception; nested exception is org.alfresco.error.AlfrescoRuntimeException: 08020000 No prefix mapping for extracter property mapping:
   Extracter: org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter@473fa1
   Mapping: xtitulo=prueba:titulo
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extracter.CCSXMLExtractorForNotice' defined in file [/home/german/calc/tomcat/shared/classes/alfresco/extension/custom-metadata-extractors-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'mappingProperties' threw exception; nested exception is org.alfresco.error.AlfrescoRuntimeException: 08020000 No prefix mapping for extracter property mapping:
   Extracter: org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter@473fa1
   Mapping: xtitulo=prueba:titulo
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:
PropertyAccessException 1:
org.springframework.beans.MethodInvocationException: Property 'mappingProperties' threw exception; nested exception is org.alfresco.error.AlfrescoRuntimeException: 08020000 No prefix mapping for extracter property mapping:
   Extracter: org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter@473fa1
   Mapping: xtitulo=prueba:titulo
Caused by: org.alfresco.error.AlfrescoRuntimeException: 08020000 No prefix mapping for extracter property mapping:
   Extracter: org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter@473fa1
   Mapping: xtitulo=prueba:titulo
   at org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter.readMappingProperties(AbstractMappingMetadataExtracter.java:460)
   at org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter.setMappingProperties(AbstractMappingMetadataExtracter.java:334)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:821)
   at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
   at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
   at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1127)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:320)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:140)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:132)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
   at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
   at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:69)
   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
   at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
   at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
   at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
   at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
   at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
   at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
   at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
   at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
   at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
   at org.apache.catalina.core.StandardService.start(StandardService.java:516)
   at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
02-sep-2010 9:52:29 org.apache.catalina.core.StandardContext start
GRAVE: Error listenerStart
02-sep-2010 9:52:29 org.apache.catalina.core.StandardContext start
GRAVE: Fall� en arranque del Contexto [/alfresco] debido a errores previos
log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.
02-sep-2010 9:52:30 org.apache.catalina.startup.HostConfig deployWAR
INFO: Despliegue del archivo share.war de la aplicaci�n web
09:52:34,451  INFO  [web.site.FrameworkHelper] Successfully Initialized Web Framework
02-sep-2010 9:52:34 org.apache.catalina.startup.HostConfig deployWAR
INFO: Despliegue del archivo mobile.war de la aplicaci�n web
09:52:35,102  INFO  [alfresco.config.JBossEnabledWebApplicationContext] Refreshing org.alfresco.config.JBossEnabledWebApplicationContext@43d287: display name [Root WebApplicationContext]; startup date [Thu Sep 02 09:52:35 CEST 2010]; root of context hierarchy
09:52:35,467  INFO  [alfresco.config.JBossEnabledWebApplicationContext] Bean factory for application context [org.alfresco.config.JBossEnabledWebApplicationContext@43d287]: org.springframework.beans.factory.support.DefaultListableBeanFactory@19cea9e
09:52:36,718  INFO  [web.scripts.DeclarativeRegistry] Registered 24 Web Scripts (+0 failed), 26 URLs
09:52:36,735  INFO  [web.scripts.AbstractRuntimeContainer] Initialised Presentation Web Script Container (in 226.63887ms)
09:52:36,888  INFO  [web.scripts.DeclarativeRegistry] Registered 42 Web Scripts (+0 failed), 44 URLs
09:52:36,903  INFO  [web.scripts.AbstractRuntimeContainer] Initialised WebFramework Web Script Container (in 164.7802ms)
09:52:36,965  INFO  [web.site.FrameworkHelper] Successfully Initialized Web Framework
02-sep-2010 9:52:37 org.apache.coyote.http11.Http11Protocol start
GRAVE: Error arrancando punto final (endpoint)
java.net.BindException: Address already in use<null>:8080
   at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:502)
   at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:519)
   at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:203)
   at org.apache.catalina.connector.Connector.start(Connector.java:1131)
   at org.apache.catalina.core.StandardService.start(StandardService.java:531)
   at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
02-sep-2010 9:52:37 org.apache.catalina.startup.Catalina start
GRAVE: Catalina.start:
LifecycleException:  service.getName(): "Catalina";  Fall� el arranque del manejador de protocolo: java.net.BindException: Address already in use<null>:8080
   at org.apache.catalina.connector.Connector.start(Connector.java:1138)
   at org.apache.catalina.core.StandardService.start(StandardService.java:531)
   at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
02-sep-2010 9:52:37 org.apache.catalina.startup.Catalina start
INFO: Server startup in 35215 ms
02-sep-2010 9:52:37 org.apache.catalina.core.StandardServer await
GRAVE: StandardServer.await: create[8005]:
java.net.BindException: Address already in use
   at java.net.PlainSocketImpl.socketBind(Native Method)
   at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
   at java.net.ServerSocket.bind(ServerSocket.java:319)
   at java.net.ServerSocket.<init>(ServerSocket.java:185)
   at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
   at org.apache.catalina.startup.Catalina.await(Catalina.java:642)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:602)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
02-sep-2010 9:52:37 org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
02-sep-2010 9:52:38 org.apache.catalina.core.StandardService stop
INFO: Parando servicio Catalina
09:52:38,926  INFO  [alfresco.config.JBossEnabledWebApplicationContext] Closing org.alfresco.config.JBossEnabledWebApplicationContext@43d287: display name [Root WebApplicationContext]; startup date [Thu Sep 02 09:52:35 CEST 2010]; root of context hierarchy
02-sep-2010 9:52:39 org.apache.catalina.connector.MapperListener destroy
ADVERTENCIA: Error unregistering MBeanServerDelegate
java.lang.NullPointerException
   at org.apache.catalina.connector.MapperListener.destroy(MapperListener.java:165)
   at org.apache.catalina.connector.Connector.stop(Connector.java:1179)
   at org.apache.catalina.core.StandardService.stop(StandardService.java:593)
   at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
   at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
   at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:671)
02-sep-2010 9:52:39 org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080

Solucionado!!!

El problema estaba en este codigo:
<bean id="extracter.CCSXMLExtractorForNotice" class="org.alfresco.repo.content.metadata.xml.XPathMetadataExtracter" parent="baseMetadataExtracter" init-method="init">
    <property name="mappingProperties">
      <props>
   <prop key="namespace.prefix.ccs">prueba.model</prop>
   <prop key="location">prueba:location</prop>
   <prop key="titulo">prueba:titulo</prop>
   <prop key="guia">prueba:guia</prop>
   <prop key="fecha">prueba:fecha</prop>
   <prop key="resumen">prueba:resumen</prop>
   <prop key="cuerpo">prueba:cuerpo</prop>
      </props>
    </property>

Estaba poniendo mal el espacio de nombres, diciendole que era ccs, cuando en verdad es prueba:
<prop key="namespace.prefix.prueba">prueba.model</prop>

Voy ir probando todos los aspectos haber si están bien puestas las sentencias XPATH.

Cuando lo tenga todo listo, hago una publicación con todo bien escribo por si a alguien le puede servir de ayuda!!