<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Query XML content over CMIS in Nuxeo Forum</title>
    <link>https://connect.hyland.com/t5/nuxeo-forum/query-xml-content-over-cmis/m-p/317816#M4817</link>
    <description>&lt;P&gt;You can also write practically everything in Nuxeo Studio with a few clicks, only the XPath-specific extraction logic will need be written in Groovy.&lt;/P&gt;</description>
    <pubDate>Wed, 11 Apr 2012 16:19:54 GMT</pubDate>
    <dc:creator>Florent_Guillau</dc:creator>
    <dc:date>2012-04-11T16:19:54Z</dc:date>
    <item>
      <title>Query XML content over CMIS</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/query-xml-content-over-cmis/m-p/317814#M4815</link>
      <description>&lt;P&gt;I am evaluating Nuxeo as a CMIS compliant repository for a large and important project in the Netherlands. One of our  project goals is to have a repository with medical content. We have selected DITA (=an xml standard) as our basis for structuring the content, and we are tagging these docs with semantically linked keywords from a domain specific ontology. This  is all done inside the XML content via a custom editor, so independent of the repository, which is vital for our architecture.
The editor maintains the repository over CMIS. One of the requirements there is to be able to list all documents tagged with a certain ontology keyword.
So in a nutshell, when I have repository document with a DITA xml file like this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt;&amp;lt;?xml version="1.0"?&amp;gt;
&amp;lt;topic xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://dita.oasis-open.org/architecture/2005/" id="dita_topic" xml:lang="en-us" xsi:noNamespaceSchemaLocation="urn:oasis:names:tc:dita:xsd:topic.xsd" xml:base="http://localhost:3000/documents/new_topic.xml"&amp;gt;
   &amp;lt;title&amp;gt;My Title&amp;lt;/title&amp;gt;
   &amp;lt;shortdesc&amp;gt;My description&amp;lt;/shortdesc&amp;gt;
   &amp;lt;prolog&amp;gt;
      &amp;lt;metadata&amp;gt;
         &amp;lt;keywords&amp;gt;
            &amp;lt;keyword rel="http://dbpedia.org/resource/Paris"&amp;gt;
               Paris
            &amp;lt;/keyword&amp;gt;
            &amp;lt;keyword rel="http://dbpedia.org/resource/Rome"&amp;gt;
               Rome
            &amp;lt;/keyword&amp;gt;
         &amp;lt;/keywords&amp;gt;
      &amp;lt;/metadata&amp;gt;
   &amp;lt;/prolog&amp;gt;
   &amp;lt;body&amp;gt;
     ...
   &amp;lt;/body&amp;gt;
&amp;lt;/topic&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I would like to do this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt;curl -u un:pw "http://localhost:8080/nuxeo/atom/cmis/default/query?q=SELECT+cmis:objectId,+dc:title+
FROM+cmis:folder+WHERE
+my:keyworduri+=+'http://dbpedia.org/resource/Paris'&amp;amp;searchAllVersions=true"
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;and find my document.&lt;/P&gt;
&lt;P&gt;My best guess is I need to extract the xml fields I want to query when creating/updating documents and set them as custom metadata. I thought this was a fairly common use case, but the information I have been able to find on metadata extraction is either outdated or pretty scarce.
So can this be done in a fairly straightforward way (I am not a Java programmer) with Nuxeo? If so, how? Any other ways of satisfying my requirements?&lt;/P&gt;
&lt;P&gt;TIA.&lt;/P&gt;</description>
      <pubDate>Mon, 02 Apr 2012 15:00:13 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/query-xml-content-over-cmis/m-p/317814#M4815</guid>
      <dc:creator>michel_b</dc:creator>
      <dc:date>2012-04-02T15:00:13Z</dc:date>
    </item>
    <item>
      <title>Re: Query XML content over CMIS</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/query-xml-content-over-cmis/m-p/317815#M4816</link>
      <description>&lt;P&gt;This is fairly straightforward to do, the idea is to write a Java &lt;CODE&gt;EventListener&lt;/CODE&gt; that reacts on the &lt;CODE&gt;documentCreated&lt;/CODE&gt; and &lt;CODE&gt;documentModified&lt;/CODE&gt; events, does the metadata extraction according to your logic (using some XPath processor for instance), and stores it in the resulting document as Nuxeo metadata so that it can be queried easily.&lt;/P&gt;
&lt;P&gt;That's just a one- or two- page method and a few supporting XML files to register the listener as a new plugin.&lt;/P&gt;</description>
      <pubDate>Wed, 11 Apr 2012 16:17:25 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/query-xml-content-over-cmis/m-p/317815#M4816</guid>
      <dc:creator>Florent_Guillau</dc:creator>
      <dc:date>2012-04-11T16:17:25Z</dc:date>
    </item>
    <item>
      <title>Re: Query XML content over CMIS</title>
      <link>https://connect.hyland.com/t5/nuxeo-forum/query-xml-content-over-cmis/m-p/317816#M4817</link>
      <description>&lt;P&gt;You can also write practically everything in Nuxeo Studio with a few clicks, only the XPath-specific extraction logic will need be written in Groovy.&lt;/P&gt;</description>
      <pubDate>Wed, 11 Apr 2012 16:19:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/nuxeo-forum/query-xml-content-over-cmis/m-p/317816#M4817</guid>
      <dc:creator>Florent_Guillau</dc:creator>
      <dc:date>2012-04-11T16:19:54Z</dc:date>
    </item>
  </channel>
</rss>

