<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
	
	<bean id="datacite.abstract" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="abstract" />
		<constructor-arg name="xpath" 
			value="(/datacite:resource/datacite:descriptions/datacite:description[@descriptionType='Abstract'][1]/text())[1]" />
		<property name="multivalue" value="false" />
	  	<property name="dedupe" value="false" />
	</bean>
	
	<bean id="datacite.author" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="author" />
		<constructor-arg name="xpath"
		  value="(/datacite:resource/datacite:creators/datacite:creator[1]/datacite:creatorName[1]/text())[1]" />
	</bean>

	<bean id="datacite.authorSurName" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="authorSurName" />
		<constructor-arg name="xpath"
			value="(/datacite:resource/datacite:creators/datacite:creator[1]/datacite:creatorName[1]/text())[1]" />
		<property name="substringBefore" value="true" />
		<property name="splitOnString" value="," />
	</bean>
	
	<bean id="datacite.authorSurNameSort" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="authorSurNameSort" />
		<constructor-arg name="xpath"
			value="(/datacite:resource/datacite:creators/datacite:creator[1]/datacite:creatorName[1]/text())[1]" />
		<property name="substringBefore" value="true" />
		<property name="splitOnString" value="," />
	</bean>	
	
	<bean id="datacite.authorGivenName" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="authorGivenName" />
		<constructor-arg name="xpath"
			value="(/datacite:resource/datacite:creators/datacite:creator[1]/datacite:creatorName[1]/text())[1]" />
		<property name="substringAfter" value="true" />
		<property name="splitOnString" value="," />
	</bean>
	
	<bean id="datacite.authorGivenNameSort" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="authorGivenNameSort" />
		<constructor-arg name="xpath"
			value="(/datacite:resource/datacite:creators/datacite:creator[1]/datacite:creatorName[1]/text())[1]" />
		<property name="substringAfter" value="true" />
		<property name="splitOnString" value="," />
	</bean>	
	
	<bean id="datacite.author_lname" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="authorLastName" />
		<constructor-arg name="xpath"
			value="(/datacite:resource/datacite:creators/datacite:creator[1]/datacite:creatorName[1]/text())[1]" />
		<property name="substringBefore" value="true" />
		<property name="splitOnString" value="," />
	</bean>
	
	<bean id="datacite.title" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="title" />
		<constructor-arg name="xpath"
			value="(/datacite:resource/datacite:titles/datacite:title[1]/text())[1]" />
	</bean>

	<bean id="datacite.pubDate" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="pubDate" />
		<constructor-arg name="xpath"
			value="(/datacite:resource/datacite:publicationYear[1]/text())[1]" />
		<property name="converter" ref="dateConverter" />
	</bean>
	
	<bean id="datacite.keywords" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="keywords" />
		<constructor-arg name="xpath"
			value="/datacite:resource/datacite:subjects/datacite:subject/text()" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true" />
	</bean>

	<bean id="datacite.beginDate" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="beginDate" />
		<constructor-arg name="xpath"
			value="(/datacite:resource/datacite:dates/datacite:date[@dateType='Collected'][1]/text())[1]" />
		<property name="substringBefore" value="true" />
		<property name="splitOnString" value="/" />
		<property name="converter" ref="dateConverter" />
	</bean>	
	
	<bean id="datacite.endDate" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="endDate" />
		<constructor-arg name="xpath"
			value="(/datacite:resource/datacite:dates/datacite:date[@dateType='Collected'][1]/text())[1]" />
		<property name="substringAfter" value="true" />
		<property name="splitOnString" value="/" />
		<property name="converter" ref="dateConverter" />
	</bean>

	<bean id="datacite.origin" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="origin" />
		<constructor-arg name="xpath" 
			value="/datacite:resource/datacite:creators/datacite:creator/datacite:creatorName/text()" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true" />
	</bean>
	
	<bean id="datacite.investigator" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="investigator" />
		<constructor-arg name="xpath" 
			value="/datacite:resource/datacite:creators/datacite:creator/datacite:creatorName/text() | /datacite:resource/datacite:contributors/datacite:contributor[@contributorType='DataCollector']/datacite:contributorName/text()" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true" />
	</bean>
	
	<bean id="datacite.contactOrganization" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="contactOrganization" />
		<constructor-arg name="xpath"
			value="/datacite:resource/datacite:contributors/datacite:contributor[@contributorType='HostingInstitution']/datacite:contributorName/text()" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true"/>
	</bean>
	
	<bean id="datacite.site" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="site" />
		<constructor-arg name="xpath"
			value="/datacite:resource/datacite:geoLocations/datacite:geoLocation/datacite:geoLocationPlace/text()" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true"/>
	</bean>
	
	<bean id="datacite.boxSpatialBoundCoordinates" class="org.dataone.cn.indexer.parser.DataCiteSpatialBoxBoundingCoordinatesSolrField">
		<property name="pointXPath" value="(/datacite:resource/datacite:geoLocations/datacite:geoLocation/datacite:geoLocationPoint[1]/text())[1]" />
		<property name="boxXPath" value="(/datacite:resource/datacite:geoLocations/datacite:geoLocation/datacite:geoLocationBox[1]/text())[1]" />
	</bean>

	<bean id="datacite.boxSpatialGeohash" class="org.dataone.cn.indexer.parser.DataCiteSpatialBoxGeohashSolrField">
		<property name="pointXPath" value="(/datacite:resource/datacite:geoLocations/datacite:geoLocation/datacite:geoLocationPoint[1]/text())[1]" />
		<property name="boxXPath" value="(/datacite:resource/datacite:geoLocations/datacite:geoLocation/datacite:geoLocationBox[1]/text())[1]" />
	</bean>

	<bean id="datacite.fileID" class="org.dataone.cn.indexer.parser.ResolveSolrField">
		<constructor-arg name="name" value="fileID" />
	</bean>
	
	<bean id="datacite.fullText" class="org.dataone.cn.indexer.parser.FullTextSolrField">
		<constructor-arg name="name" value="text" />
		<constructor-arg name="xpath" value="//*/text()" />
		<property name="combineNodes" value="true"/>
	</bean>		

	<bean id="datacite.licenseName" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="licenseName" />
		<constructor-arg name="xpath"
			value="/datacite:resource/datacite:rightsList/datacite:rights/text()" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true" />
	</bean>

	<bean id="datacite.licenseUrl" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="licenseUrl" />
		<constructor-arg name="xpath"
			value="datacite:resource/datacite:rightsList/datacite:rights/@rightsURI" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true" />
	</bean>
</beans>