1
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
2
|
xmlns:p="http://www.springframework.org/schema/p"
|
3
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
4
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
5
|
http://www.springframework.org/schema/beans/spring-beans.xsd
|
6
|
http://www.springframework.org/schema/context
|
7
|
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
|
8
|
|
9
|
|
10
|
<bean id="eml.abstract" class="org.dataone.cn.indexer.parser.MergeSolrField">
|
11
|
<constructor-arg name="name" value="abstract" />
|
12
|
<constructor-arg name="xpath"
|
13
|
value="//dataset/abstract/descendant::text()" />
|
14
|
<constructor-arg name="delimiter" value=" " />
|
15
|
<property name="multivalue" value="false" />
|
16
|
<property name="dedupe" value="false" />
|
17
|
</bean>
|
18
|
|
19
|
<bean id="eml.keywords" class="org.dataone.cn.indexer.parser.SolrField">
|
20
|
<constructor-arg name="name" value="keywords" />
|
21
|
<constructor-arg name="xpath"
|
22
|
value="//dataset/keywordSet/keyword/text()" />
|
23
|
<property name="multivalue" value="true" />
|
24
|
<property name="dedupe" value="true" />
|
25
|
</bean>
|
26
|
|
27
|
<bean id="eml.southBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
|
28
|
<constructor-arg name="name" value="southBoundCoord" />
|
29
|
<constructor-arg name="xpath"
|
30
|
value="//dataset/coverage/geographicCoverage/boundingCoordinates/southBoundingCoordinate/text()" />
|
31
|
<property name="multivalue" value="false" />
|
32
|
<property name="converter" ref="solrLatitudeConverter" />
|
33
|
</bean>
|
34
|
|
35
|
<bean id="eml.northBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
|
36
|
<constructor-arg name="name" value="northBoundCoord" />
|
37
|
<constructor-arg name="xpath"
|
38
|
value="//dataset/coverage/geographicCoverage/boundingCoordinates/northBoundingCoordinate/text()" />
|
39
|
<property name="multivalue" value="false" />
|
40
|
<property name="converter" ref="solrLatitudeConverter" />
|
41
|
</bean>
|
42
|
|
43
|
<bean id="eml.westBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
|
44
|
<constructor-arg name="name" value="westBoundCoord" />
|
45
|
<constructor-arg name="xpath"
|
46
|
value="//dataset/coverage/geographicCoverage/boundingCoordinates/westBoundingCoordinate/text()" />
|
47
|
<property name="multivalue" value="false" />
|
48
|
<property name="converter" ref="solrLongitudeConverter" />
|
49
|
</bean>
|
50
|
|
51
|
<bean id="eml.eastBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
|
52
|
<constructor-arg name="name" value="eastBoundCoord" />
|
53
|
<constructor-arg name="xpath"
|
54
|
value="//dataset/coverage/geographicCoverage/boundingCoordinates/eastBoundingCoordinate/text()" />
|
55
|
<property name="multivalue" value="false" />
|
56
|
<property name="converter" ref="solrLongitudeConverter" />
|
57
|
</bean>
|
58
|
|
59
|
<bean id="eml.beginDate" class="org.dataone.cn.indexer.parser.SolrField">
|
60
|
<constructor-arg name="name" value="beginDate" />
|
61
|
<constructor-arg name="xpath"
|
62
|
value="//dataset/coverage/temporalCoverage/rangeOfDates/beginDate/calendarDate/text()" />
|
63
|
<property name="multivalue" value="false" />
|
64
|
<property name="converter" ref="dateConverter" />
|
65
|
</bean>
|
66
|
|
67
|
<bean id="eml.endDate" class="org.dataone.cn.indexer.parser.SolrField">
|
68
|
<constructor-arg name="name" value="endDate" />
|
69
|
<constructor-arg name="xpath"
|
70
|
value="//dataset/coverage/temporalCoverage/rangeOfDates/endDate/calendarDate/text()" />
|
71
|
<property name="multivalue" value="false" />
|
72
|
<property name="converter" ref="dateConverter" />
|
73
|
</bean>
|
74
|
|
75
|
<bean id="eml.pubDate" class="org.dataone.cn.indexer.parser.SolrField">
|
76
|
<constructor-arg name="name" value="pubDate" />
|
77
|
<constructor-arg name="xpath" value="//dataset/pubDate/text()" />
|
78
|
<property name="multivalue" value="false" />
|
79
|
<property name="converter" ref="dateConverter" />
|
80
|
</bean>
|
81
|
|
82
|
<bean id="eml.title" class="org.dataone.cn.indexer.parser.SolrField">
|
83
|
<constructor-arg name="name" value="title" />
|
84
|
<constructor-arg name="xpath" value="//dataset/title/text()" />
|
85
|
<property name="multivalue" value="false" />
|
86
|
</bean>
|
87
|
|
88
|
<bean id="eml.project" class="org.dataone.cn.indexer.parser.SolrField">
|
89
|
<constructor-arg name="name" value="project" />
|
90
|
<constructor-arg name="xpath" value="//dataset/project/title/text()" />
|
91
|
<property name="multivalue" value="false" />
|
92
|
</bean>
|
93
|
|
94
|
<bean id="eml.author" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
|
95
|
p:multivalue="false"
|
96
|
p:root-ref="authorNameRoot">
|
97
|
<constructor-arg name="name" value="author" />
|
98
|
</bean>
|
99
|
|
100
|
<bean id="authorNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
|
101
|
p:name="author"
|
102
|
p:xPath="//dataset/creator/individualName"
|
103
|
p:template="[givenName] [surName]">
|
104
|
<property name="leafs">
|
105
|
<list>
|
106
|
<ref bean="givenNameLeaf"/>
|
107
|
<ref bean="surNameLeaf"/>
|
108
|
</list>
|
109
|
</property>
|
110
|
</bean>
|
111
|
|
112
|
<bean id="eml.author_lname" class="org.dataone.cn.indexer.parser.SolrField">
|
113
|
<constructor-arg name="name" value="authorLastName" />
|
114
|
<constructor-arg name="xpath"
|
115
|
value="//dataset/creator/individualName/surName/text()" />
|
116
|
<property name="multivalue" value="true" />
|
117
|
</bean>
|
118
|
|
119
|
<bean id="eml.investigator" class="org.dataone.cn.indexer.parser.SolrField">
|
120
|
<constructor-arg name="name" value="investigator" />
|
121
|
<constructor-arg name="xpath"
|
122
|
value="//dataset/creator/individualName/surName/text()" />
|
123
|
<property name="multivalue" value="true" />
|
124
|
</bean>
|
125
|
|
126
|
<bean id="eml.origin" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
|
127
|
p:multivalue="true"
|
128
|
p:root-ref="originRoot">
|
129
|
<constructor-arg name="name" value="origin" />
|
130
|
</bean>
|
131
|
|
132
|
<bean id="originRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
|
133
|
p:name="origin"
|
134
|
p:xPath="//dataset/creator"
|
135
|
p:template="[individualName]||[organizationName]">
|
136
|
<property name="leafs"><list><ref bean="organizationNameLeaf"/></list></property>
|
137
|
<property name="subRoots"><list><ref bean="individualNameRoot" /></list></property>
|
138
|
</bean>
|
139
|
|
140
|
<bean id="organizationNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
|
141
|
p:name="organizationName"
|
142
|
p:xPath="organizationName/text()" />
|
143
|
|
144
|
<bean id="individualNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
|
145
|
p:name="individualName"
|
146
|
p:xPath="individualName"
|
147
|
p:template="[givenName] [surName]">
|
148
|
<property name="leafs">
|
149
|
<list>
|
150
|
<ref bean="givenNameLeaf"/>
|
151
|
<ref bean="surNameLeaf"/>
|
152
|
</list>
|
153
|
</property>
|
154
|
</bean>
|
155
|
|
156
|
<bean id="givenNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
|
157
|
p:name="givenName"
|
158
|
p:xPath="givenName/text()" />
|
159
|
|
160
|
<bean id="surNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
|
161
|
p:name="surName"
|
162
|
p:xPath="surName/text()"/>
|
163
|
|
164
|
<bean id="eml.contactOrganization" class="org.dataone.cn.indexer.parser.SolrField">
|
165
|
<constructor-arg name="name" value="contactOrganization" />
|
166
|
<constructor-arg name="xpath"
|
167
|
value="//dataset/creator/organizationName/text()" />
|
168
|
<property name="multivalue" value="true" />
|
169
|
<property name="dedupe" value="true"/>
|
170
|
</bean>
|
171
|
|
172
|
<bean id="eml.fileID" class="org.dataone.cn.indexer.parser.ResolveSolrField">
|
173
|
<constructor-arg name="name" value="fileID" />
|
174
|
</bean>
|
175
|
|
176
|
<bean id="eml.fullText" class="org.dataone.cn.indexer.parser.FullTextSolrField">
|
177
|
<constructor-arg name="name" value="text" />
|
178
|
<constructor-arg name="xpath"
|
179
|
value="//dataset/*[not(self::dataTable)]//text()" />
|
180
|
<property name="multivalue" value="false" />
|
181
|
<property name="combineNodes" value="true"/>
|
182
|
</bean>
|
183
|
|
184
|
<bean id="eml.genus" class="org.dataone.cn.indexer.parser.SolrField">
|
185
|
<constructor-arg name="name" value="genus" />
|
186
|
<constructor-arg name="xpath"
|
187
|
value='//taxonomicClassification/taxonRankValue[../taxonRankName="Genus"]/text()' />
|
188
|
<property name="multivalue" value="true" />
|
189
|
<property name="dedupe" value="true" />
|
190
|
</bean>
|
191
|
|
192
|
<bean id="eml.species" class="org.dataone.cn.indexer.parser.SolrField">
|
193
|
<constructor-arg name="name" value="species" />
|
194
|
<constructor-arg name="xpath"
|
195
|
value='//taxonomicClassification/taxonRankValue[../taxonRankName="Species"]/text()' />
|
196
|
<property name="multivalue" value="true" />
|
197
|
<property name="dedupe" value="true" />
|
198
|
</bean>
|
199
|
|
200
|
<bean id="eml.kingdom" class="org.dataone.cn.indexer.parser.SolrField">
|
201
|
<constructor-arg name="name" value="kingdom" />
|
202
|
<constructor-arg name="xpath"
|
203
|
value='//taxonomicClassification/taxonRankValue[../taxonRankName="Kingdom"]/text()' />
|
204
|
<property name="multivalue" value="true" />
|
205
|
<property name="dedupe" value="true" />
|
206
|
</bean>
|
207
|
|
208
|
<bean id="eml.order" class="org.dataone.cn.indexer.parser.SolrField">
|
209
|
<constructor-arg name="name" value="order" />
|
210
|
<constructor-arg name="xpath"
|
211
|
value='//taxonomicClassification/taxonRankValue[../taxonRankName="Order"]/text()' />
|
212
|
<property name="multivalue" value="true" />
|
213
|
<property name="dedupe" value="true" />
|
214
|
</bean>
|
215
|
|
216
|
<bean id="eml.phylum" class="org.dataone.cn.indexer.parser.SolrField">
|
217
|
<constructor-arg name="name" value="phylum" />
|
218
|
<constructor-arg name="xpath"
|
219
|
value='//taxonomicClassification/taxonRankValue[../taxonRankName="Phylum"]/text() | //taxonomicClassification/taxonRankValue[../taxonRankName="Division"]/text()' />
|
220
|
<property name="multivalue" value="true" />
|
221
|
<property name="dedupe" value="true" />
|
222
|
</bean>
|
223
|
|
224
|
|
225
|
<bean id="eml.family" class="org.dataone.cn.indexer.parser.SolrField">
|
226
|
<constructor-arg name="name" value="family" />
|
227
|
<constructor-arg name="xpath"
|
228
|
value='//taxonomicClassification/taxonRankValue[../taxonRankName="Family"]/text()' />
|
229
|
<property name="multivalue" value="true" />
|
230
|
<property name="dedupe" value="true" />
|
231
|
</bean>
|
232
|
|
233
|
<bean id="eml.class" class="org.dataone.cn.indexer.parser.SolrField">
|
234
|
<constructor-arg name="name" value="class" />
|
235
|
<constructor-arg name="xpath"
|
236
|
value='//taxonomicClassification/taxonRankValue[../taxonRankName="Class"]/text()' />
|
237
|
<property name="multivalue" value="true" />
|
238
|
<property name="dedupe" value="true" />
|
239
|
</bean>
|
240
|
|
241
|
|
242
|
|
243
|
<bean id="eml.scientificName" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
|
244
|
p:multivalue="true" p:root-ref="eml.scientificNameRoot">
|
245
|
<constructor-arg name="name" value="scientificName" />
|
246
|
</bean>
|
247
|
|
248
|
|
249
|
<bean id="eml.scientificNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
|
250
|
p:name="scientificName"
|
251
|
p:xPath='//taxonomicClassification[../taxonRankName="Genus"]'
|
252
|
p:template="[genus] [species]">
|
253
|
<property name="leafs">
|
254
|
<list>
|
255
|
<ref bean="eml.genusLeaf"/>
|
256
|
<ref bean="eml.speciesLeaf"/>
|
257
|
</list>
|
258
|
</property>
|
259
|
</bean>
|
260
|
|
261
|
|
262
|
<bean id="eml.genusLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
|
263
|
p:name="genus"
|
264
|
p:xPath='../taxonRankValue/text()' />
|
265
|
|
266
|
|
267
|
<bean id="eml.speciesLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
|
268
|
p:name="species"
|
269
|
p:xPath='taxonRankValue/text()' />
|
270
|
|
271
|
</beans>
|