Project

General

Profile

« Previous | Next » 

Revision 3782

mappings/VegX-VegBIEN.stems.csv: Expanded {} expressions using expand_braces, so that each distinct output for the same input is on its own line, improving readability. This will also help enable search-and-replace reversing of XPaths for the re-rooting to location.

View differences:

inputs/Madidi/test/import.plots.xml.ref
21 21
                        </2>
22 22
                    </_alt>
23 23
                </elevation>
24
                <elevationrange>
25
                    <_range>
26
                        <from>
27
                            <_units>
28
                                <default>m</default>
29
                                <to>m</to>
30
                                <to></to>
31
                                <value><_rangeStart><value>$Minimum altitude</value></_rangeStart></value>
32
                            </_units>
33
                        </from>
34
                    </_range>
35
                </elevationrange>
24 36
                <landform>$Topographical situation</landform>
25 37
                <locationdetermination>
26 38
                    <latitude>
......
49 61
                    </_compass>
50 62
                </slopeaspect>
51 63
                <slopegradient>$Slope</slopegradient>
52
                <elevationrange>
53
                    <_range>
54
                        <from>
55
                            <_units>
56
                                <default>m</default>
57
                                <to>m</to>
58
                                <to></to>
59
                                <value><_rangeStart><value>$Minimum altitude</value></_rangeStart></value>
60
                            </_units>
61
                        </from>
62
                    </_range>
63
                </elevationrange>
64 64
                <sourceaccessioncode>
65 65
                    <_merge>
66 66
                        <2>
67 67
                            <_alt>
68
                                <1>$Inventory code</1>
68 69
                                <2>$Inventory name</2>
69
                                <1>$Inventory code</1>
70 70
                            </_alt>
71 71
                        </2>
72 72
                    </_merge>
......
79 79
                <sourceaccessioncode>$Expedition number</sourceaccessioncode>
80 80
            </project>
81 81
        </project_id>
82
        <authorlocationcode>$Inventory name</authorlocationcode>
82 83
        <commclass>
83 84
            <commdetermination>
84 85
                <commconcept_id>
