Index: docs/dev/eml200_solr_index_config.xml
===================================================================
--- docs/dev/eml200_solr_index_config.xml	(nonexistent)
+++ docs/dev/eml200_solr_index_config.xml	(revision 7530)
@@ -0,0 +1,186 @@
+<beans>
+
+ <subprocessor id="eml200Subprocessor"
+  class="org.dataone.cn.indexer.parser.ScienceMetadataDocumentSubprocessor">
+  <property name="matchDocument"
+   value="/d100:systemMetadata/formatId[text() = 'eml://ecoinformatics.org/eml-2.0.0']"></property>
+  <property name="fieldList">
+   <list>
+    <bean id="eml.abstract" class="org.dataone.cn.indexer.parser.MergeSolrField">
+      <constructor-arg name="name" value="abstract" />
+      <constructor-arg name="xpath"
+        value="//dataset/abstract/descendant::text()" />
+      <constructor-arg name="delimiter" value=" " />
+      <property name="multivalue" value="false" />
+      <property name="dedupe" value="false" />
+    </bean>
+
+    <bean id="eml.keywords" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="keywords" />
+        <constructor-arg name="xpath"
+            value="//dataset/keywordSet/keyword/text()" />
+        <property name="multivalue" value="true" />
+        <property name="dedupe" value="true" />
+    </bean>
+
+    <bean id="eml.southBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="southBoundCoord" />
+        <constructor-arg name="xpath"
+            value="//dataset/coverage/geographicCoverage/boundingCoordinates/southBoundingCoordinate/text()" />
+        <property name="multivalue" value="false" />
+        <property name="converter" ref="solrLatitudeConverter" />
+    </bean>
+
+    <bean id="eml.northBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="northBoundCoord" />
+        <constructor-arg name="xpath"
+            value="//dataset/coverage/geographicCoverage/boundingCoordinates/northBoundingCoordinate/text()" />
+        <property name="multivalue" value="false" />
+        <property name="converter" ref="solrLatitudeConverter" />
+    </bean>
+
+    <bean id="eml.westBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="westBoundCoord" />
+        <constructor-arg name="xpath"
+            value="//dataset/coverage/geographicCoverage/boundingCoordinates/westBoundingCoordinate/text()" />
+        <property name="multivalue" value="false" />
+        <property name="converter" ref="solrLongitudeConverter" />
+    </bean>
+
+    <bean id="eml.eastBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="eastBoundCoord" />
+        <constructor-arg name="xpath"
+            value="//dataset/coverage/geographicCoverage/boundingCoordinates/eastBoundingCoordinate/text()" />
+        <property name="multivalue" value="false" />
+        <property name="converter" ref="solrLongitudeConverter" />
+    </bean>
+
+    <bean id="eml.beginDate" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="beginDate" />
+        <constructor-arg name="xpath"
+            value="//dataset/coverage/temporalCoverage/rangeOfDates/beginDate/calendarDate/text()" />
+        <property name="multivalue" value="false" />
+        <property name="converter" ref="dateConverter" />
+    </bean>
+
+    <bean id="eml.endDate" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="endDate" />
+        <constructor-arg name="xpath"
+            value="//dataset/coverage/temporalCoverage/rangeOfDates/endDate/calendarDate/text()" />
+        <property name="multivalue" value="false" />
+        <property name="converter" ref="dateConverter" />
+    </bean>
+    
+    <bean id="eml.pubDate" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="pubDate" />
+        <constructor-arg name="xpath" value="//dataset/pubDate/text()" />
+        <property name="multivalue" value="false" />
+        <property name="converter" ref="dateConverter" />
+    </bean>
+
+    <bean id="eml.title" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="title" />
+        <constructor-arg name="xpath" value="//dataset/title/text()" />
+        <property name="multivalue" value="false" />
+    </bean>
+    
+    <bean id="eml.project" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="project" />
+        <constructor-arg name="xpath" value="//dataset/project/title/text()" />
+        <property name="multivalue" value="false" />
+    </bean> 
+
+    <bean id="eml.author" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
+            p:multivalue="false"
+            p:root-ref="authorNameRoot">
+            <constructor-arg name="name" value="author" />
+    </bean>
+    
+    <bean id="authorNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
+        p:name="author"
+        p:xPath="//dataset/creator/individualName"
+        p:template="[givenName] [surName]">
+        <property name="leafs">
+            <list>
+                <ref bean="givenNameLeaf"/>
+                <ref bean="surNameLeaf"/>
+            </list>
+        </property>
+    </bean>
+    
+    <bean id="eml.author_lname" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="authorLastName" />
+        <constructor-arg name="xpath"
+            value="//dataset/creator/individualName/surName/text()" />
+        <property name="multivalue" value="true" />
+    </bean>
+    
+    <bean id="eml.investigator" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="investigator" />
+        <constructor-arg name="xpath"
+            value="//dataset/creator/individualName/surName/text()" />
+        <property name="multivalue" value="true" />
+    </bean>
+    
+    <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>
+        
+    <bean id="organizationNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
+        p:name="organizationName"
+        p:xPath="organizationName/text()" />
+        
+    <bean id="individualNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
+        p:name="individualName"
+        p:xPath="individualName"
+        p:template="[givenName] [surName]">
+        <property name="leafs">
+            <list>
+                <ref bean="givenNameLeaf"/>
+                <ref bean="surNameLeaf"/>
+            </list>
+        </property>
+    </bean>
+    
+    <bean id="givenNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
+        p:name="givenName"
+        p:xPath="givenName/text()" />
+        
+    <bean id="surNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
+        p:name="surName"
+        p:xPath="surName/text()"/>
+    
+    <bean id="eml.contactOrganization" class="org.dataone.cn.indexer.parser.SolrField">
+        <constructor-arg name="name" value="contactOrganization" />
+        <constructor-arg name="xpath"
+          value="//dataset/creator/organizationName/text()" />
+        <property name="multivalue" value="true" />
+        <property name="dedupe" value="true"/>
+    </bean>
+    
+    <bean id="eml.fileID" class="org.dataone.cn.indexer.parser.ResolveSolrField">
+        <constructor-arg name="name" value="fileID" />
+    </bean>
+    
+    <bean id="eml.fullText" class="org.dataone.cn.indexer.parser.FullTextSolrField">
+        <constructor-arg name="name" value="text" />
+        <constructor-arg name="xpath"
+            value="//dataset/*[not(self::dataTable)]//text()" />
+        <property name="multivalue" value="false" />
+        <property name="combineNodes" value="true"/>
+    </bean>
+    
+   </list>
+  </property>
+ </subprocessor>
+</beans>
