Metacat-index does not handle <references>
I indexed a document from EVOS that uses a reference for a creator rather than the details of the person:
But in the index it shows up as "||" instead of following the reference back the the id where it was declared:
#1 Updated by ben leinfelder over 5 years ago
Here is a bit of the bean definition used by indexing to pick out the content from EML
<bean id="eml.origin" class="org.dataone.cn.indexer.parser.CommonRootSolrField" p:multivalue="true" p:root-ref="originRoot"> <constructor-arg name="name" value="origin" /> </bean> <bean id="originRoot" class="org.dataone.cn.indexer.parser.utility.RootElement" p:name="origin" p:xPath="//dataset/creator" p:template="[individualName]||[organizationName]"> <property name="leafs"><list><ref bean="organizationNameLeaf"/></list></property> <property name="subRoots"><list><ref bean="individualNameRoot" /></list></property> </bean>
#10 Updated by ben leinfelder over 5 years ago
Even with a SAX parser, the implementation could keep track of all elements with "id" attributes and anytime a "references" element is encountered, substitute with that node. The tricky part would be when we encounter a references element before the actual element that declares the id -- would have to track the references that are unfulfilled and fill them in when we actually get to the id elements.