......
108 109
            <sodium>$Sodio intercambiable (WSP S-5,10&#8211;cmolc/Kg&#8211;0.00083)</sodium>
109 110
            <texture>$Textural class</texture>
110 111
        </soilobs>
111
        <authorlocationcode>$Inventory name</authorlocationcode>
112 112
        <sourceaccessioncode>$Inventory code</sourceaccessioncode>
113 113
    </locationevent>
114 114
</VegBIEN>
inputs/Madidi/maps/VegBIEN.plots.csv
1 1
Madidi,VegBIEN:/locationevent,Comments
2 2
Area,/*_id/location/area,
3 3
Altitude,/*_id/location/elevation/_alt/1,
4
Minimum altitude,"/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value",
5
Minimum altitude,"/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value",
4 6
Topographical situation,/*_id/location/landform,
5 7
Latitude,/*_id/location/locationdetermination/latitude/_alt/1,
6 8
Latitude (DMS),/*_id/location/locationdetermination/latitude/_alt/2,
......
11 13
Direction,/*_id/location/slopeaspect/_compass/value/_alt/1,Part files provide either this field or Direction
12 14
Orientación/exposicion,/*_id/location/slopeaspect/_compass/value/_alt/2,Part files provide either this field or Orientación
13 15
Slope,/*_id/location/slopegradient,
14
Minimum altitude,"/*_id/location/{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value",
16
Inventory code,/*_id/location/sourceaccessioncode/_merge/2/_alt/1,
17
Inventory name,/*_id/location/sourceaccessioncode/_merge/2/_alt/2,
15 18
Expedition name,/*_id/project/projectname,Consistent (globally unique) between PPM and PT data
16 19
Expedition number,/*_id/project/sourceaccessioncode,Consistent (globally unique) between PPM and PT data
20
Inventory name,/authorlocationcode,
17 21
Vegetation type,/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
18 22
Locality description,/commclass/commdetermination/*_id/commconcept/commdescription,Often begins with the text in Vegetation type
19 23
First evaluation,/obsstartdate,
......
33 37
Limo (DIN 18 123–%–1),/soilobs/silt,
34 38
"Sodio intercambiable (WSP S-5,10–cmolc/Kg–0.00083)",/soilobs/sodium,
35 39
Textural class,/soilobs/texture,
36
Inventory name,"/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
37
Inventory code,"/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
40
Inventory code,/sourceaccessioncode,
38 41
Collaborators,,"Need a way to store a verbatim list of people, or a function to parse it and insert it iteratively into party"
39 42
Coordinates,,Concatenation of Latitude (DMS) and Longitude (DMS)
40 43
Installed and evaluated by,,"Need a way to store a verbatim list of people, or a function to parse it and insert it iteratively into party"
inputs/CVS/test/import.organisms.xml.ref
45 45
                                        <sourceaccessioncode><_merge><2><_alt><2>$authorObsCode</2></_alt></2></_merge></sourceaccessioncode>
46 46
                                    </location>
47 47
                                </location_id>
48
                                <authorlocationcode>$authorObsCode</authorlocationcode>
48 49
                                <obsstartdate><_date><date>$obsStartDate</date></_date></obsstartdate>
49
                                <authorlocationcode>$authorObsCode</authorlocationcode>
50 50
                            </locationevent>
51 51
                        </locationevent_id>
52
                        <sourceaccessioncode><_alt><3>$currentTaxonName sec Weakley 2006</3></_alt></sourceaccessioncode>
52 53
                        <taxondetermination>
53 54
                            <isoriginal>true</isoriginal>
54 55
                            <iscurrent>true</iscurrent>
......
70 71
                                </plantconcept>
71 72
                            </plantconcept_id>
72 73
                        </taxondetermination>
73
                        <sourceaccessioncode><_alt><3>$currentTaxonName sec Weakley 2006</3></_alt></sourceaccessioncode>
74 74
                    </taxonoccurrence>
75 75
                </taxonoccurrence_id>
76 76
                <cover>$%cover</cover>
inputs/CVS/maps/VegBIEN.organisms.csv
6 6
publicLongitude,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/longitude/_alt/2,
7 7
county,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=county]/placename",
8 8
state,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=stateProvince]/placename",
9
authorObsCode,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/2/_alt/2,
10
authorObsCode,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/authorlocationcode,
9 11
obsStartDate,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsstartdate/_*/date,
10
authorObsCode,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
11
currentTaxonName sec Weakley 2006,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/{taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first,sourceaccessioncode/_alt/3}",
12
currentTaxonName sec Weakley 2006,/*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/3,
13
currentTaxonName sec Weakley 2006,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first",
12 14
%cover,/*_id/aggregateoccurrence/cover,
13 15
confidentialityStatus,,** No input mapping for confidentialityStatus ** 
inputs/SALVIAS-CSV/test/import.plots.xml.ref
29 29
                        </2>
30 30
                    </_alt>
31 31
                </elevation>
32
                <elevationrange>
33
                    <_range>
34
                        <from>
35
                            <_units>
36
                                <default>m</default>
37
                                <to>m</to>
38
                                <to></to>
39
                                <value><_rangeStart><value>$elev_min_m</value></_rangeStart></value>
40
                            </_units>
41
                        </from>
42
                        <to>
43
                            <_units>
44
                                <default>m</default>
45
                                <to>m</to>
46
                                <to></to>
47
                                <value><_rangeEnd><value>$elev_max_m</value></_rangeEnd></value>
48
                            </_units>
49
                        </to>
50
                    </_range>
51
                </elevationrange>
32 52
                <locationdetermination>
33 53
                    <latitude>$lat_decimal</latitude>
34 54
                    <longitude>$long_decimal</longitude>
......
66 86
                <locationnarrative>$locality_description</locationnarrative>
67 87
                <slopeaspect><_compass><value>$slope_aspect</value></_compass></slopeaspect>
68 88
                <slopegradient>$slope_gradient</slopegradient>
69
                <elevationrange>
70
                    <_range>
71
                        <to>
72
                            <_units>
73
                                <default>m</default>
74
                                <to>m</to>
75
                                <to></to>
76
                                <value><_rangeEnd><value>$elev_max_m</value></_rangeEnd></value>
77
                            </_units>
78
                        </to>
79
                        <from>
80
                            <_units>
81
                                <default>m</default>
82
                                <to>m</to>
83
                                <to></to>
84
                                <value><_rangeStart><value>$elev_min_m</value></_rangeStart></value>
85
                            </_units>
86
                        </from>
87
                    </_range>
88
                </elevationrange>
89 89
                <sourceaccessioncode>
90 90
                    <_merge>
91 91
                        <2>
92 92
                            <_alt>
93
                                <1>$PLOT_ID</1>
93 94
                                <2>$plot_code</2>
94
                                <1>$PLOT_ID</1>
95 95
                            </_alt>
96 96
                        </2>
97 97
                    </_merge>
......
100 100
        </location_id>
101 101
        <method_id><method><name>$plot_methodology</name></method></method_id>
102 102
        <project_id><project><projectname>$project</projectname></project></project_id>
103
        <authorlocationcode>$plot_code</authorlocationcode>
103 104
        <commclass>
104 105
            <commdetermination>
105 106
                <commconcept_id>
......
222 223
            </sodium>
223 224
            <texture>$soil_texture</texture>
224 225
        </soilobs>
226
        <sourceaccessioncode>$PLOT_ID</sourceaccessioncode>
225 227
        <temperature>$temp_c</temperature>
226
        <authorlocationcode>$plot_code</authorlocationcode>
227
        <sourceaccessioncode>$PLOT_ID</sourceaccessioncode>
228 228
    </locationevent>
229 229
</VegBIEN>
230 230
Inserted 16 new rows into database
inputs/SALVIAS-CSV/test/import.organisms.xml.ref
7 7
                    <taxonoccurrence>
8 8
                        <locationevent_id>
9 9
                            <locationevent>
10
                                <obsstartdate><_date><year>$census_date</year></_date></obsstartdate>
11
                                <authorlocationcode>$subplot</authorlocationcode>
12 10
                                <location_id>
13 11
                                    <location>
14 12
                                        <sourceaccessioncode>
15 13
                                            <_merge>
16
                                                <2><_alt><2>$subplot</2></_alt></2>
17 14
                                                <1>
18 15
                                                    <_alt>
16
                                                        <1>$PLOT_ID</1>
19 17
                                                        <2>$plot_code</2>
20
                                                        <1>$PLOT_ID</1>
21 18
                                                    </_alt>
22 19
                                                </1>
20
                                                <2><_alt><2>$subplot</2></_alt></2>
23 21
                                            </_merge>
24 22
                                        </sourceaccessioncode>
25 23
                                    </location>
26 24
                                </location_id>
25
                                <authorlocationcode>$subplot</authorlocationcode>
26
                                <obsstartdate><_date><year>$census_date</year></_date></obsstartdate>
27 27
                                <parent_id>
28 28
                                    <locationevent>
29
                                        <authorlocationcode>$plot_code</authorlocationcode>
30 29
                                        <location_id>
31 30
                                            <location>
32 31
                                                <sourceaccessioncode>
33 32
                                                    <_alt>
33
                                                        <1>$PLOT_ID</1>
34 34
                                                        <2>$plot_code</2>
35
                                                        <1>$PLOT_ID</1>
36 35
                                                    </_alt>
37 36
                                                </sourceaccessioncode>
38 37
                                            </location>
39 38
                                        </location_id>
39
                                        <authorlocationcode>$plot_code</authorlocationcode>
40 40
                                        <sourceaccessioncode>$PLOT_ID</sourceaccessioncode>
41 41
                                    </locationevent>
42 42
                                </parent_id>
......
63 63
                                <value>$habit</value>
64 64
                            </_map>
65 65
                        </growthform>
66
                        <sourceaccessioncode>
67
                            <_alt>
68
                                <3><_name><last>$orig_species</last></_name></3>
69
                                <1>$OBSERVATION_ID</1>
70
                                <2>$individual_code</2>
71
                            </_alt>
72
                        </sourceaccessioncode>
66 73
                        <taxondetermination>
67 74
                            <role>computer</role>
68 75
                            <plantconcept_id>
......
176 183
                                <last>$coll_lastname</last>
177 184
                            </_name>
178 185
                        </verbatimcollectorname>
179
                        <sourceaccessioncode>
180
                            <_alt>
181
                                <3><_name><last>$orig_species</last></_name></3>
182
                                <2>$individual_code</2>
183
                                <1>$OBSERVATION_ID</1>
184
                            </_alt>
185
                        </sourceaccessioncode>
186 186
                    </taxonoccurrence>
187 187
                </taxonoccurrence_id>
188 188
                <count>$no_of_individuals</count>
......
199 199
                <linecover>$intercept_cm</linecover>
200 200
            </aggregateoccurrence>
201 201
        </aggregateoccurrence_id>
202
        <authorplantcode>$individual_code</authorplantcode>
202 203
        <overallheight>
203 204
            <_alt>
204 205
                <0>$height_m</0>
205 206
                <1>$stem_height_m</1>
206 207
            </_alt>
207 208
        </overallheight>
209
        <sourceaccessioncode>$OBSERVATION_ID</sourceaccessioncode>
208 210
        <stemobservation>
209 211
            <stemtag>
210 212
                <iscurrent>
......
239 241
                    <right>direct</right>
240 242
                </_eq>
241 243
            </cond>
242
            <then>
243
                <specimenreplicate>
244
                    <catalognumber_dwc>
245
                        <_alt>
246
                            <1>$coll_number</1>
247
                            <2>$voucher_string</2>
248
                        </_alt>
249
                    </catalognumber_dwc>
250
                </specimenreplicate>
251
            </then>
252 244
            <else>
253 245
                <aggregateoccurrence_id merge="1">
254 246
                    <aggregateoccurrence merge="1">
......
271 263
                    </aggregateoccurrence>
272 264
                </aggregateoccurrence_id>
273 265
            </else>
266
            <then>
267
                <specimenreplicate>
268
                    <catalognumber_dwc>
269
                        <_alt>
270
                            <1>$coll_number</1>
271
                            <2>$voucher_string</2>
272
                        </_alt>
273
                    </catalognumber_dwc>
274
                </specimenreplicate>
275
            </then>
274 276
        </_if>
275 277
        <_ignore><voucherType>$det_type</voucherType></_ignore>
276
        <authorplantcode>$individual_code</authorplantcode>
277
        <sourceaccessioncode>$OBSERVATION_ID</sourceaccessioncode>
278 278
    </plantobservation>
279 279
</VegBIEN>
280 280
Inserted 44 new rows into database
inputs/SALVIAS-CSV/maps/VegBIEN.plots.csv
1 1
SALVIAS-CSV,VegBIEN:/locationevent,Comments
2 2
plot_area_ha,/*_id/location/area,"Brad: Area in hectares. Is there any way to store units?; Aaron: VegX plot area annotation says ""Total area of the plot in square meters."" so units are fixed"
3 3
elev_m,/*_id/location/elevation/_alt/1,Brad: Mean elevation in meters. This is a constrained decimal value; is there no place for this in VegX other than verbatimElevation? Check with Nick.
4
elev_max_m,"/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
5
elev_min_m,"/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value",
6
elev_min_m,"/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value",
7
elev_max_m,"/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
4 8
lat_decimal,/*_id/location/locationdetermination/latitude,
5 9
long_decimal,/*_id/location/locationdetermination/longitude,
6 10
pol2,"/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=county]/placename",Brad: No pol2=countyParish
......
10 14
locality_description,/*_id/location/locationnarrative,"Brad: No; this is free text description of locality where plot was situated, same as for DwC. Not a description of vegetation. Most likely='namedPlace.placeDescription' in VB; not sure about VX, again need to ask Nick where locality descriptions live in VX"
11 15
slope_aspect,/*_id/location/slopeaspect/_compass/value,
12 16
slope_gradient,/*_id/location/slopegradient,
13
elev_max_m,"/*_id/location/{elevation/_alt/2/_avg/max,elevationrange/_range/to}/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
14
elev_min_m,"/*_id/location/{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value",
17
PLOT_ID,/*_id/location/sourceaccessioncode/_merge/2/_alt/1,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
18
plot_code,/*_id/location/sourceaccessioncode/_merge/2/_alt/2,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
15 19
plot_methodology,/*_id/method/name,
16 20
project,/*_id/project/projectname,
21
plot_code,/authorlocationcode,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
17 22
holdridge_life_zone,/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
18 23
life_zone_code,/commclass/commdetermination/*_id/commconcept/commdescription,
19 24
date_finish,/obsenddate/_*/date,
......
36 41
silt_percent,"/soilobs/silt/_units:[default=""%"",to=]/value",
37 42
soil_Na,"/soilobs/sodium/_units:[default=""%"",to=]/value",
38 43
soil_texture,/soilobs/texture,
44
PLOT_ID,/sourceaccessioncode,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
39 45
temp_c,/temperature,
40
plot_code,"/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
41
PLOT_ID,"/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
42 46
observation_type,,"Brad: SALVIAS internal metadata indicating whether the record represents an individual or aggregate observation. Rather than storing, use to decide where to store in VegX.; Aaron: VegX aggregateOrganismObservation table is missing many fields available in individualOrganismObservation, so we're mapping to individualOrganismObservation regardless of observation type"
43 47
recensused,,"Brad: This is a 0/1 value, internal to SALVIAS. 1 indicates that a  plot has >1 set of values, from different census events.; Aaron: Different censuses are distinguished in organisms data by different census_no values"
inputs/SALVIAS-CSV/maps/VegBIEN.organisms.csv
1 1
SALVIAS-CSV,VegBIEN:/plantobservation,Comments
2
PLOT_ID,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/1/_alt/1,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
3
plot_code,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/1/_alt/2,"Brad: Same as plotCode, above"
4
subplot,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/2/_alt/2,
5
subplot,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/authorlocationcode,
2 6
census_date,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsstartdate/_date/year,
3
subplot,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
4
plot_code,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}","Brad: Same as plotCode, above"
5
PLOT_ID,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}","Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
7
PLOT_ID,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
8
plot_code,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/2,"Brad: Same as plotCode, above"
9
plot_code,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/authorlocationcode,"Brad: Same as plotCode, above"
10
PLOT_ID,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/sourceaccessioncode,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
6 11
habit,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/growthform/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/value","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
12
orig_species,/*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/3/_name/last,Brad: OMIT
7 13
infra_rank_1,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
8 14
specific_authority,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",Brad: Incorrect. This is the author of the scientificName. The should be a place for this in the taxonomic name elements of VegB and VegX. Let's discuss.
9 15
infra_ep_1,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/last",
......
12 18
family,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",
13 19
cf_aff,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/last","Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
14 20
cf_aff,/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/taxonfit,"Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
21
orig_species,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first/_name/last",Brad: OMIT
15 22
orig_family,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",Brad: OMIT
16 23
coll_firstname,/*_id/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/first,Brad: See comment above
17 24
coll_lastname,/*_id/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
18
orig_species,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/{taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first,sourceaccessioncode/_alt/3}/_name/last",Brad: OMIT
19 25
no_of_individuals,/*_id/aggregateoccurrence/count,"Brad: Incorrect for VegX. This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
20 26
cover_percent,/*_id/aggregateoccurrence/cover,
21 27
census_no,"/*_id/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]:[@fkey=tablerecord_id]/definedvalue","Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
22 28
intercept_cm,/*_id/aggregateoccurrence/linecover,"Brad: Incorrect for VegBank This is an aggregate observation. Used in line-intercept methodology only, describes the point along centerline at which an individual intercepts the center line of the plot. Used to determin relative abundance."
29
OBSERVATION_ID,/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later.; ""{"" sorts it with other _ifs"
30
individual_code,/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/2,"Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot.; ""{"" sorts it with other _ifs"
31
individual_code,/authorplantcode,"Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot.; ""{"" sorts it with other _ifs"
23 32
height_m,/overallheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
24 33
stem_height_m,/overallheight,"Brad: Same as for height, but applies to individuals stems, not trees. Rare."
34
OBSERVATION_ID,/sourceaccessioncode,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later.; ""{"" sorts it with other _ifs"
25 35
tag1,"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag/_alt/1","Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once.; Quotes sort it before tag2"
26 36
stem_tag1,"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag/_alt/2","Brad: Same as tag1 & tag2, but applied to individual stems. I'm still not clear how to distinguish between methods which tag only individuals trees, and those which tag individual stems.; Quotes sort it before tag2"
27 37
tag2,/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag/_alt/1,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
28 38
stem_tag2,/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag/_alt/2,Brad: see above
29 39
x_position,/stemobservation/xposition,"Brad: Correct for VegBank. I'm not so sure for VegX. Let's ask Nick about this. These are important, fundamental values of many tree plots, and should be accommodated within VegX."
30 40
y_position,/stemobservation/yposition,Brad: See comment above for x_position
31
coll_number,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/catalognumber_dwc/_alt/1","Brad: Incorrect. Map instead as for voucher_string; ""{.}"" sorts it with other _ifs"
32
voucher_string,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/catalognumber_dwc/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below.; ""{.}"" sorts it with other _ifs"
41
coll_number,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_alt/1","Brad: Incorrect. Map instead as for voucher_string; ""{.}"" sorts it with other _ifs"
42
voucher_string,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below.; ""{.}"" sorts it with other _ifs"
43
coll_number,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc/_alt/1","Brad: Incorrect. Map instead as for voucher_string; ""{.}"" sorts it with other _ifs"
44
voucher_string,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below.; ""{.}"" sorts it with other _ifs"
33 45
det_type,/{.}/_ignore/voucherType,"Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen.; ""{"" sorts it after what uses it, so the _ignore is executed after the _refs"
34
individual_code,"/{authorplantcode,*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/2}","Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot.; ""{"" sorts it with other _ifs"
35
OBSERVATION_ID,"/{sourceaccessioncode,*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later.; ""{"" sorts it with other _ifs"
36 46
basal_diam,,** No join mapping for /diameterBaseDistance[baseDistance/value=0]/diameter ** 
37 47
collector_code,,Brad: OMIT
38 48
comments,,Brad: OMIT
inputs/CTFS/test/import.organisms.xml.ref
35 35
                                                </2>
36 36
                                            </_alt>
37 37
                                        </elevation>
38
                                        <elevationrange>
39
                                            <_range>
40
                                                <from>
41
                                                    <_units>
42
                                                        <default>m</default>
43
                                                        <to>m</to>
44
                                                        <to></to>
45
                                                        <value><_rangeStart><value>$/*ID-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/geospatial/minimumElevationInMeters</value></_rangeStart></value>
46
                                                    </_units>
47
                                                </from>
48
                                                <to>
49
                                                    <_units>
50
                                                        <default>m</default>
51
                                                        <to>m</to>
52
                                                        <to></to>
53
                                                        <value><_rangeEnd><value>$/*ID-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/geospatial/maximumElevationInMeters</value></_rangeEnd></value>
54
                                                    </_units>
55
                                                </to>
56
                                            </_range>
57
                                        </elevationrange>
38 58
                                        <landform>$/*ID-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/landform</landform>
39 59
                                        <locationdetermination>
40 60
                                            <coordsaccuracy>$/*ID-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/geospatial/CoordinateUncertaintyInMeters</coordsaccuracy>
......
76 96
                                        <notespublic>$/*ID-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/note</notespublic>
77 97
                                        <slopeaspect><_compass><value>$/*ID-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/slopeAspect</value></_compass></slopeaspect>
78 98
                                        <slopegradient>$/*ID-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/slopeGradient</slopegradient>
79
                                        <elevationrange>
80
                                            <_range>
81
                                                <to>
82
                                                    <_units>
83
                                                        <default>m</default>
84
                                                        <to>m</to>
85
                                                        <to></to>
86
                                                        <value><_rangeEnd><value>$/*ID-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/geospatial/maximumElevationInMeters</value></_rangeEnd></value>
87
                                                    </_units>
88
                                                </to>
89
                                                <from>
90
                                                    <_units>
91
                                                        <default>m</default>
92
                                                        <to>m</to>
93
                                                        <to></to>
94
                                                        <value><_rangeStart><value>$/*ID-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/geospatial/minimumElevationInMeters</value></_rangeStart></value>
95
                                                    </_units>
96
                                                </from>
97
                                            </_range>
98
                                        </elevationrange>
99 99
                                        <sourceaccessioncode>
100 100
                                            <_merge>
101
                                                <1>
102
                                                    <_alt>
103
                                                        <1>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotUniqueIdentifier</1>
104
                                                        <2>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotName</2>
105
                                                    </_alt>
106
                                                </1>
101 107
                                                <2>
102 108
                                                    <_alt>
109
                                                        <1>$/*ID-&gt;/*s/plotObservation/plotUniqueIdentifierID-&gt;/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier</1>
103 110
                                                        <2>$/*ID-&gt;/*s/plotObservation/plotUniqueIdentifierID-&gt;/*s/plot[plotUniqueIdentifier]/plotName</2>
104
                                                        <1>$/*ID-&gt;/*s/plotObservation/plotUniqueIdentifierID-&gt;/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier</1>
105 111
                                                    </_alt>
106 112
                                                </2>
107
                                                <1>
108
                                                    <_alt>
109
                                                        <2>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotName</2>
110
                                                        <1>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotUniqueIdentifier</1>
111
                                                    </_alt>
112
                                                </1>
113 113
                                            </_merge>
114 114
                                        </sourceaccessioncode>
115 115
                                    </location>
......
121 121
                                        <sourceaccessioncode>$/*ID-&gt;/*s/plotObservation/*ID-&gt;/*s/project/title[@id=sourceAccessionCode]</sourceaccessioncode>
122 122
                                    </project>
123 123
                                </project_id>
124
                                <authorlocationcode>$/*ID-&gt;/*s/plotObservation/plotUniqueIdentifierID-&gt;/*s/plot[plotUniqueIdentifier]/plotName</authorlocationcode>
124 125
                                <commclass>
125 126
                                    <commdetermination>
126 127
                                        <commconcept_id>
......
133 134
                                </commclass>
134 135
                                <obsenddate>$/*ID-&gt;/*s/plotObservation/obsEndDate</obsenddate>
135 136
                                <obsstartdate>$/*ID-&gt;/*s/plotObservation/obsStartDate</obsstartdate>
137
                                <parent_id>
138
                                    <locationevent>
139
                                        <location_id>
140
                                            <location>
141
                                                <sourceaccessioncode>
142
                                                    <_alt>
143
                                                        <1>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotUniqueIdentifier</1>
144
                                                        <2>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotName</2>
145
                                                    </_alt>
146
                                                </sourceaccessioncode>
147
                                            </location>
148
                                        </location_id>
149
                                        <authorlocationcode>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotName</authorlocationcode>
150
                                        <sourceaccessioncode>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotUniqueIdentifier</sourceaccessioncode>
151
                                    </locationevent>
152
                                </parent_id>
136 153
                                <precipitation>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=precipitation]/value</precipitation>
137 154
                                <soilobs>
138 155
                                    <acidity>$/*ID-&gt;/*s/plotObservation-&gt;/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value</acidity>
......
153 170
                                    <sodium>$/*ID-&gt;/*s/plotObservation-&gt;/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value</sodium>
154 171
                                    <texture>$/*ID-&gt;/*s/plotObservation-&gt;/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value</texture>
155 172
                                </soilobs>
173
                                <sourceaccessioncode>$/*ID-&gt;/*s/plotObservation/plotUniqueIdentifierID-&gt;/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier</sourceaccessioncode>
156 174
                                <temperature>$/*ID-&gt;/*s/plotObservation/temperature</temperature>
157 175
                                <waterdepth>
158 176
                                    <_avg>
......
174 192
                                        </min>
175 193
                                    </_avg>
176 194
                                </waterdepth>
177
                                <authorlocationcode>$/*ID-&gt;/*s/plotObservation/plotUniqueIdentifierID-&gt;/*s/plot[plotUniqueIdentifier]/plotName</authorlocationcode>
178
                                <parent_id>
179
                                    <locationevent>
180
                                        <authorlocationcode>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotName</authorlocationcode>
181
                                        <location_id>
182
                                            <location>
183
                                                <sourceaccessioncode>
184
                                                    <_alt>
185
                                                        <2>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotName</2>
186
                                                        <1>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotUniqueIdentifier</1>
187
                                                    </_alt>
188
                                                </sourceaccessioncode>
189
                                            </location>
190
                                        </location_id>
191
                                        <sourceaccessioncode>$/*ID-&gt;/*s/plotObservation/simpleUserdefined[name=parent]/value-&gt;/*s/plotObservation/*UniqueIdentifierID-&gt;/*s/plot/plotUniqueIdentifier</sourceaccessioncode>
192
                                    </locationevent>
193
                                </parent_id>
194
                                <sourceaccessioncode>$/*ID-&gt;/*s/plotObservation/plotUniqueIdentifierID-&gt;/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier</sourceaccessioncode>
195 195
                            </locationevent>
196 196
                        </locationevent_id>
197 197
                        <growthform>$/simpleUserdefined[name=growthForm]/value</growthform>
198
                        <sourceaccessioncode>
199
                            <_alt>
200
                                <3>$/*ID-&gt;/*s/individualOrganism/*ID-&gt;/*s/taxonNameUsageConcept-&gt;/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID-&gt;/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name</3>
201
                                <1>$/@id</1>
202
                                <2>$/simpleUserdefined[name=authorPlantCode]/value</2>
203
                            </_alt>
204
                        </sourceaccessioncode>
198 205
                        <taxondetermination>
199 206
                            <role>computer</role>
200 207
                            <plantconcept_id>
......
336 343
                                <last>$/*ID-&gt;/*s/individualOrganism/*ID-&gt;/*s/taxonNameUsageConcept-&gt;/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID-&gt;/parties/party/individualName/surName</last>
337 344
                            </_name>
338 345
                        </verbatimcollectorname>
339
                        <sourceaccessioncode>
340
                            <_alt>
341
                                <3>$/*ID-&gt;/*s/individualOrganism/*ID-&gt;/*s/taxonNameUsageConcept-&gt;/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID-&gt;/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name</3>
342
                                <2>$/simpleUserdefined[name=authorPlantCode]/value</2>
343
                                <1>$/@id</1>
344
                            </_alt>
345
                        </sourceaccessioncode>
346 346
                    </taxonoccurrence>
347 347
                </taxonoccurrence_id>
348 348
                <count>$/*ID-&gt;/*s/individualOrganism/*ID-&gt;/*s/taxonNameUsageConcept-&gt;/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/value</count>
......
359 359
                <linecover>$/volumeCanopy/value</linecover>
360 360
            </aggregateoccurrence>
361 361
        </aggregateoccurrence_id>
362
        <authorplantcode>$/simpleUserdefined[name=authorPlantCode]/value</authorplantcode>
362 363
        <overallheight>
363 364
            <_alt>
364 365
                <0>$/height</0>
365 366
                <1>$/simpleUserdefined[name=height]/value</1>
366 367
            </_alt>
367 368
        </overallheight>
369
        <sourceaccessioncode>$/@id</sourceaccessioncode>
368 370
        <stemobservation>
369 371
            <stemtag>
370 372
                <iscurrent>
......
389 391
                    <right>direct</right>
390 392
                </_eq>
391 393
            </cond>
392
            <then>
393
                <specimenreplicate>
394
                    <catalognumber_dwc>$/*ID-&gt;/*s/individualOrganism/*ID-&gt;/*s/taxonNameUsageConcept/voucher</catalognumber_dwc>
395
                    <collectiondate>$/simpleUserdefined[name=collectionDate]/value</collectiondate>
396
                </specimenreplicate>
397
            </then>
398 394
            <else>
399 395
                <aggregateoccurrence_id merge="1">
400 396
                    <aggregateoccurrence merge="1">
......
413 409
                    </aggregateoccurrence>
414 410
                </aggregateoccurrence_id>
415 411
            </else>
412
            <then>
413
                <specimenreplicate>
414
                    <catalognumber_dwc>$/*ID-&gt;/*s/individualOrganism/*ID-&gt;/*s/taxonNameUsageConcept/voucher</catalognumber_dwc>
415
                    <collectiondate>$/simpleUserdefined[name=collectionDate]/value</collectiondate>
416
                </specimenreplicate>
417
            </then>
416 418
        </_if>
417 419
        <_ignore><voucherType>$/*ID-&gt;/*s/individualOrganism/*ID-&gt;/*s/taxonNameUsageConcept-&gt;/*s/taxonDetermination[*ID,partyWithRole/role=collector]/groupType</voucherType></_ignore>
418
        <authorplantcode>$/simpleUserdefined[name=authorPlantCode]/value</authorplantcode>
419
        <sourceaccessioncode>$/@id</sourceaccessioncode>
420 420
    </plantobservation>
421 421
</VegBIEN>
422 422
Inserted 34 new rows into database
inputs/CTFS/maps/VegBIEN.organisms.csv
1 1
CTFS[VegX]:/*s/individualOrganismObservation,VegBIEN:/plantobservation,Comments
2 2
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/area,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/area,
3 3
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/verbatimElevation,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevation/_alt/1,
4
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
5
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value",
6
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value",
7
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
4 8
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/landform,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/landform,
5 9
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/CoordinateUncertaintyInMeters,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy,
6 10
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/FootprintWKT,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/footprintgeometry_dwc,
......
14 18
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/note,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/notespublic,
15 19
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/slopeAspect,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/slopeaspect/_compass/value,
16 20
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/slopeGradient,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/slopegradient,
17
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max,elevationrange/_range/to}/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
18
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value",
21
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/1/_alt/1,
22
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/1/_alt/2,
23
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/2/_alt/1,
24
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/2/_alt/2,
19 25
/*ID->/*s/plotObservation/simpleUserdefined[name=method]/*ID/method/name,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/method/name,
20 26
/*ID->/*s/plotObservation/*ID->/*s/project/title[@id=name],/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/project/projectname,
21 27
/*ID->/*s/plotObservation/*ID->/*s/project/title[@id=sourceAccessionCode],/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/project/sourceaccessioncode,
28
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/authorlocationcode,
22 29
/*ID->/*s/plotObservation->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
23 30
/*ID->/*s/plotObservation->/*s/communityDetermination[*ID]/*s/communityConcept/name,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/commclass/commdetermination/*_id/commconcept/commdescription,
24 31
/*ID->/*s/plotObservation/obsEndDate,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsenddate,
25 32
/*ID->/*s/plotObservation/obsStartDate,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsstartdate,
33
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,
34
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/2,
35
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/authorlocationcode,
36
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/sourceaccessioncode,
26 37
/*ID->/*s/plotObservation/simpleUserdefined[name=precipitation]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/precipitation,
27 38
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/acidity,
28 39
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/basesaturation,
......
41 52
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/silt,
42 53
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/sodium,
43 54
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/texture,
55
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/sourceaccessioncode,
44 56
/*ID->/*s/plotObservation/temperature,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/temperature,
45 57
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
46 58
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
47
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotName,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
48
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
49
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
50
/*ID->/*s/plotObservation/plotUniqueIdentifierID->/*s/plot[plotUniqueIdentifier]/plotUniqueIdentifier,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
51 59
/simpleUserdefined[name=growthForm]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/growthform,
60
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name",/*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/3,
52 61
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
53 62
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
54 63
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/last",
......
58 67
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/last",
59 68
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=ssp])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",
60 69
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit",/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/taxonfit,
70
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first",
61 71
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
62 72
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank=Species])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
63 73
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank=Genus])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
......
68 78
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=reg])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,subkingdom,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",
69 79
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",/*_id/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/first,
70 80
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/surName",/*_id/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/last,
71
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/{taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first,sourceaccessioncode/_alt/3}",
72 81
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/value,/*_id/aggregateoccurrence/count,
73 82
/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,/*_id/aggregateoccurrence/cover,
74 83
/*ID->/*s/plotObservation/simpleUserdefined[name=CensusNumber]/value,"/*_id/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]:[@fkey=tablerecord_id]/definedvalue",
75 84
/volumeCanopy/value,/*_id/aggregateoccurrence/linecover,
85
/@id,/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1,"""{"" sorts it with other _ifs"
86
/simpleUserdefined[name=authorPlantCode]/value,/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/2,"""{"" sorts it with other _ifs"
87
/simpleUserdefined[name=authorPlantCode]/value,/authorplantcode,"""{"" sorts it with other _ifs"
76 88
/height,/overallheight,
77 89
/simpleUserdefined[name=height]/value,/overallheight,
90
/@id,/sourceaccessioncode,"""{"" sorts it with other _ifs"
78 91
/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag",Quotes sort it before tag2
79 92
/*ID->/*s/individualOrganism/identificationLabel[@id=2],/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,
80 93
/relativePlotPosition/relativeX,/stemobservation/xposition,
81 94
/relativePlotPosition/relativeY,/stemobservation/yposition,
82
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/catalognumber_dwc","""{.}"" sorts it with other _ifs"
83
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/collectiondate","""{.}"" sorts it with other _ifs"
95
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
96
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
97
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
98
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
84 99
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/groupType",/{.}/_ignore/voucherType,"""{"" sorts it after what uses it, so the _ignore is executed after the _refs"
85
/simpleUserdefined[name=authorPlantCode]/value,"/{authorplantcode,*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/2}","""{"" sorts it with other _ifs"
86
/@id,"/{sourceaccessioncode,*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1}","""{"" sorts it with other _ifs"
87 100
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/*/relatedPlot[plotRelationship=Quadrat]/relatedPlotID,,** No input mapping for /*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/*/relatedPlot[plotRelationship=Quadrat]/relatedPlotID ** 
inputs/SALVIAS/test/import.plots.xml.ref
29 29
                        </2>
30 30
                    </_alt>
31 31
                </elevation>
32
                <elevationrange>
33
                    <_range>
34
                        <from>
35
                            <_units>
36
                                <default>m</default>
37
                                <to>m</to>
38
                                <to></to>
39
                                <value><_rangeStart><value>$elev_min_m</value></_rangeStart></value>
40
                            </_units>
41
                        </from>
42
                        <to>
43
                            <_units>
44
                                <default>m</default>
45
                                <to>m</to>
46
                                <to></to>
47
                                <value><_rangeEnd><value>$elev_max_m</value></_rangeEnd></value>
48
                            </_units>
49
                        </to>
50
                    </_range>
51
                </elevationrange>
32 52
                <locationdetermination>
33 53
                    <latitude>$LatDec</latitude>
34 54
                    <longitude>$LongDec</longitude>
......
66 86
                <locationnarrative>$Locality_Description</locationnarrative>
67 87
                <slopeaspect><_compass><value>$slope_aspect</value></_compass></slopeaspect>
68 88
                <slopegradient>$slope_gradient</slopegradient>
69
                <elevationrange>
70
                    <_range>
71
                        <to>
72
                            <_units>
73
                                <default>m</default>
74
                                <to>m</to>
75
                                <to></to>
76
                                <value><_rangeEnd><value>$elev_max_m</value></_rangeEnd></value>
77
                            </_units>
78
                        </to>
79
                        <from>
80
                            <_units>
81
                                <default>m</default>
82
                                <to>m</to>
83
                                <to></to>
84
                                <value><_rangeStart><value>$elev_min_m</value></_rangeStart></value>
85
                            </_units>
86
                        </from>
87
                    </_range>
88
                </elevationrange>
89 89
                <sourceaccessioncode>
90 90
                    <_merge>
91 91
                        <2>
92 92
                            <_alt>
93
                                <1>$PlotID</1>
93 94
                                <2>$SiteCode</2>
94
                                <1>$PlotID</1>
95 95
                            </_alt>
96 96
                        </2>
97 97
                    </_merge>
......
100 100
        </location_id>
101 101
        <method_id><method><name>$PlotMethod</name></method></method_id>
102 102
        <project_id><project><projectname>$project_id</projectname></project></project_id>
103
        <authorlocationcode>$SiteCode</authorlocationcode>
103 104
        <commclass>
104 105
            <commdetermination>
105 106
                <commconcept_id>
......
228 229
                </_units>
229 230
            </texture>
230 231
        </soilobs>
232
        <sourceaccessioncode>$PlotID</sourceaccessioncode>
231 233
        <temperature>$Temp</temperature>
232
        <authorlocationcode>$SiteCode</authorlocationcode>
233
        <sourceaccessioncode>$PlotID</sourceaccessioncode>
234 234
    </locationevent>
235 235
</VegBIEN>
236 236
Inserted 23 new rows into database
inputs/SALVIAS/test/import.organisms.xml.ref
7 7
                    <taxonoccurrence>
8 8
                        <locationevent_id>
9 9
                            <locationevent>
10
                                <authorlocationcode>$Line</authorlocationcode>
11 10
                                <location_id>
12 11
                                    <location>
13 12
                                        <sourceaccessioncode>
14 13
                                            <_merge>
15
                                                <2><_alt><2>$Line</2></_alt></2>
16 14
                                                <1>
17 15
                                                    <_alt>
16
                                                        <1>$PlotID</1>
18 17
                                                        <2>$PlotCode</2>
19
                                                        <1>$PlotID</1>
20 18
                                                    </_alt>
21 19
                                                </1>
20
                                                <2><_alt><2>$Line</2></_alt></2>
22 21
                                            </_merge>
23 22
                                        </sourceaccessioncode>
24 23
                                    </location>
25 24
                                </location_id>
25
                                <authorlocationcode>$Line</authorlocationcode>
26 26
                                <parent_id>
27 27
                                    <locationevent>
28
                                        <authorlocationcode>$PlotCode</authorlocationcode>
29 28
                                        <location_id>
30 29
                                            <location>
31 30
                                                <sourceaccessioncode>
32 31
                                                    <_alt>
32
                                                        <1>$PlotID</1>
33 33
                                                        <2>$PlotCode</2>
34
                                                        <1>$PlotID</1>
35 34
                                                    </_alt>
36 35
                                                </sourceaccessioncode>
37 36
                                            </location>
38 37
                                        </location_id>
38
                                        <authorlocationcode>$PlotCode</authorlocationcode>
39 39
                                        <sourceaccessioncode>$PlotID</sourceaccessioncode>
40 40
                                    </locationevent>
41 41
                                </parent_id>
......
62 62
                                <value>$Habit</value>
63 63
                            </_map>
64 64
                        </growthform>
65
                        <sourceaccessioncode>
66
                            <_alt>
67
                                <3>
68
                                    <_name>
69
                                        <first>$OrigGenus</first>
70
                                        <last>$OrigSpecies</last>
71
                                    </_name>
72
                                </3>
73
                                <1>$PlotObsID</1>
74
                                <2>$Ind</2>
75
                            </_alt>
76
                        </sourceaccessioncode>
65 77
                        <taxondetermination>
66 78
                            <role>computer</role>
67 79
                            <plantconcept_id>
......
180 192
                                <last>$coll_lastname</last>
181 193
                            </_name>
182 194
                        </verbatimcollectorname>
183
                        <sourceaccessioncode>
184
                            <_alt>
185
                                <3>
186
                                    <_name>
187
                                        <first>$OrigGenus</first>
188
                                        <last>$OrigSpecies</last>
189
                                    </_name>
190
                                </3>
191
                                <2>$Ind</2>
192
                                <1>$PlotObsID</1>
193
                            </_alt>
194
                        </sourceaccessioncode>
195 195
                    </taxonoccurrence>
196 196
                </taxonoccurrence_id>
197 197
                <count>$NoInd</count>
......
208 208
                <linecover>$intercept_cm</linecover>
209 209
            </aggregateoccurrence>
210 210
        </aggregateoccurrence_id>
211
        <authorplantcode>$Ind</authorplantcode>
211 212
        <overallheight>$height_m</overallheight>
213
        <sourceaccessioncode>$PlotObsID</sourceaccessioncode>
212 214
        <stemobservation>
213 215
            <stemtag>
214 216
                <iscurrent>
......
233 235
                    <right>direct</right>
234 236
                </_eq>
235 237
            </cond>
236
            <then>
237
                <specimenreplicate>
238
                    <catalognumber_dwc>
239
                        <_alt>
240
                            <1>$coll_number</1>
241
                            <2>$SourceVoucher</2>
242
                        </_alt>
243
                    </catalognumber_dwc>
244
                    <collectiondate><_date><date>$census_date</date></_date></collectiondate>
245
                </specimenreplicate>
246
            </then>
247 238
            <else>
248 239
                <aggregateoccurrence_id merge="1">
249 240
                    <aggregateoccurrence merge="1">
......
267 258
                    </aggregateoccurrence>
268 259
                </aggregateoccurrence_id>
269 260
            </else>
261
            <then>
262
                <specimenreplicate>
263
                    <catalognumber_dwc>
264
                        <_alt>
265
                            <1>$coll_number</1>
266
                            <2>$SourceVoucher</2>
267
                        </_alt>
268
                    </catalognumber_dwc>
269
                    <collectiondate><_date><date>$census_date</date></_date></collectiondate>
270
                </specimenreplicate>
271
            </then>
270 272
        </_if>
271 273
        <_ignore><voucherType>$DetType</voucherType></_ignore>
272
        <authorplantcode>$Ind</authorplantcode>
273
        <sourceaccessioncode>$PlotObsID</sourceaccessioncode>
274 274
    </plantobservation>
275 275
</VegBIEN>
276 276
Inserted 38 new rows into database
inputs/SALVIAS/test/import.stems.xml.ref
3 3
    <stemobservation id="-1">
4 4
        <plantobservation_id>
5 5
            <plantobservation>
6
                <aggregateoccurrence_id merge="1"><aggregateoccurrence merge="1"><taxonoccurrence_id merge="1"><taxonoccurrence><sourceaccessioncode><_alt><1>$PlotObsID</1></_alt></sourceaccessioncode></taxonoccurrence></taxonoccurrence_id></aggregateoccurrence></aggregateoccurrence_id>
7
                <sourceaccessioncode>$PlotObsID</sourceaccessioncode>
6 8
                <stemcount>$NoInd</stemcount>
7
                <sourceaccessioncode>$PlotObsID</sourceaccessioncode>
8
                <aggregateoccurrence_id merge="1"><aggregateoccurrence merge="1"><taxonoccurrence_id merge="1"><taxonoccurrence><sourceaccessioncode><_alt><1>$PlotObsID</1></_alt></sourceaccessioncode></taxonoccurrence></taxonoccurrence_id></aggregateoccurrence></aggregateoccurrence_id>
9 9
            </plantobservation>
10 10
        </plantobservation_id>
11 11
        <basaldiameter>$basal_diam</basaldiameter>
inputs/SALVIAS/maps/VegBIEN.stems.csv
1 1
SALVIAS,VegBIEN:/stemobservation,Comments
2
PlotObsID,/*_id/plantobservation/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1,"""{"" sorts it with other _ifs"
3
PlotObsID,/*_id/plantobservation/sourceaccessioncode,"""{"" sorts it with other _ifs"
2 4
NoInd,/*_id/plantobservation/stemcount,
3
PlotObsID,"/*_id/plantobservation/{sourceaccessioncode,*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1}","""{"" sorts it with other _ifs"
4 5
basal_diam,/basaldiameter,
5 6
stem_canopy_form,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]:[@fkey=tablerecord_id]/definedvalue",
6 7
stem_canopy_position,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]:[@fkey=tablerecord_id]/definedvalue",
inputs/SALVIAS/maps/VegBIEN.plots.csv
1 1
SALVIAS,VegBIEN:/locationevent,Comments
2 2
plot_area_ha,/*_id/location/area,"Brad: Area in hectares. Is there any way to store units?; Aaron: VegX plot area annotation says ""Total area of the plot in square meters."" so units are fixed"
3 3
Elev,/*_id/location/elevation/_alt/1,Brad: Mean elevation in meters. This is a constrained decimal value; is there no place for this in VegX other than verbatimElevation? Check with Nick.
4
elev_max_m,"/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
5
elev_min_m,"/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value",
6
elev_min_m,"/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value",
7
elev_max_m,"/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
4 8
LatDec,/*_id/location/locationdetermination/latitude,
5 9
LongDec,/*_id/location/locationdetermination/longitude,
6 10
pol2,"/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=county]/placename",Brad: No pol2=countyParish
......
10 14
Locality_Description,/*_id/location/locationnarrative,"Brad: No; this is free text description of locality where plot was situated, same as for DwC. Not a description of vegetation. Most likely='namedPlace.placeDescription' in VB; not sure about VX, again need to ask Nick where locality descriptions live in VX"
11 15
slope_aspect,/*_id/location/slopeaspect/_compass/value,
12 16
slope_gradient,/*_id/location/slopegradient,
13
elev_max_m,"/*_id/location/{elevation/_alt/2/_avg/max,elevationrange/_range/to}/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
14
elev_min_m,"/*_id/location/{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value",
17
PlotID,/*_id/location/sourceaccessioncode/_merge/2/_alt/1,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
18
SiteCode,/*_id/location/sourceaccessioncode/_merge/2/_alt/2,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
15 19
PlotMethod,/*_id/method/name,
16 20
project_id,/*_id/project/projectname,
21
SiteCode,/authorlocationcode,Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
17 22
life_zone_code,/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
18 23
life_zone,/commclass/commdetermination/*_id/commconcept/commdescription,
19 24
date_finish,/obsenddate/_*/date,
......
36 41
silt_percent,"/soilobs/silt/_units:[default=""%"",to=]/value",
37 42
soil_Na,"/soilobs/sodium/_units:[default=""%"",to=]/value",
38 43
soil_texture,"/soilobs/texture/_units:[default=""%"",to=]/value",
44
PlotID,/sourceaccessioncode,"Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
39 45
Temp,/temperature,
40
SiteCode,"/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",Brad: plotCode is as-assigned by data provider; guranteed to be unique only within dataset (=project)
41
PlotID,"/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}","Brad: This is artificial internal database ID; a unique identifier within SALVIAS DB to each plot, within the table plotMetadata."
42 46
AccessCode,,** No input mapping for AccessCode ** 
43 47
ElevSource,,** No input mapping for ElevSource ** 
44 48
Habitat,,** No input mapping for Habitat ** 
inputs/SALVIAS/maps/VegBIEN.organisms.csv
1 1
SALVIAS,VegBIEN:/plantobservation,Comments
2
Line,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
3
PlotCode,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}","Brad: Same as plotCode, above"
4
PlotID,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}","Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
2
PlotID,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/1/_alt/1,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
3
PlotCode,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/1/_alt/2,"Brad: Same as plotCode, above"
4
Line,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/2/_alt/2,
5
Line,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/authorlocationcode,
6
PlotID,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
7
PlotCode,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/2,"Brad: Same as plotCode, above"
8
PlotCode,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/authorlocationcode,"Brad: Same as plotCode, above"
9
PlotID,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/sourceaccessioncode,"Brad: Not sure why this is repeated? This field and plotCode, as the same as above."
5 10
Habit,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/growthform/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/value","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
11
OrigGenus,/*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/3/_name/first,
12
OrigSpecies,/*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/3/_name/last,Brad: OMIT
6 13
infra_rank_1,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
7 14
auth,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",Brad: Incorrect. This is the author of the scientificName. The should be a place for this in the taxonomic name elements of VegB and VegX. Let's discuss.
8 15
infra_ep_1,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/last",
......
11 18
Family,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",
12 19
cfaff,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/last","Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
13 20
cfaff,/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/taxonfit,"Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
21
OrigGenus,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first/_name/first",
22
OrigSpecies,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first/_name/last",Brad: OMIT
14 23
OrigFamily,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",Brad: OMIT
15 24
coll_firstname,/*_id/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/first,Brad: See comment above
16 25
coll_lastname,/*_id/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
17
OrigGenus,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/{taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first,sourceaccessioncode/_alt/3}/_name/first",
18
OrigSpecies,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/{taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first,sourceaccessioncode/_alt/3}/_name/last",Brad: OMIT
19 26
NoInd,/*_id/aggregateoccurrence/count,"Brad: Incorrect for VegX. This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
20 27
cover_percent,/*_id/aggregateoccurrence/cover,
21 28
census_no,"/*_id/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]:[@fkey=tablerecord_id]/definedvalue","Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
22 29
intercept_cm,/*_id/aggregateoccurrence/linecover,"Brad: Incorrect for VegBank This is an aggregate observation. Used in line-intercept methodology only, describes the point along centerline at which an individual intercepts the center line of the plot. Used to determin relative abundance."
30
PlotObsID,/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later.; ""{"" sorts it with other _ifs"
31
Ind,/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/2,"Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot.; ""{"" sorts it with other _ifs"
32
Ind,/authorplantcode,"Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot.; ""{"" sorts it with other _ifs"
23 33
height_m,/overallheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
34
PlotObsID,/sourceaccessioncode,"Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later.; ""{"" sorts it with other _ifs"
24 35
tag1,"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag","Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once.; Quotes sort it before tag2"
25 36
tag2,/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
26 37
x_position,/stemobservation/xposition,"Brad: Correct for VegBank. I'm not so sure for VegX. Let's ask Nick about this. These are important, fundamental values of many tree plots, and should be accommodated within VegX."
27 38
y_position,/stemobservation/yposition,Brad: See comment above for x_position
28
coll_number,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/catalognumber_dwc/_alt/1","Brad: Incorrect. Map instead as for voucher_string; ""{.}"" sorts it with other _ifs"
29
SourceVoucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/catalognumber_dwc/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below.; ""{.}"" sorts it with other _ifs"
30
census_date,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/collectiondate/_*/date","""{.}"" sorts it with other _ifs"
39
coll_number,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_alt/1","Brad: Incorrect. Map instead as for voucher_string; ""{.}"" sorts it with other _ifs"
40
SourceVoucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below.; ""{.}"" sorts it with other _ifs"
41
census_date,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/collectiondate/_*/date","""{.}"" sorts it with other _ifs"
42
coll_number,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc/_alt/1","Brad: Incorrect. Map instead as for voucher_string; ""{.}"" sorts it with other _ifs"
43
SourceVoucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below.; ""{.}"" sorts it with other _ifs"
44
census_date,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/collectiondate/_*/date","""{.}"" sorts it with other _ifs"
31 45
DetType,/{.}/_ignore/voucherType,"Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen.; ""{"" sorts it after what uses it, so the _ignore is executed after the _refs"
32
Ind,"/{authorplantcode,*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/2}","Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot.; ""{"" sorts it with other _ifs"
33
PlotObsID,"/{sourceaccessioncode,*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later.; ""{"" sorts it with other _ifs"
34 46
GenAuth,,** No input mapping for GenAuth ** 
35 47
IsMorpho,,** No input mapping for IsMorpho ** 
36 48
Notes,,** No join mapping for /*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text ** 
mappings/VegX-VegBIEN.plots.csv
1 1
VegX:/*s/plotObservation,VegBIEN:/locationevent,Comments
2 2
/*UniqueIdentifierID->/*s/plot/area,/*_id/location/area,
3 3
/*UniqueIdentifierID->/*s/plot/geospatial/verbatimElevation,/*_id/location/elevation/_alt/1,
4
/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
5
/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value",
6
/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value",
7
/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
4 8
/*UniqueIdentifierID->/*s/plot/landform,/*_id/location/landform,
5 9
/*UniqueIdentifierID->/*s/plot/geospatial/CoordinateUncertaintyInMeters,/*_id/location/locationdetermination/coordsaccuracy,
6 10
/*UniqueIdentifierID->/*s/plot/geospatial/FootprintWKT,/*_id/location/locationdetermination/footprintgeometry_dwc,
......
14 18
/*UniqueIdentifierID->/*s/plot/note,/*_id/location/notespublic,
15 19
/*UniqueIdentifierID->/*s/plot/slopeAspect,/*_id/location/slopeaspect/_compass/value,
16 20
/*UniqueIdentifierID->/*s/plot/slopeGradient,/*_id/location/slopegradient,
17
/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/location/{elevation/_alt/2/_avg/max,elevationrange/_range/to}/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
18
/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/location/{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value",
21
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/location/sourceaccessioncode/_merge/1/_alt/1,
22
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/location/sourceaccessioncode/_merge/1/_alt/2,
23
/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/location/sourceaccessioncode/_merge/2/_alt/1,
24
/*UniqueIdentifierID->/*s/plot/plotName,/*_id/location/sourceaccessioncode/_merge/2/_alt/2,
19 25
/simpleUserdefined[name=method]/*ID/method/name,/*_id/method/name,
20 26
/*ID->/*s/project/title[@id=name],/*_id/project/projectname,
21 27
/*ID->/*s/project/title[@id=sourceAccessionCode],/*_id/project/sourceaccessioncode,
28
/*UniqueIdentifierID->/*s/plot/plotName,/authorlocationcode,
22 29
->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
23 30
->/*s/communityDetermination[*ID]/*s/communityConcept/name,/commclass/commdetermination/*_id/commconcept/commdescription,
24 31
/obsEndDate,/obsenddate,
25 32
/obsStartDate,/obsstartdate,
33
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,
34
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/2,
35
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/parent_id/locationevent/authorlocationcode,
36
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/parent_id/locationevent/sourceaccessioncode,
26 37
/simpleUserdefined[name=precipitation]/value,/precipitation,
27 38
->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value,/soilobs/acidity,
28 39
->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value,/soilobs/basesaturation,
......
41 52
->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value,/soilobs/silt,
42 53
->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value,/soilobs/sodium,
43 54
->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,/soilobs/texture,
55
/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/sourceaccessioncode,
44 56
/temperature,/temperature,
45 57
/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
46 58
/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
47
/*UniqueIdentifierID->/*s/plot/plotName,"/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
48
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
49
/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
50
/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
mappings/VegX-VegBIEN.organisms.csv
1 1
"VegX::[@xmlns:tcs=""http://www.tdwg.org/schemas/tcs/1.01""]/*s/individualOrganismObservation",VegBIEN:/plantobservation,Comments
2 2
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/area,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/area,
3 3
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/verbatimElevation,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevation/_alt/1,
4
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
5
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value",
6
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value",
7
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
4 8
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/landform,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/landform,
5 9
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/CoordinateUncertaintyInMeters,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy,
6 10
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/FootprintWKT,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/locationdetermination/footprintgeometry_dwc,
......
14 18
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/note,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/notespublic,
15 19
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/slopeAspect,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/slopeaspect/_compass/value,
16 20
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/slopeGradient,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/slopegradient,
17
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max,elevationrange/_range/to}/_units:[default=m,to=m,to=]/value/_rangeEnd/value",
18
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value",
21
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/1/_alt/1,
22
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/1/_alt/2,
23
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/2/_alt/1,
24
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/sourceaccessioncode/_merge/2/_alt/2,
19 25
/*ID->/*s/plotObservation/simpleUserdefined[name=method]/*ID/method/name,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/method/name,
20 26
/*ID->/*s/plotObservation/*ID->/*s/project/title[@id=name],/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/project/projectname,
21 27
/*ID->/*s/plotObservation/*ID->/*s/project/title[@id=sourceAccessionCode],/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/project/sourceaccessioncode,
28
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/authorlocationcode,
22 29
/*ID->/*s/plotObservation->/*s/communityDetermination[*ID]/*s/communityConcept/commonName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/commclass/commdetermination/*_id/commconcept/*_id/*/commname,
23 30
/*ID->/*s/plotObservation->/*s/communityDetermination[*ID]/*s/communityConcept/name,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/commclass/commdetermination/*_id/commconcept/commdescription,
24 31
/*ID->/*s/plotObservation/obsEndDate,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsenddate,
25 32
/*ID->/*s/plotObservation/obsStartDate,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/obsstartdate,
33
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,
34
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/*_id/location/sourceaccessioncode/_alt/2,
35
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/authorlocationcode,
36
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/parent_id/locationevent/sourceaccessioncode,
26 37
/*ID->/*s/plotObservation/simpleUserdefined[name=precipitation]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/precipitation,
27 38
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=acidity]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/acidity,
28 39
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=base]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/basesaturation,
......
41 52
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=silt]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/silt,
42 53
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=sodium]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/sodium,
43 54
/*ID->/*s/plotObservation->/*s/abioticObservation[*ID]/simpleUserdefined[name=texture]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/soilobs/texture,
55
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/sourceaccessioncode,
44 56
/*ID->/*s/plotObservation/temperature,/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/temperature,
45 57
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/maximumDepthInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",
46 58
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/geospatial/minimumDepthInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",
47
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
48
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotName,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
49
/*ID->/*s/plotObservation/simpleUserdefined[name=parent]/value->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
50
/*ID->/*s/plotObservation/*UniqueIdentifierID->/*s/plot/plotUniqueIdentifier,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
51 59
/simpleUserdefined[name=growthForm]/value,/*_id/aggregateoccurrence/*_id/taxonoccurrence/growthform,
60
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name",/*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/3,
52 61
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Rank","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
53 62
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
54 63
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=computer]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=TaxonomicRankBelowSubspeciesEnum])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/last",
......
58 67
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/last",
59 68
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=ssp])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",
60 69
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/fit",/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/taxonfit,
70
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first",
61 71
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=auth])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
62 72
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=sp])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
63 73
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=gen])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
......
68 78
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=reg])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,family,order,class,subkingdom,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",
69 79
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/givenName",/*_id/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/first,
70 80
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/partyWithRole/*ID->/parties/party/individualName/surName",/*_id/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/last,
71
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,!partyWithRole]/*s/taxonRelationshipAssertion(/assertion/*ID->/*s/taxonConcept[tcs:Rank/@code=binom])/tcs:Name","/*_id/aggregateoccurrence/*_id/taxonoccurrence/{taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first,sourceaccessioncode/_alt/3}",
72 81
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/aggregateOrganismObservation[*ID]/*/aggregateValue/value,/*_id/aggregateoccurrence/count,
73 82
/volumeCanopy/*ID->/*s/attribute/ordinal/coverPercent,/*_id/aggregateoccurrence/cover,
74 83
/simpleUserdefined[name=censusNo]/value,"/*_id/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]:[@fkey=tablerecord_id]/definedvalue",
75 84
/volumeCanopy/value,/*_id/aggregateoccurrence/linecover,
85
/simpleUserdefined[name=sourceAccessionCode]/value,/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1,"""{"" sorts it with other _ifs"
86
/simpleUserdefined[name=authorPlantCode]/value,/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/2,"""{"" sorts it with other _ifs"
87
/simpleUserdefined[name=authorPlantCode]/value,/authorplantcode,"""{"" sorts it with other _ifs"
76 88
/height,/overallheight,
77 89
/simpleUserdefined[name=height]/value,/overallheight,
90
/simpleUserdefined[name=sourceAccessionCode]/value,/sourceaccessioncode,"""{"" sorts it with other _ifs"
78 91
/*ID->/*s/individualOrganism/identificationLabel[@id=1],"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag",Quotes sort it before tag2
79 92
/*ID->/*s/individualOrganism/identificationLabel[@id=2],/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,
80 93
/relativePlotPosition/relativeX,/stemobservation/xposition,
81 94
/relativePlotPosition/relativeY,/stemobservation/yposition,
82
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/catalognumber_dwc","""{.}"" sorts it with other _ifs"
83
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/collectiondate","""{.}"" sorts it with other _ifs"
95
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
96
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
97
/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
98
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
84 99
"/*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept->/*s/taxonDetermination[*ID,partyWithRole/role=collector]/groupType",/{.}/_ignore/voucherType,"""{"" sorts it after what uses it, so the _ignore is executed after the _refs"
85
/simpleUserdefined[name=authorPlantCode]/value,"/{authorplantcode,*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/2}","""{"" sorts it with other _ifs"
86
/simpleUserdefined[name=sourceAccessionCode]/value,"/{sourceaccessioncode,*_id:[@merge=1]/aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence/sourceaccessioncode/_alt/1}","""{"" sorts it with other _ifs"
mappings/for_review/VegX-VegBIEN.plots.csv
1 1
VegX:/*s/plotObservation,VegBIEN:/locationevent,Comments
2 2
//plot/area,//location/area,
3 3
//geospatial/verbatimElevation,//location/elevation/_alt/1,
4
//geospatial/maximumElevationInMeters,//location/elevation/_alt/2/_avg/max/_units/value/_rangeEnd/value,
5
//geospatial/minimumElevationInMeters,//location/elevation/_alt/2/_avg/min/_units/value/_rangeStart/value,
6
//geospatial/minimumElevationInMeters,//location/elevationrange/_range/from/_units/value/_rangeStart/value,
7
//geospatial/maximumElevationInMeters,//location/elevationrange/_range/to/_units/value/_rangeEnd/value,
4 8
//plot/landform,//location/landform,
5 9
//geospatial/CoordinateUncertaintyInMeters,//locationdetermination/coordsaccuracy,
6 10
//geospatial/FootprintWKT,//locationdetermination/footprintgeometry_dwc,
......
14 18
//plot/note,//location/notespublic,
15 19
//plot/slopeAspect,//location/slopeaspect/_compass/value,
16 20
//plot/slopeGradient,//location/slopegradient,
17
//geospatial/maximumElevationInMeters,"/*_id/location/{elevation/_alt/2/_avg/max,elevationrange/_range/to}/_units/value/_rangeEnd/value",
18
//geospatial/minimumElevationInMeters,"/*_id/location/{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units/value/_rangeStart/value",
21
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_merge/1/_alt/1,
22
//plot/plotName,//location/sourceaccessioncode/_merge/1/_alt/2,
23
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_merge/2/_alt/1,
24
//plot/plotName,//location/sourceaccessioncode/_merge/2/_alt/2,
19 25
/simpleUserdefined[name=method]/*ID/method/name,//method/name,
20 26
//project/title[@id=name],//project/projectname,
21 27
//project/title[@id=sourceAccessionCode],//project/sourceaccessioncode,
28
//plot/plotName,/authorlocationcode,
22 29
//*s/communityDetermination/*s/communityConcept/commonName,//*/commname,
23 30
//*s/communityDetermination/*s/communityConcept/name,//commconcept/commdescription,
24 31
/obsEndDate,/obsenddate,
25 32
/obsStartDate,/obsstartdate,
33
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_alt/1,
34
//plot/plotName,//location/sourceaccessioncode/_alt/2,
35
//plot/plotName,//locationevent/authorlocationcode,
36
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
26 37
/simpleUserdefined[name=precipitation]/value,/precipitation,
27 38
//*s/abioticObservation/simpleUserdefined[name=acidity]/value,//soilobs/acidity,
28 39
//*s/abioticObservation/simpleUserdefined[name=base]/value,//soilobs/basesaturation,
......
41 52
//*s/abioticObservation/simpleUserdefined[name=silt]/value,//soilobs/silt,
42 53
//*s/abioticObservation/simpleUserdefined[name=sodium]/value,//soilobs/sodium,
43 54
//*s/abioticObservation/simpleUserdefined[name=texture]/value,//soilobs/texture,
55
//plot/plotUniqueIdentifier,/sourceaccessioncode,
44 56
/temperature,/temperature,
45 57
//geospatial/maximumDepthInMeters,/waterdepth/_avg/max/_units/value,
46 58
//geospatial/minimumDepthInMeters,/waterdepth/_avg/min/_units/value,
47
//plot/plotName,"/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
48
//plot/plotName,"/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
49
//plot/plotUniqueIdentifier,"/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
50
//plot/plotUniqueIdentifier,"/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
mappings/for_review/VegX-VegBIEN.organisms.csv
1 1
"VegX::[@xmlns:tcs=""http://www.tdwg.org/schemas/tcs/1.01""]/*s/individualOrganismObservation",VegBIEN:/plantobservation,Comments
2 2
//plot/area,//location/area,
3 3
//geospatial/verbatimElevation,//location/elevation/_alt/1,
4
//geospatial/maximumElevationInMeters,//location/elevation/_alt/2/_avg/max/_units/value/_rangeEnd/value,
5
//geospatial/minimumElevationInMeters,//location/elevation/_alt/2/_avg/min/_units/value/_rangeStart/value,
6
//geospatial/minimumElevationInMeters,//location/elevationrange/_range/from/_units/value/_rangeStart/value,
7
//geospatial/maximumElevationInMeters,//location/elevationrange/_range/to/_units/value/_rangeEnd/value,
4 8
//plot/landform,//location/landform,
5 9
//geospatial/CoordinateUncertaintyInMeters,//locationdetermination/coordsaccuracy,
6 10
//geospatial/FootprintWKT,//locationdetermination/footprintgeometry_dwc,
......
14 18
//plot/note,//location/notespublic,
15 19
//plot/slopeAspect,//location/slopeaspect/_compass/value,
16 20
//plot/slopeGradient,//location/slopegradient,
17
//geospatial/maximumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max,elevationrange/_range/to}/_units/value/_rangeEnd/value",
18
//geospatial/minimumElevationInMeters,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units/value/_rangeStart/value",
21
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_merge/1/_alt/1,
22
//plot/plotName,//location/sourceaccessioncode/_merge/1/_alt/2,
23
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_merge/2/_alt/1,
24
//plot/plotName,//location/sourceaccessioncode/_merge/2/_alt/2,
19 25
//plotObservation/simpleUserdefined[name=method]/*ID/method/name,//method/name,
20 26
//project/title[@id=name],//project/projectname,
21 27
//project/title[@id=sourceAccessionCode],//project/sourceaccessioncode,
28
//plot/plotName,//locationevent/authorlocationcode,
22 29
//*s/communityDetermination/*s/communityConcept/commonName,//*/commname,
23 30
//*s/communityDetermination/*s/communityConcept/name,//commconcept/commdescription,
24 31
//plotObservation/obsEndDate,//locationevent/obsenddate,
25 32
//plotObservation/obsStartDate,//locationevent/obsstartdate,
33
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_alt/1,
34
//plot/plotName,//location/sourceaccessioncode/_alt/2,
35
//plot/plotName,//locationevent/authorlocationcode,
36
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
26 37
//plotObservation/simpleUserdefined[name=precipitation]/value,//locationevent/precipitation,
27 38
//*s/abioticObservation/simpleUserdefined[name=acidity]/value,//soilobs/acidity,
28 39
//*s/abioticObservation/simpleUserdefined[name=base]/value,//soilobs/basesaturation,
......
41 52
//*s/abioticObservation/simpleUserdefined[name=silt]/value,//soilobs/silt,
42 53
//*s/abioticObservation/simpleUserdefined[name=sodium]/value,//soilobs/sodium,
43 54
//*s/abioticObservation/simpleUserdefined[name=texture]/value,//soilobs/texture,
55
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
44 56
//plotObservation/temperature,//locationevent/temperature,
45 57
//geospatial/maximumDepthInMeters,//locationevent/waterdepth/_avg/max/_units/value,
46 58
//geospatial/minimumDepthInMeters,//locationevent/waterdepth/_avg/min/_units/value,
47
//plot/plotName,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
48
//plot/plotName,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
49
//plot/plotUniqueIdentifier,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
50
//plot/plotUniqueIdentifier,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
51 59
/simpleUserdefined[name=growthForm]/value,//taxonoccurrence/growthform,
60
//*s/taxonConcept[tcs:@code=binom]/tcs:Name,//taxonoccurrence/sourceaccessioncode/_alt/3,
52 61
//*s/taxonConcept[tcs:@code=TaxonomicRankBelowSubspeciesEnum]/tcs:Rank,"//taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
53 62
//*s/taxonConcept[tcs:@code=auth]/tcs:Name,"//taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
54 63
//*s/taxonConcept[tcs:@code=TaxonomicRankBelowSubspeciesEnum]/tcs:Name,"//taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/last",
......
58 67
//*s/taxonConcept[tcs:@code=binom]/fit,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/last",
59 68
//*s/taxonConcept[tcs:@code=ssp]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",
60 69
//*s/taxonConcept[tcs:@code=binom]/fit,//taxonoccurrence/taxondetermination[role=identifier]/taxonfit,
70
//*s/taxonConcept[tcs:@code=binom]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first",
61 71
//*s/taxonConcept[tcs:@code=auth]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
62 72
//*s/taxonConcept[tcs:@code=sp]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
63 73
//*s/taxonConcept[tcs:@code=gen]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
......
68 78
//*s/taxonConcept[tcs:@code=reg]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",
69 79
//individualName/givenName,//taxonoccurrence/verbatimcollectorname/_name/first,
70 80
//individualName/surName,//taxonoccurrence/verbatimcollectorname/_name/last,
71
//*s/taxonConcept[tcs:@code=binom]/tcs:Name,"/*_id/aggregateoccurrence/*_id/taxonoccurrence/{taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first,sourceaccessioncode/_alt/3}",
72 81
//*s/aggregateOrganismObservation/*/aggregateValue/value,//aggregateoccurrence/count,
73 82
//ordinal/coverPercent,//aggregateoccurrence/cover,
74 83
/simpleUserdefined[name=censusNo]/value,"//aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]/definedvalue",
75 84
//volumeCanopy/value,//aggregateoccurrence/linecover,
85
/simpleUserdefined[name=sourceAccessionCode]/value,//taxonoccurrence/sourceaccessioncode/_alt/1,"""{"" sorts it with other _ifs"
86
/simpleUserdefined[name=authorPlantCode]/value,//taxonoccurrence/sourceaccessioncode/_alt/2,"""{"" sorts it with other _ifs"
87
/simpleUserdefined[name=authorPlantCode]/value,/authorplantcode,"""{"" sorts it with other _ifs"
76 88
/height,/overallheight,
77 89
/simpleUserdefined[name=height]/value,/overallheight,
90
/simpleUserdefined[name=sourceAccessionCode]/value,/sourceaccessioncode,"""{"" sorts it with other _ifs"
78 91
//individualOrganism/identificationLabel[@id=1],"//stemobservation/stemtag[""""/2=true]/tag",Quotes sort it before tag2
79 92
//individualOrganism/identificationLabel[@id=2],//stemobservation/stemtag[iscurrent=true]:[../stemtag?[2=true]/1=false]/tag,
80 93
//relativePlotPosition/relativeX,//stemobservation/xposition,
81 94
//relativePlotPosition/relativeY,//stemobservation/yposition,
82
//taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/catalognumber_dwc","""{.}"" sorts it with other _ifs"
83
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/collectiondate","""{.}"" sorts it with other _ifs"
95
//taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
96
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
97
//taxonNameUsageConcept/voucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
98
/simpleUserdefined[name=collectionDate]/value,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
84 99
//*s/taxonDetermination[role=collector]/groupType,/{.}/_ignore/voucherType,"""{"" sorts it after what uses it, so the _ignore is executed after the _refs"
85
/simpleUserdefined[name=authorPlantCode]/value,"/{authorplantcode,*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/2}","""{"" sorts it with other _ifs"
86
/simpleUserdefined[name=sourceAccessionCode]/value,"/{sourceaccessioncode,*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/1}","""{"" sorts it with other _ifs"
mappings/for_review/VegX-VegBIEN.stems.csv
1 1
"VegX::[@xmlns:tcs=""http://www.tdwg.org/schemas/tcs/1.01""]/*s/individualOrganismObservation[relatedIndividual/relatedItem[itemRelationship=stemParent]/relatedItemID]",VegBIEN:/stemobservation,Comments
2 2
//plot/area,//location/area,
3 3
//geospatial/verbatimElevation,//location/elevation/_alt/1,
4
//geospatial/maximumElevationInMeters,//location/elevation/_alt/2/_avg/max/_units/value/_rangeEnd/value,
5
//geospatial/minimumElevationInMeters,//location/elevation/_alt/2/_avg/min/_units/value/_rangeStart/value,
6
//geospatial/minimumElevationInMeters,//location/elevationrange/_range/from/_units/value/_rangeStart/value,
7
//geospatial/maximumElevationInMeters,//location/elevationrange/_range/to/_units/value/_rangeEnd/value,
4 8
//plot/landform,//location/landform,
5 9
//geospatial/CoordinateUncertaintyInMeters,//locationdetermination/coordsaccuracy,
6 10
//geospatial/FootprintWKT,//locationdetermination/footprintgeometry_dwc,
......
14 18
//plot/note,//location/notespublic,
15 19
//plot/slopeAspect,//location/slopeaspect/_compass/value,
16 20
//plot/slopeGradient,//location/slopegradient,
17
//geospatial/maximumElevationInMeters,"/*_id/plantobservation/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max,elevationrange/_range/to}/_units/value/_rangeEnd/value",
18
//geospatial/minimumElevationInMeters,"/*_id/plantobservation/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units/value/_rangeStart/value",
21
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_merge/1/_alt/1,
22
//plot/plotName,//location/sourceaccessioncode/_merge/1/_alt/2,
23
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_merge/2/_alt/1,
24
//plot/plotName,//location/sourceaccessioncode/_merge/2/_alt/2,
19 25
//plotObservation/simpleUserdefined[name=method]/*ID/method/name,//method/name,
20 26
//project/title[@id=name],//project/projectname,
21 27
//project/title[@id=sourceAccessionCode],//project/sourceaccessioncode,
28
//plot/plotName,//locationevent/authorlocationcode,
22 29
//*s/communityDetermination/*s/communityConcept/commonName,//*/commname,
23 30
//*s/communityDetermination/*s/communityConcept/name,//commconcept/commdescription,
24 31
//plotObservation/obsEndDate,//locationevent/obsenddate,
25 32
//plotObservation/obsStartDate,//locationevent/obsstartdate,
33
//plot/plotUniqueIdentifier,//location/sourceaccessioncode/_alt/1,
34
//plot/plotName,//location/sourceaccessioncode/_alt/2,
35
//plot/plotName,//locationevent/authorlocationcode,
36
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
26 37
//plotObservation/simpleUserdefined[name=precipitation]/value,//locationevent/precipitation,
27 38
//*s/abioticObservation/simpleUserdefined[name=acidity]/value,//soilobs/acidity,
28 39
//*s/abioticObservation/simpleUserdefined[name=base]/value,//soilobs/basesaturation,
......
41 52
//*s/abioticObservation/simpleUserdefined[name=silt]/value,//soilobs/silt,
42 53
//*s/abioticObservation/simpleUserdefined[name=sodium]/value,//soilobs/sodium,
43 54
//*s/abioticObservation/simpleUserdefined[name=texture]/value,//soilobs/texture,
55
//plot/plotUniqueIdentifier,//locationevent/sourceaccessioncode,
44 56
//plotObservation/temperature,//locationevent/temperature,
45 57
//geospatial/maximumDepthInMeters,//locationevent/waterdepth/_avg/max/_units/value,
46 58
//geospatial/minimumDepthInMeters,//locationevent/waterdepth/_avg/min/_units/value,
47
//plot/plotName,"/*_id/plantobservation/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_merge/2/_alt/2}",
48
//plot/plotName,"/*_id/plantobservation/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{authorlocationcode,*_id/location/sourceaccessioncode/_alt/2},*_id/location/sourceaccessioncode/_merge/1/_alt/2}",
49
//plot/plotUniqueIdentifier,"/*_id/plantobservation/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{parent_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_alt/1},*_id/location/sourceaccessioncode/_merge/1/_alt/1}",
50
//plot/plotUniqueIdentifier,"/*_id/plantobservation/*_id/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{sourceaccessioncode,*_id/location/sourceaccessioncode/_merge/2/_alt/1}",
51 59
//individualOrganismObservation/simpleUserdefined[name=growthForm]/value,//taxonoccurrence/growthform,
60
//*s/taxonConcept[tcs:@code=binom]/tcs:Name,//taxonoccurrence/sourceaccessioncode/_alt/3,
52 61
//*s/taxonConcept[tcs:@code=TaxonomicRankBelowSubspeciesEnum]/tcs:Rank,"//taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
53 62
//*s/taxonConcept[tcs:@code=auth]/tcs:Name,"//taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
54 63
//*s/taxonConcept[tcs:@code=TaxonomicRankBelowSubspeciesEnum]/tcs:Name,"//taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/last",
......
58 67
//*s/taxonConcept[tcs:@code=binom]/fit,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/last",
59 68
//*s/taxonConcept[tcs:@code=ssp]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",
60 69
//*s/taxonConcept[tcs:@code=binom]/fit,//taxonoccurrence/taxondetermination[role=identifier]/taxonfit,
70
//*s/taxonConcept[tcs:@code=binom]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first",
61 71
//*s/taxonConcept[tcs:@code=auth]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",
62 72
//*s/taxonConcept[tcs:@code=sp]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
63 73
//*s/taxonConcept[tcs:@code=gen]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
......
68 78
//*s/taxonConcept[tcs:@code=reg]/tcs:Name,"//taxonoccurrence/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",
69 79
//individualName/givenName,//taxonoccurrence/verbatimcollectorname/_name/first,
70 80
//individualName/surName,//taxonoccurrence/verbatimcollectorname/_name/last,
71
//*s/taxonConcept[tcs:@code=binom]/tcs:Name,"/*_id/plantobservation/*_id/aggregateoccurrence/*_id/taxonoccurrence/{taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first,sourceaccessioncode/_alt/3}",
72 81
//*s/aggregateOrganismObservation/*/aggregateValue/value,//aggregateoccurrence/count,
73 82
//ordinal/coverPercent,//aggregateoccurrence/cover,
74 83
//individualOrganismObservation/simpleUserdefined[name=censusNo]/value,"//aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]/definedvalue",
75 84
//volumeCanopy/value,//aggregateoccurrence/linecover,
85
//individualOrganismObservation/simpleUserdefined[name=sourceAccessionCode]/value,//taxonoccurrence/sourceaccessioncode/_alt/1,"""{"" sorts it with other _ifs"
86
//individualOrganismObservation/simpleUserdefined[name=authorPlantCode]/value,//taxonoccurrence/sourceaccessioncode/_alt/2,"""{"" sorts it with other _ifs"
87
//individualOrganismObservation/simpleUserdefined[name=authorPlantCode]/value,//plantobservation/authorplantcode,"""{"" sorts it with other _ifs"
76 88
//individualOrganismObservation/height,//plantobservation/overallheight,
77 89
//individualOrganismObservation/simpleUserdefined[name=height]/value,//plantobservation/overallheight,
90
//individualOrganismObservation/simpleUserdefined[name=sourceAccessionCode]/value,//plantobservation/sourceaccessioncode,"""{"" sorts it with other _ifs"
78 91
//*s/aggregateOrganismObservation/*/aggregateValue/value,//plantobservation/stemcount,
79 92
//individualOrganism/identificationLabel[@id=1],"//stemobservation/stemtag[""""/2=true]/tag",Quotes sort it before tag2
80 93
//individualOrganism/identificationLabel[@id=2],//stemobservation/stemtag[iscurrent=true]:[../stemtag?[2=true]/1=false]/tag,
81 94
//relativePlotPosition/relativeX,//stemobservation/xposition,
82 95
//relativePlotPosition/relativeY,//stemobservation/yposition,
83
//taxonNameUsageConcept/voucher,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/catalognumber_dwc","""{.}"" sorts it with other _ifs"
84
//individualOrganismObservation/simpleUserdefined[name=collectionDate]/value,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/collectiondate","""{.}"" sorts it with other _ifs"
96
//taxonNameUsageConcept/voucher,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
97
//individualOrganismObservation/simpleUserdefined[name=collectionDate]/value,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/else/*_id/aggregateoccurrence/*_id/taxonoccurrence/voucher/*_id/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
98
//taxonNameUsageConcept/voucher,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/catalognumber_dwc","""{.}"" sorts it with other _ifs"
99
//individualOrganismObservation/simpleUserdefined[name=collectionDate]/value,"/*_id/plantobservation/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/then/specimenreplicate/collectiondate","""{.}"" sorts it with other _ifs"
85 100
//*s/taxonDetermination[role=collector]/groupType,/*_id/plantobservation/{.}/_ignore/voucherType,"""{"" sorts it after what uses it, so the _ignore is executed after the _refs"
86
//individualOrganismObservation/simpleUserdefined[name=authorPlantCode]/value,"/*_id/plantobservation/{authorplantcode,*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/2}","""{"" sorts it with other _ifs"
87
//individualOrganismObservation/simpleUserdefined[name=sourceAccessionCode]/value,"/*_id/plantobservation/{sourceaccessioncode,*_id/aggregateoccurrence/*_id/taxonoccurrence/sourceaccessioncode/_alt/1}","""{"" sorts it with other _ifs"
88 101
/diameterBaseDistance[value=0]/diameter,/basaldiameter,
89 102
/simpleUserdefined[name=canopyForm]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyForm]]/definedvalue",
90 103
/simpleUserdefined[name=canopyPosition]/value,"/definedvalue[*_id/userdefined[tablename=stemobservation,userdefinedname=canopyPosition]]/definedvalue",
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff