Project

General

Profile

« Previous | Next » 

Revision 3780

mappings/DwC2-VegBIEN.specimens.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/QMOR/maps/VegBIEN.specimens.csv
1 1
QMOR[DwC],VegBIEN:,Comments,Order
2
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value",,72
3
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71
4
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71
5
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1",,72
6
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value",,71
2 7
coordinateUncertaintyInMeters,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy/_noCV/value/_alt/1,,88
3 8
footprintWKT,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/footprintgeometry_dwc,,91
4 9
decimalLatitude,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/latitude/_alt/1/_nullIf:[null=0,type=float]/value",,85
......
11 16
continent,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",Brad: OMIT,59
12 17
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68
13 18
habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52
14
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value",,71
15
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1}",,72
16
eventDate,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/2",,44
19
id,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
20
institutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,,
21
collectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
22
catalogNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
23
eventDate,/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/2,,44
24
eventDate,/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/2,,44
25
catalogNumber,/specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
26
collectionCode,/specimenreplicate/collectioncode_dwc,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
17 27
collectionID,/specimenreplicate/collectionnumber/_alt/2,,9
18 28
sex,"/specimenreplicate/definedvalue[*_id/userdefined[tablename=specimenreplicate,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections",26
29
institutionCode,/specimenreplicate/institution_id/party/organizationname,,
30
id,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
19 31
dateIdentified,/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/2,,120
20
identifiedBy,"/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119
32
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119
33
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119
34
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119
21 35
scientificName,"/specimenreplicate/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","Brad: Bob, Nick, please is this mapping OK?",134
22 36
scientificNameAuthorship,"/specimenreplicate/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","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153
23 37
infraspecificEpithet,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,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",,150
......
29 43
phylum,"/specimenreplicate/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,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",,143
30 44
kingdom,"/specimenreplicate/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",,142
31 45
recordedBy,/specimenreplicate/verbatimcollectorname,,23
32
catalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
33
collectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
34
institutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",,
35
id,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
36 46
acceptedNameUsage,,** No non-empty join mapping for acceptedNameUsage ** 
37 47
basisOfRecord,,** No non-empty join mapping for basisOfRecord ** 
38 48
behavior,,** No non-empty join mapping for behavior ** 
mappings/for_review/DwC2-VegBIEN.specimens.csv
1 1
DwC,VegBIEN:,Comments,Order
2
maximumElevationInMeters,//location/elevation/_alt/2/_avg/max/_units/value,,72
3
minimumElevationInMeters,"//location/elevation/_alt/2/_avg/min/_units/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71
4
minimumElevationInMeters,"//location/elevationrange/_range/from/_units/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71
5
maximumElevationInMeters,//location/elevationrange/_range/to/_units/value/_alt/1,,72
6
minimumElevationInMeters,"//location/elevationrange/_range/to/_units/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value",,71
2 7
coordinateUncertaintyInMeters,//locationdetermination/coordsaccuracy/_noCV/value/_alt/1,,88
3 8
coordinatePrecision,//locationdetermination/coordsaccuracy/_noCV/value/_alt/2,,89
4 9
footprintWKT,//locationdetermination/footprintgeometry_dwc,,91
......
13 18
locality,//location/locationnarrative/_merge/1,,68
14 19
verbatimLocality,//location/locationnarrative/_merge/2,"Brad: Correct for VB; Nick, is there no specific element for locality description in VegX? Definitely need one.",69
15 20
habitat,"//location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52
16
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units/value/_rangeStart/value,elevationrange/_range/to/_units/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value",,71
17
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units/value,elevationrange/_range/to/_units/value/_alt/1}",,72
21
occurrenceID,//location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
22
institutionCode,//location/sourceaccessioncode/_alt/2/_merge/1,,
23
collectionCode,//location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
24
catalogNumber,//location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
25
eventDate,//locationevent/obsenddate/_*/date/_dateRangeEnd/value,,44
26
eventDate,//locationevent/obsstartdate/_*/date/_dateRangeStart/value,,44
18 27
maximumDepthInMeters,//locationevent/waterdepth/_avg/max/_units/value,,75
19 28
minimumDepthInMeters,//locationevent/waterdepth/_avg/min/_units/value,,74
20
eventDate,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value",,44
29
catalogNumber,//specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
30
collectionCode,//specimenreplicate/collectioncode_dwc,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
21 31
recordNumber,//specimenreplicate/collectionnumber/_alt/1,,22
22 32
collectionID,//specimenreplicate/collectionnumber/_alt/2,,9
23 33
fieldNumber,//specimenreplicate/collectionnumber/_alt/3,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?",53
24 34
sex,"//specimenreplicate/definedvalue[*_id/userdefined[tablename=specimenreplicate,userdefinedname=sex]]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections",26
25 35
fieldNotes,//specimenreplicate/description/_merge/1,,
26 36
taxonRemarks,//specimenreplicate/description/_merge/2,,158
37
establishmentMeans,//specimenreplicate/growthform/_map/value,,30
38
institutionCode,//party/organizationname,,
39
establishmentMeans,//specimenreplicate/iscultivated/_map/value,,30
40
establishmentMeans,//specimenreplicate/isnative/_map/value,,30
41
occurrenceID,//specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
27 42
dateIdentified,//specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value,,120
28
identifiedBy,"//specimenreplicate/taxondetermination[role=identifier]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119
43
identifiedBy,//specimenreplicate/taxondetermination[role=identifier]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119
44
identifiedBy,//specimenreplicate/taxondetermination[role=identifier]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119
45
identifiedBy,//specimenreplicate/taxondetermination[role=identifier]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119
29 46
scientificName,"//specimenreplicate/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname","Brad: Bob, Nick, please is this mapping OK?",134
30 47
scientificNameAuthorship,"//specimenreplicate/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153
31 48
infraspecificEpithet,"//specimenreplicate/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname",,150
......
37 54
phylum,"//specimenreplicate/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",,143
38 55
kingdom,"//specimenreplicate/taxondetermination[role=identifier]/*_id/plantconcept/plantname_id/_simplifyPath/path/_forEach:[do=""plantname[rank=_val]/parent_id""]/plantname[rank=kingdom]/plantname",,142
39 56
recordedBy,//specimenreplicate/verbatimcollectorname,,23
40
catalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
41
collectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
42
establishmentMeans,"/specimenreplicate/{growthform/_map,iscultivated/_map,isnative/_map}/value",,30
43
institutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",,
44
occurrenceID,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
45 57
acceptedNameUsage,,,135
46 58
acceptedNameUsageID,,,128
47 59
associatedMedia,,,36
mappings/DwC.cs-VegBIEN.specimens.csv
1 1
DwC,VegBIEN:,Comments,Order
2
maximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value",,72
3
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value",,72
4
minimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71
5
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71
6
minimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71
7
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71
8
maximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1",,72
9
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1",,72
10
minimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value",,71
11
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value",,71
2 12
coordinateUncertaintyInMeters,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy/_noCV/value/_alt/1,,88
3 13
coordinatePrecision,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy/_noCV/value/_alt/2,,89
4 14
boundingBox,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/footprintgeometry_dwc,,91
......
18 28
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68
19 29
verbatimLocality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/2,"Brad: Correct for VB; Nick, is there no specific element for locality description in VegX? Definitely need one.",69
20 30
habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52
21
minimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value",,71
22
minimumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value",,71
23
maximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1}",,72
24
maximumElevationInMeters,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1}",,72
31
globalUniqueIdentifier,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
32
id,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
33
occurrenceID,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
34
institutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,,
35
collectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
36
catalogNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
37
eventDate/_alt,/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt,Allow datasource to define custom eventDate mappings that don't pass through the default eventDate mapping,44
38
dayCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
39
monthCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
40
yearCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
41
eventDate,/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/2,,44
42
collectedDate,/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/3,,44
43
eventDate/_alt,/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt,Allow datasource to define custom eventDate mappings that don't pass through the default eventDate mapping,44
44
dayCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
45
monthCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
46
yearCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
47
eventDate,/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/2,,44
48
collectedDate,/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/3,,44
25 49
maximumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",,75
26 50
maximumDepthInMeters,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",,75
27 51
minimumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",,74
28 52
minimumDepthInMeters,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",,74
29
eventDate/_alt,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt",Allow datasource to define custom eventDate mappings that don't pass through the default eventDate mapping,44
30
dayCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
31
monthCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
32
yearCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
33
eventDate,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/2",,44
34
collectedDate,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/3",,44
53
catalogNumber,/specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
54
collectionCode,/specimenreplicate/collectioncode_dwc,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
35 55
collectorNumber,/specimenreplicate/collectionnumber/_alt/1/_alt/1,,22
36 56
recordNumber,/specimenreplicate/collectionnumber/_alt/1/_alt/2,,22
37 57
collectionID,/specimenreplicate/collectionnumber/_alt/2,,9
......
41 61
notes,/specimenreplicate/description/_merge/1,,
42 62
remarks,/specimenreplicate/description/_merge/2,,158
43 63
taxonRemarks,/specimenreplicate/description/_merge/2,,158
64
establishmentMeans,"/specimenreplicate/growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=]/value",,30
65
institutionCode,/specimenreplicate/institution_id/party/organizationname,,
66
establishmentMeans,"/specimenreplicate/iscultivated/_map:[cultivated=t,wild=f,*=]/value",,30
67
establishmentMeans,"/specimenreplicate/isnative/_map:[native=t,exotic=f,*=]/value",,30
68
globalUniqueIdentifier,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
69
id,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
70
occurrenceID,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
44 71
dateIdentified/_alt,/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt,Allow datasource to define custom dateIdentified mappings that don't pass through the default dateIdentified mapping,120
45 72
dayIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,120
46 73
monthIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,120
47 74
yearIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,120
48 75
dateIdentified,/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/2,,120
49 76
identifiedDate,/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/3,,120
50
identifiedBy,"/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119
77
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119
78
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119
79
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119
51 80
scientificName,"/specimenreplicate/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","Brad: Bob, Nick, please is this mapping OK?",134
52 81
scientificNameAuthor,"/specimenreplicate/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","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153
53 82
scientificNameAuthorship,"/specimenreplicate/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","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153
......
63 92
kingdom,"/specimenreplicate/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",,142
64 93
collector,/specimenreplicate/verbatimcollectorname,,23
65 94
recordedBy,/specimenreplicate/verbatimcollectorname,,23
66
catalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
67
collectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
68
establishmentMeans,"/specimenreplicate/{growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=],iscultivated/_map:[cultivated=t,wild=f,*=],isnative/_map:[native=t,exotic=f,*=]}/value",,30
69
institutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",,
70
globalUniqueIdentifier,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
71
id,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
72
occurrenceID,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
73 95
acceptedNameUsage,,,135
74 96
acceptedNameUsageID,,,128
75 97
accessRights,,** No non-empty join mapping for dcterms:accessRights ** Versions without namespace
inputs/MT/test/import.specimens.xml.ref
37 37
                        <locationnarrative><_merge><1>$locality</1></_merge></locationnarrative>
38 38
                        <sourceaccessioncode>
39 39
                            <_alt>
40
                                <1>$id</1>
40 41
                                <2>
41 42
                                    <_merge>
43
                                        <1>$institutionCode</1>
42 44
                                        <2>$collectionCode</2>
43
                                        <1>$institutionCode</1>
44 45
                                    </_merge>
45 46
                                </2>
46
                                <1>$id</1>
47 47
                            </_alt>
48 48
                        </sourceaccessioncode>
49 49
                    </location>
50 50
                </location_id>
51 51
            </locationevent>
52 52
        </locationevent_id>
53
        <collectioncode_dwc>$collectionCode</collectioncode_dwc>
53 54
        <collectionnumber><_alt><2>$collectionID</2></_alt></collectionnumber>
55
        <growthform>
56
            <_map>
57
                <tree>*</tree>
58
                <shrub>*</shrub>
59
                <liana>*</liana>
60
                <vine>*</vine>
61
                <herb>*</herb>
62
                <hemiepiphyte>*</hemiepiphyte>
63
                <epiphyte>*</epiphyte>
64
                <grass>*</grass>
65
                <forb>*</forb>
66
                <moss>*</moss>
67
                <lichen>*</lichen>
68
                <fungus>*</fungus>
69
                <floating aquatic>*</floating aquatic>
70
                <submerged aquatic>*</submerged aquatic>
71
                <*></*>
72
                <value>$establishmentMeans</value>
73
            </_map>
74
        </growthform>
75
        <institution_id><party><organizationname>$institutionCode</organizationname></party></institution_id>
76
        <iscultivated>
77
            <_map>
78
                <cultivated>t</cultivated>
79
                <wild>f</wild>
80
                <*></*>
81
                <value>$establishmentMeans</value>
82
            </_map>
83
        </iscultivated>
84
        <isnative>
85
            <_map>
86
                <native>t</native>
87
                <exotic>f</exotic>
88
                <*></*>
89
                <value>$establishmentMeans</value>
90
            </_map>
91
        </isnative>
92
        <sourceaccessioncode>$id</sourceaccessioncode>
54 93
        <taxondetermination>
55 94
            <isoriginal>true</isoriginal>
56 95
            <iscurrent>true</iscurrent>
......
98 137
                </plantconcept>
99 138
            </plantconcept_id>
100 139
        </taxondetermination>
101
        <collectioncode_dwc>$collectionCode</collectioncode_dwc>
102
        <growthform>
103
            <_map>
104
                <tree>*</tree>
105
                <shrub>*</shrub>
106
                <liana>*</liana>
107
                <vine>*</vine>
108
                <herb>*</herb>
109
                <hemiepiphyte>*</hemiepiphyte>
110
                <epiphyte>*</epiphyte>
111
                <grass>*</grass>
112
                <forb>*</forb>
113
                <moss>*</moss>
114
                <lichen>*</lichen>
115
                <fungus>*</fungus>
116
                <floating aquatic>*</floating aquatic>
117
                <submerged aquatic>*</submerged aquatic>
118
                <*></*>
119
                <value>$establishmentMeans</value>
120
            </_map>
121
        </growthform>
122
        <iscultivated>
123
            <_map>
124
                <cultivated>t</cultivated>
125
                <wild>f</wild>
126
                <*></*>
127
                <value>$establishmentMeans</value>
128
            </_map>
129
        </iscultivated>
130
        <isnative>
131
            <_map>
132
                <native>t</native>
133
                <exotic>f</exotic>
134
                <*></*>
135
                <value>$establishmentMeans</value>
136
            </_map>
137
        </isnative>
138
        <institution_id><party><organizationname>$institutionCode</organizationname></party></institution_id>
139
        <sourceaccessioncode>$id</sourceaccessioncode>
140 140
    </specimenreplicate>
141 141
</VegBIEN>
142 142
Inserted 16 new rows into database
inputs/MT/maps/VegBIEN.specimens.csv
1 1
MT[DwC],VegBIEN:,Comments,Order
2 2
continent,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",Brad: OMIT,59
3 3
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68
4
id,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
5
institutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,,
6
collectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
7
collectionCode,/specimenreplicate/collectioncode_dwc,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
4 8
collectionID,/specimenreplicate/collectionnumber/_alt/2,,9
9
establishmentMeans,"/specimenreplicate/growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=]/value",,30
10
institutionCode,/specimenreplicate/institution_id/party/organizationname,,
11
establishmentMeans,"/specimenreplicate/iscultivated/_map:[cultivated=t,wild=f,*=]/value",,30
12
establishmentMeans,"/specimenreplicate/isnative/_map:[native=t,exotic=f,*=]/value",,30
13
id,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
5 14
genus,"/specimenreplicate/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",,147
6 15
family,"/specimenreplicate/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",,146
7
collectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
8
establishmentMeans,"/specimenreplicate/{growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=],iscultivated/_map:[cultivated=t,wild=f,*=],isnative/_map:[native=t,exotic=f,*=]}/value",,30
9
institutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",,
10
id,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
11 16
basisOfRecord,,** No non-empty join mapping for basisOfRecord ** 
12 17
countryCode,,** No non-empty join mapping for countryCode ** 
13 18
datasetName,,** No non-empty join mapping for datasetName ** 
inputs/XAL/test/import.specimens.xml.ref
5 5
            <locationevent>
6 6
                <location_id>
7 7
                    <location>
8
                        <locationdetermination>
9
                            <coordsaccuracy><_noCV><value><_alt><2>$CoordinatePrecision</2></_alt></value></_noCV></coordsaccuracy>
10
                            <latitude>
11
                                <_alt>
12
                                    <1>
13
                                        <_nullIf>
14
                                            <null>0</null>
15
                                            <type>float</type>
16
                                            <value>$Latitude</value>
17
                                        </_nullIf>
18
                                    </1>
19
                                </_alt>
20
                            </latitude>
21
                            <longitude>
22
                                <_alt>
23
                                    <1>
24
                                        <_nullIf>
25
                                            <null>0</null>
26
                                            <type>float</type>
27
                                            <value>$Longitude</value>
28
                                        </_nullIf>
29
                                    </1>
30
                                </_alt>
31
                            </longitude>
32
                            <namedplace_id>
33
                                <_simplifyPath>
34
                                    <next>parent_id/namedplace</next>
35
                                    <require>placename</require>
36
                                    <path>
37
                                        <namedplace>
38
                                            <rank>county</rank>
39
                                            <placename>$County</placename>
40
                                            <parent_id>
41
                                                <namedplace>
42
                                                    <rank>stateProvince</rank>
43
                                                    <placename>$StateProvince</placename>
44
                                                    <parent_id>
45
                                                        <namedplace>
46
                                                            <rank>country</rank>
47
                                                            <placename>$Country</placename>
48
                                                            <parent_id>
49
                                                                <namedplace>
50
                                                                    <rank>continent</rank>
51
                                                                    <placename>$ContinentOcean</placename>
52
                                                                </namedplace>
53
                                                            </parent_id>
54
                                                        </namedplace>
55
                                                    </parent_id>
56
                                                </namedplace>
57
                                            </parent_id>
58
                                        </namedplace>
59
                                    </path>
60
                                </_simplifyPath>
61
                            </namedplace_id>
62
                        </locationdetermination>
63
                        <locationnarrative><_merge><1>$Locality</1></_merge></locationnarrative>
64 8
                        <elevation>
65 9
                            <_alt>
66 10
                                <2>
67 11
                                    <_avg>
12
                                        <max>
13
                                            <_units>
14
                                                <default>m</default>
15
                                                <to>m</to>
16
                                                <to></to>
17
                                                <value>$MaximumElevation</value>
18
                                            </_units>
19
                                        </max>
68 20
                                        <min>
69 21
                                            <_units>
70 22
                                                <default>m</default>
......
82 34
                                                </value>
83 35
                                            </_units>
84 36
                                        </min>
85
                                        <max>
86
                                            <_units>
87
                                                <default>m</default>
88
                                                <to>m</to>
89
                                                <to></to>
90
                                                <value>$MaximumElevation</value>
91
                                            </_units>
92
                                        </max>
93 37
                                    </_avg>
94 38
                                </2>
95 39
                            </_alt>
......
120 64
                                        <to></to>
121 65
                                        <value>
122 66
                                            <_alt>
67
                                                <1>$MaximumElevation</1>
123 68
                                                <2>
124 69
                                                    <_rangeEnd>
125 70
                                                        <value>
......
130 75
                                                        </value>
131 76
                                                    </_rangeEnd>
132 77
                                                </2>
133
                                                <1>$MaximumElevation</1>
134 78
                                            </_alt>
135 79
                                        </value>
136 80
                                    </_units>
137 81
                                </to>
138 82
                            </_range>
139 83
                        </elevationrange>
84
                        <locationdetermination>
85
                            <coordsaccuracy><_noCV><value><_alt><2>$CoordinatePrecision</2></_alt></value></_noCV></coordsaccuracy>
86
                            <latitude>
87
                                <_alt>
88
                                    <1>
89
                                        <_nullIf>
90
                                            <null>0</null>
91
                                            <type>float</type>
92
                                            <value>$Latitude</value>
93
                                        </_nullIf>
94
                                    </1>
95
                                </_alt>
96
                            </latitude>
97
                            <longitude>
98
                                <_alt>
99
                                    <1>
100
                                        <_nullIf>
101
                                            <null>0</null>
102
                                            <type>float</type>
103
                                            <value>$Longitude</value>
104
                                        </_nullIf>
105
                                    </1>
106
                                </_alt>
107
                            </longitude>
108
                            <namedplace_id>
109
                                <_simplifyPath>
110
                                    <next>parent_id/namedplace</next>
111
                                    <require>placename</require>
112
                                    <path>
113
                                        <namedplace>
114
                                            <rank>county</rank>
115
                                            <placename>$County</placename>
116
                                            <parent_id>
117
                                                <namedplace>
118
                                                    <rank>stateProvince</rank>
119
                                                    <placename>$StateProvince</placename>
120
                                                    <parent_id>
121
                                                        <namedplace>
122
                                                            <rank>country</rank>
123
                                                            <placename>$Country</placename>
124
                                                            <parent_id>
125
                                                                <namedplace>
126
                                                                    <rank>continent</rank>
127
                                                                    <placename>$ContinentOcean</placename>
128
                                                                </namedplace>
129
                                                            </parent_id>
130
                                                        </namedplace>
131
                                                    </parent_id>
132
                                                </namedplace>
133
                                            </parent_id>
134
                                        </namedplace>
135
                                    </path>
136
                                </_simplifyPath>
137
                            </namedplace_id>
138
                        </locationdetermination>
139
                        <locationnarrative><_merge><1>$Locality</1></_merge></locationnarrative>
140 140
                        <sourceaccessioncode>
141 141
                            <_alt>
142 142
                                <2>
143 143
                                    <_merge>
144
                                        <1>$InstitutionCode</1>
145
                                        <2>$CollectionCode</2>
144 146
                                        <3>$CatalogNumber</3>
145
                                        <2>$CollectionCode</2>
146
                                        <1>$InstitutionCode</1>
147 147
                                    </_merge>
148 148
                                </2>
149 149
                            </_alt>
150 150
                        </sourceaccessioncode>
151 151
                    </location>
152 152
                </location_id>
153
                <waterdepth>
154
                    <_avg>
155
                        <max>
156
                            <_units>
157
                                <default>m</default>
158
                                <to>m</to>
159
                                <to></to>
160
                                <value>$MaximumDepth</value>
161
                            </_units>
162
                        </max>
163
                        <min>
164
                            <_units>
165
                                <default>m</default>
166
                                <to>m</to>
167
                                <to></to>
168
                                <value>$MinimumDepth</value>
169
                            </_units>
170
                        </min>
171
                    </_avg>
172
                </waterdepth>
173
                <obsstartdate>
153
                <obsenddate>
174 154
                    <_date>
175 155
                        <date>
176
                            <_dateRangeStart>
156
                            <_dateRangeEnd>
177 157
                                <value>
178 158
                                    <_alt>
179 159
                                        <1>
......
203 183
                                        </1>
204 184
                                    </_alt>
205 185
                                </value>
206
                            </_dateRangeStart>
186
                            </_dateRangeEnd>
207 187
                        </date>
208 188
                    </_date>
209
                </obsstartdate>
210
                <obsenddate>
189
                </obsenddate>
190
                <obsstartdate>
211 191
                    <_date>
212 192
                        <date>
213
                            <_dateRangeEnd>
193
                            <_dateRangeStart>
214 194
                                <value>
215 195
                                    <_alt>
216 196
                                        <1>
......
240 220
                                        </1>
241 221
                                    </_alt>
242 222
                                </value>
243
                            </_dateRangeEnd>
223
                            </_dateRangeStart>
244 224
                        </date>
245 225
                    </_date>
246
                </obsenddate>
226
                </obsstartdate>
227
                <waterdepth>
228
                    <_avg>
229
                        <max>
230
                            <_units>
231
                                <default>m</default>
232
                                <to>m</to>
233
                                <to></to>
234
                                <value>$MaximumDepth</value>
235
                            </_units>
236
                        </max>
237
                        <min>
238
                            <_units>
239
                                <default>m</default>
240
                                <to>m</to>
241
                                <to></to>
242
                                <value>$MinimumDepth</value>
243
                            </_units>
244
                        </min>
245
                    </_avg>
246
                </waterdepth>
247 247
            </locationevent>
248 248
        </locationevent_id>
249
        <catalognumber_dwc>$CatalogNumber</catalognumber_dwc>
250
        <collectioncode_dwc>$CollectionCode</collectioncode_dwc>
249 251
        <collectionnumber>
250 252
            <_alt>
251 253
                <1><_alt><1>$CollectorNumber</1></_alt></1>
......
262 264
            <definedvalue>$Sex</definedvalue>
263 265
        </definedvalue>
264 266
        <description><_merge><1>$Notes</1></_merge></description>
267
        <institution_id><party><organizationname>$InstitutionCode</organizationname></party></institution_id>
265 268
        <taxondetermination>
266 269
            <role>identifier</role>
267 270
            <determinationdate>
......
382 385
            </plantconcept_id>
383 386
        </taxondetermination>
384 387
        <verbatimcollectorname>$Collector</verbatimcollectorname>
385
        <catalognumber_dwc>$CatalogNumber</catalognumber_dwc>
386
        <collectioncode_dwc>$CollectionCode</collectioncode_dwc>
387
        <institution_id><party><organizationname>$InstitutionCode</organizationname></party></institution_id>
388 388
    </specimenreplicate>
389 389
</VegBIEN>
390 390
Inserted 41 new rows into database
inputs/XAL/maps/VegBIEN.specimens.csv
1 1
"XAL[DwC,darwin:]:/content/record/",VegBIEN:,Comments,Order
2
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value",,72
3
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71
4
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value",,71
5
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1",,72
6
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value",,71
2 7
CoordinatePrecision,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy/_noCV/value/_alt/2,,89
3 8
Latitude,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/latitude/_alt/1/_nullIf:[null=0,type=float]/value",,81
4 9
Longitude,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/longitude/_alt/1/_nullIf:[null=0,type=float]/value",,82
......
7 12
Country,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",Brad: Required; reject record if this field NULL,63
8 13
ContinentOcean,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",Brad: OMIT,59
9 14
Locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68
10
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value",,71
11
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1}",,72
15
InstitutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,,
16
CollectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
17
CatalogNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
18
DayCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
19
MonthCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
20
YearCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
21
DayCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
22
MonthCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
23
YearCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
12 24
MaximumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",,75
13 25
MinimumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",,74
14
DayCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
15
MonthCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
16
YearCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
26
CatalogNumber,/specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
27
CollectionCode,/specimenreplicate/collectioncode_dwc,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
17 28
CollectorNumber,/specimenreplicate/collectionnumber/_alt/1/_alt/1,,22
18 29
FieldNumber,/specimenreplicate/collectionnumber/_alt/3,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?",53
19 30
Sex,"/specimenreplicate/definedvalue[*_id/userdefined[tablename=specimenreplicate,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections",26
20 31
Notes,/specimenreplicate/description/_merge/1,,
32
InstitutionCode,/specimenreplicate/institution_id/party/organizationname,,
21 33
DayIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,120
22 34
MonthIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,120
23 35
YearIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,120
24
IdentifiedBy,"/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119
36
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119
37
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119
38
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119
25 39
ScientificName,"/specimenreplicate/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","Brad: Bob, Nick, please is this mapping OK?",134
26 40
ScientificNameAuthor,"/specimenreplicate/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","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153
27 41
Subspecies,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,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",,150
......
33 47
Phylum,"/specimenreplicate/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,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",,143
34 48
Kingdom,"/specimenreplicate/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",,142
35 49
Collector,/specimenreplicate/verbatimcollectorname,,23
36
CatalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
37
CollectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
38
InstitutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",,
39 50
BasisOfRecord,,** No non-empty join mapping for BasisOfRecord ** 
40 51
DateLastModified,,** No non-empty join mapping for DateLastModified ** 
41 52
IndividualCount,,** No non-empty join mapping for IndividualCount ** 
inputs/NY/test/import.specimens.xml.ref
5 5
            <locationevent>
6 6
                <location_id>
7 7
                    <location>
8
                        <elevation>
9
                            <_alt>
10
                                <2>
11
                                    <_avg>
12
                                        <max>
13
                                            <_units>
14
                                                <default>m</default>
15
                                                <to>m</to>
16
                                                <to></to>
17
                                                <value>$MaximumElevation</value>
18
                                            </_units>
19
                                        </max>
20
                                        <min>
21
                                            <_units>
22
                                                <default>m</default>
23
                                                <to>m</to>
24
                                                <to></to>
25
                                                <value>
26
                                                    <_rangeStart>
27
                                                        <value>
28
                                                            <_replace>
29
                                                                <\bca\.?></\bca\.?>
30
                                                                <value>
31
                                                                    <_nullIf>
32
                                                                        <null>.</null>
33
                                                                        <value>$MinimumElevation</value>
34
                                                                    </_nullIf>
35
                                                                </value>
36
                                                            </_replace>
37
                                                        </value>
38
                                                    </_rangeStart>
39
                                                </value>
40
                                            </_units>
41
                                        </min>
42
                                    </_avg>
43
                                </2>
44
                            </_alt>
45
                        </elevation>
46
                        <elevationrange>
47
                            <_range>
48
                                <from>
49
                                    <_units>
50
                                        <default>m</default>
51
                                        <to>m</to>
52
                                        <to></to>
53
                                        <value>
54
                                            <_rangeStart>
55
                                                <value>
56
                                                    <_replace>
57
                                                        <\bca\.?></\bca\.?>
58
                                                        <value>
59
                                                            <_nullIf>
60
                                                                <null>.</null>
61
                                                                <value>$MinimumElevation</value>
62
                                                            </_nullIf>
63
                                                        </value>
64
                                                    </_replace>
65
                                                </value>
66
                                            </_rangeStart>
67
                                        </value>
68
                                    </_units>
69
                                </from>
70
                                <to>
71
                                    <_units>
72
                                        <default>m</default>
73
                                        <to>m</to>
74
                                        <to></to>
75
                                        <value>
76
                                            <_alt>
77
                                                <1>$MaximumElevation</1>
78
                                                <2>
79
                                                    <_rangeEnd>
80
                                                        <value>
81
                                                            <_replace>
82
                                                                <\bca\.?></\bca\.?>
83
                                                                <value>
84
                                                                    <_nullIf>
85
                                                                        <null>.</null>
86
                                                                        <value>$MinimumElevation</value>
87
                                                                    </_nullIf>
88
                                                                </value>
89
                                                            </_replace>
90
                                                        </value>
91
                                                    </_rangeEnd>
92
                                                </2>
93
                                            </_alt>
94
                                        </value>
95
                                    </_units>
96
                                </to>
97
                            </_range>
98
                        </elevationrange>
8 99
                        <locationdetermination>
9 100
                            <coordsaccuracy><_noCV><value><_alt><2>$CoordinatePrecision</2></_alt></value></_noCV></coordsaccuracy>
10 101
                            <footprintgeometry_dwc>$BoundingBox</footprintgeometry_dwc>
......
88 179
                                </3>
89 180
                            </_merge>
90 181
                        </locationnarrative>
91
                        <elevation>
92
                            <_alt>
93
                                <2>
94
                                    <_avg>
95
                                        <min>
96
                                            <_units>
97
                                                <default>m</default>
98
                                                <to>m</to>
99
                                                <to></to>
100
                                                <value>
101
                                                    <_rangeStart>
102
                                                        <value>
103
                                                            <_replace>
104
                                                                <\bca\.?></\bca\.?>
105
                                                                <value>
106
                                                                    <_nullIf>
107
                                                                        <null>.</null>
108
                                                                        <value>$MinimumElevation</value>
109
                                                                    </_nullIf>
110
                                                                </value>
111
                                                            </_replace>
112
                                                        </value>
113
                                                    </_rangeStart>
114
                                                </value>
115
                                            </_units>
116
                                        </min>
117
                                        <max>
118
                                            <_units>
119
                                                <default>m</default>
120
                                                <to>m</to>
121
                                                <to></to>
122
                                                <value>$MaximumElevation</value>
123
                                            </_units>
124
                                        </max>
125
                                    </_avg>
126
                                </2>
127
                            </_alt>
128
                        </elevation>
129
                        <elevationrange>
130
                            <_range>
131
                                <from>
132
                                    <_units>
133
                                        <default>m</default>
134
                                        <to>m</to>
135
                                        <to></to>
136
                                        <value>
137
                                            <_rangeStart>
138
                                                <value>
139
                                                    <_replace>
140
                                                        <\bca\.?></\bca\.?>
141
                                                        <value>
142
                                                            <_nullIf>
143
                                                                <null>.</null>
144
                                                                <value>$MinimumElevation</value>
145
                                                            </_nullIf>
146
                                                        </value>
147
                                                    </_replace>
148
                                                </value>
149
                                            </_rangeStart>
150
                                        </value>
151
                                    </_units>
152
                                </from>
153
                                <to>
154
                                    <_units>
155
                                        <default>m</default>
156
                                        <to>m</to>
157
                                        <to></to>
158
                                        <value>
159
                                            <_alt>
160
                                                <2>
161
                                                    <_rangeEnd>
162
                                                        <value>
163
                                                            <_replace>
164
                                                                <\bca\.?></\bca\.?>
165
                                                                <value>
166
                                                                    <_nullIf>
167
                                                                        <null>.</null>
168
                                                                        <value>$MinimumElevation</value>
169
                                                                    </_nullIf>
170
                                                                </value>
171
                                                            </_replace>
172
                                                        </value>
173
                                                    </_rangeEnd>
174
                                                </2>
175
                                                <1>$MaximumElevation</1>
176
                                            </_alt>
177
                                        </value>
178
                                    </_units>
179
                                </to>
180
                            </_range>
181
                        </elevationrange>
182 182
                        <sourceaccessioncode>
183 183
                            <_alt>
184
                                <1>$UniqueNYInternalRecordNumber</1>
184 185
                                <2>
185 186
                                    <_merge>
187
                                        <1>$InstitutionCode</1>
188
                                        <2>$CollectionCode</2>
186 189
                                        <3>$CatalogNumber</3>
187
                                        <2>$CollectionCode</2>
188
                                        <1>$InstitutionCode</1>
189 190
                                    </_merge>
190 191
                                </2>
191
                                <1>$UniqueNYInternalRecordNumber</1>
192 192
                            </_alt>
193 193
                        </sourceaccessioncode>
194 194
                    </location>
195 195
                </location_id>
196
                <waterdepth>
197
                    <_avg>
198
                        <max>
199
                            <_units>
200
                                <default>m</default>
201
                                <to>m</to>
202
                                <to></to>
203
                                <value>$MaximumDepth</value>
204
                            </_units>
205
                        </max>
206
                        <min>
207
                            <_units>
208
                                <default>m</default>
209
                                <to>m</to>
210
                                <to></to>
211
                                <value>$MinimumDepth</value>
212
                            </_units>
213
                        </min>
214
                    </_avg>
215
                </waterdepth>
216
                <obsstartdate>
196
                <obsenddate>
217 197
                    <_date>
218 198
                        <date>
219
                            <_dateRangeStart>
199
                            <_dateRangeEnd>
220 200
                                <value>
221 201
                                    <_alt>
222 202
                                        <1>
......
246 226
                                        </1>
247 227
                                    </_alt>
248 228
                                </value>
249
                            </_dateRangeStart>
229
                            </_dateRangeEnd>
250 230
                        </date>
251 231
                    </_date>
252
                </obsstartdate>
253
                <obsenddate>
232
                </obsenddate>
233
                <obsstartdate>
254 234
                    <_date>
255 235
                        <date>
256
                            <_dateRangeEnd>
236
                            <_dateRangeStart>
257 237
                                <value>
258 238
                                    <_alt>
259 239
                                        <1>
......
283 263
                                        </1>
284 264
                                    </_alt>
285 265
                                </value>
286
                            </_dateRangeEnd>
266
                            </_dateRangeStart>
287 267
                        </date>
288 268
                    </_date>
289
                </obsenddate>
269
                </obsstartdate>
270
                <waterdepth>
271
                    <_avg>
272
                        <max>
273
                            <_units>
274
                                <default>m</default>
275
                                <to>m</to>
276
                                <to></to>
277
                                <value>$MaximumDepth</value>
278
                            </_units>
279
                        </max>
280
                        <min>
281
                            <_units>
282
                                <default>m</default>
283
                                <to>m</to>
284
                                <to></to>
285
                                <value>$MinimumDepth</value>
286
                            </_units>
287
                        </min>
288
                    </_avg>
289
                </waterdepth>
290 290
            </locationevent>
291 291
        </locationevent_id>
292
        <catalognumber_dwc>$CatalogNumber</catalognumber_dwc>
293
        <collectioncode_dwc>$CollectionCode</collectioncode_dwc>
292 294
        <collectionnumber>
293 295
            <_alt>
294 296
                <1><_alt><1>$CollectorNumber</1></_alt></1>
......
319 321
                </1>
320 322
            </_merge>
321 323
        </description>
324
        <institution_id><party><organizationname>$InstitutionCode</organizationname></party></institution_id>
325
        <sourceaccessioncode>$UniqueNYInternalRecordNumber</sourceaccessioncode>
322 326
        <taxondetermination>
323 327
            <role>identifier</role>
324 328
            <determinationdate>
......
439 443
            </plantconcept_id>
440 444
        </taxondetermination>
441 445
        <verbatimcollectorname>$Collector</verbatimcollectorname>
442
        <catalognumber_dwc>$CatalogNumber</catalognumber_dwc>
443
        <collectioncode_dwc>$CollectionCode</collectioncode_dwc>
444
        <institution_id><party><organizationname>$InstitutionCode</organizationname></party></institution_id>
445
        <sourceaccessioncode>$UniqueNYInternalRecordNumber</sourceaccessioncode>
446 446
    </specimenreplicate>
447 447
</VegBIEN>
448 448
Inserted 33 new rows into database
inputs/NY/maps/VegBIEN.specimens.csv
1 1
NY[DwC],VegBIEN:,Comments,Order
2
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value",,72
3
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevation/_alt/2/_avg/min/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value/_nullIf:[null=.]/value",,71
4
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/from/_units:[default=m,to=m,to=]/value/_rangeStart/value/_replace[""\bca\.?""=]/value/_nullIf:[null=.]/value",,71
5
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1",,72
6
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value/_replace[""\bca\.?""=]/value/_nullIf:[null=.]/value",,71
2 7
CoordinatePrecision,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/coordsaccuracy/_noCV/value/_alt/2,,89
3 8
BoundingBox,/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/footprintgeometry_dwc,,91
4 9
Latitude,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/latitude/_alt/1/_nullIf:[null=0,type=float]/value",,81
......
11 16
Substrate,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1/_merge/2/_label[label=""substrate""]/value",,68
12 17
Vegetation,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1/_merge/3/_label[label=""vegetation""]/value",,68
13 18
Habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52
14
MinimumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{./{elevation/_alt/2/_avg/min,elevationrange/_range/from}/_units:[default=m,to=m,to=]/value/_rangeStart/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/2/_rangeEnd/value}/_replace[""\bca\.?""=]/value/_nullIf:[null=.]/value",,71
15
MaximumElevation,"/specimenreplicate/*_id/locationevent/*_id/location/{elevation/_alt/2/_avg/max/_units:[default=m,to=m,to=]/value,elevationrange/_range/to/_units:[default=m,to=m,to=]/value/_alt/1}",,72
19
UniqueNYInternalRecordNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
20
InstitutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,,
21
CollectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
22
CatalogNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
23
DayCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
24
MonthCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
25
YearCollected,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
26
DayCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
27
MonthCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
28
YearCollected,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
16 29
MaximumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/max/_units:[default=m,to=m,to=]/value",,75
17 30
MinimumDepth,"/specimenreplicate/*_id/locationevent/waterdepth/_avg/min/_units:[default=m,to=m,to=]/value",,74
18
DayCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
19
MonthCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
20
YearCollected,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
31
CatalogNumber,/specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
32
CollectionCode,/specimenreplicate/collectioncode_dwc,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
21 33
CollectorNumber,/specimenreplicate/collectionnumber/_alt/1/_alt/1,,22
22 34
FieldNumber,/specimenreplicate/collectionnumber/_alt/3,"Brad: Correct for VB, not sure about VX; Nick, is there an element in VX fo Collection Number?",53
23 35
Sex,"/specimenreplicate/definedvalue[*_id/userdefined[tablename=specimenreplicate,userdefinedname=sex]]:[@fkey=tablerecord_id]/definedvalue","Brad: OMIT. Apparently not used by this institution and of uncertain applicability to plants. With other collections, *sometimes* used for phenological information (if specimen in flower, in fruit, sterile, etc.). If so, this is important information we should keep. Bob, Nick, anywhere for phenological information in VB and VX?; Aaron: Keeping it because it's useful for some collections",26
24 36
Notes,/specimenreplicate/description/_merge/1/_merge/1,,
25 37
PlantFungusDescription,"/specimenreplicate/description/_merge/1/_merge/2/_label[label=""plant fungus""]/value",,
38
InstitutionCode,/specimenreplicate/institution_id/party/organizationname,,
39
UniqueNYInternalRecordNumber,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
26 40
DayIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,120
27 41
MonthIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,120
28 42
YearIdentified,"/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,120
29
IdentifiedBy,"/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119
43
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119
44
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119
45
IdentifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119
30 46
ScientificName,"/specimenreplicate/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","Brad: Bob, Nick, please is this mapping OK?",134
31 47
ScientificNameAuthor,"/specimenreplicate/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","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153
32 48
Subspecies,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,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",,150
......
38 54
Phylum,"/specimenreplicate/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,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",,143
39 55
Kingdom,"/specimenreplicate/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",,142
40 56
Collector,/specimenreplicate/verbatimcollectorname,,23
41
CatalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
42
CollectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
43
InstitutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",,
44
UniqueNYInternalRecordNumber,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
45 57
BasisOfRecord,,** No non-empty join mapping for BasisOfRecord ** 
46 58
DateLastModified,,** No non-empty join mapping for DateLastModified ** 
47 59
IndividualCount,,** No non-empty join mapping for IndividualCount ** 
inputs/UNCC/test/import.specimens.xml.ref
44 44
                        </locationnarrative>
45 45
                        <sourceaccessioncode>
46 46
                            <_alt>
47
                                <1>$accession</1>
47 48
                                <2><_merge><2>$herbarium</2></_merge></2>
48
                                <1>$accession</1>
49 49
                            </_alt>
50 50
                        </sourceaccessioncode>
51 51
                    </location>
52 52
                </location_id>
53
                <obsstartdate>
53
                <obsenddate>
54 54
                    <_date>
55 55
                        <date>
56
                            <_dateRangeStart>
56
                            <_dateRangeEnd>
57 57
                                <value>
58 58
                                    <_alt>
59 59
                                        <1>
......
83 83
                                        </1>
84 84
                                    </_alt>
85 85
                                </value>
86
                            </_dateRangeStart>
86
                            </_dateRangeEnd>
87 87
                        </date>
88 88
                    </_date>
89
                </obsstartdate>
90
                <obsenddate>
89
                </obsenddate>
90
                <obsstartdate>
91 91
                    <_date>
92 92
                        <date>
93
                            <_dateRangeEnd>
93
                            <_dateRangeStart>
94 94
                                <value>
95 95
                                    <_alt>
96 96
                                        <1>
......
120 120
                                        </1>
121 121
                                    </_alt>
122 122
                                </value>
123
                            </_dateRangeEnd>
123
                            </_dateRangeStart>
124 124
                        </date>
125 125
                    </_date>
126
                </obsenddate>
126
                </obsstartdate>
127 127
            </locationevent>
128 128
        </locationevent_id>
129
        <collectioncode_dwc>$herbarium</collectioncode_dwc>
129 130
        <collectionnumber><_alt><1><_alt><1>$collectno</1></_alt></1></_alt></collectionnumber>
130 131
        <description>
131 132
            <_merge>
......
157 158
                </1>
158 159
            </_merge>
159 160
        </description>
161
        <growthform>
162
            <_map>
163
                <tree>*</tree>
164
                <shrub>*</shrub>
165
                <liana>*</liana>
166
                <vine>*</vine>
167
                <herb>*</herb>
168
                <hemiepiphyte>*</hemiepiphyte>
169
                <epiphyte>*</epiphyte>
170
                <grass>*</grass>
171
                <forb>*</forb>
172
                <moss>*</moss>
173
                <lichen>*</lichen>
174
                <fungus>*</fungus>
175
                <floating aquatic>*</floating aquatic>
176
                <submerged aquatic>*</submerged aquatic>
177
                <*></*>
178
                <value>
179
                    <_map>
180
                        <Y>cultivated</Y>
181
                        <N>wild</N>
182
                        <*></*>
183
                        <value>$cultivated</value>
184
                    </_map>
185
                </value>
186
            </_map>
187
        </growthform>
188
        <iscultivated>
189
            <_map>
190
                <cultivated>t</cultivated>
191
                <wild>f</wild>
192
                <*></*>
193
                <value>
194
                    <_map>
195
                        <Y>cultivated</Y>
196
                        <N>wild</N>
197
                        <*></*>
198
                        <value>$cultivated</value>
199
                    </_map>
200
                </value>
201
            </_map>
202
        </iscultivated>
203
        <isnative>
204
            <_map>
205
                <native>t</native>
206
                <exotic>f</exotic>
207
                <*></*>
208
                <value>
209
                    <_map>
210
                        <Y>cultivated</Y>
211
                        <N>wild</N>
212
                        <*></*>
213
                        <value>$cultivated</value>
214
                    </_map>
215
                </value>
216
            </_map>
217
        </isnative>
218
        <sourceaccessioncode>$accession</sourceaccessioncode>
160 219
        <taxondetermination>
161 220
            <isoriginal>true</isoriginal>
162 221
            <iscurrent>true</iscurrent>
......
216 275
                <4>$collector3</4>
217 276
            </_merge>
218 277
        </verbatimcollectorname>
219
        <collectioncode_dwc>$herbarium</collectioncode_dwc>
220
        <growthform>
221
            <_map>
222
                <tree>*</tree>
223
                <shrub>*</shrub>
224
                <liana>*</liana>
225
                <vine>*</vine>
226
                <herb>*</herb>
227
                <hemiepiphyte>*</hemiepiphyte>
228
                <epiphyte>*</epiphyte>
229
                <grass>*</grass>
230
                <forb>*</forb>
231
                <moss>*</moss>
232
                <lichen>*</lichen>
233
                <fungus>*</fungus>
234
                <floating aquatic>*</floating aquatic>
235
                <submerged aquatic>*</submerged aquatic>
236
                <*></*>
237
                <value>
238
                    <_map>
239
                        <Y>cultivated</Y>
240
                        <N>wild</N>
241
                        <*></*>
242
                        <value>$cultivated</value>
243
                    </_map>
244
                </value>
245
            </_map>
246
        </growthform>
247
        <iscultivated>
248
            <_map>
249
                <cultivated>t</cultivated>
250
                <wild>f</wild>
251
                <*></*>
252
                <value>
253
                    <_map>
254
                        <Y>cultivated</Y>
255
                        <N>wild</N>
256
                        <*></*>
257
                        <value>$cultivated</value>
258
                    </_map>
259
                </value>
260
            </_map>
261
        </iscultivated>
262
        <isnative>
263
            <_map>
264
                <native>t</native>
265
                <exotic>f</exotic>
266
                <*></*>
267
                <value>
268
                    <_map>
269
                        <Y>cultivated</Y>
270
                        <N>wild</N>
271
                        <*></*>
272
                        <value>$cultivated</value>
273
                    </_map>
274
                </value>
275
            </_map>
276
        </isnative>
277
        <sourceaccessioncode>$accession</sourceaccessioncode>
278 278
    </specimenreplicate>
279 279
</VegBIEN>
280 280
Inserted 15 new rows into database
inputs/UNCC/maps/VegBIEN.specimens.csv
4 4
country,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",Brad: Required; reject record if this field NULL,63
5 5
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68
6 6
habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52
7
collday,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
8
collmonth,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
9
collyear,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
7
accession,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
8
herbarium,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
9
collday,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
10
collmonth,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
11
collyear,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
12
collday,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
13
collmonth,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
14
collyear,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
15
herbarium,/specimenreplicate/collectioncode_dwc,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
10 16
collectno,/specimenreplicate/collectionnumber/_alt/1/_alt/1,,22
11 17
comment1,/specimenreplicate/description/_merge/1/_merge/1,,
12 18
comment2,/specimenreplicate/description/_merge/1/_merge/2,,
......
15 21
campus,"/specimenreplicate/description/_merge/1/_merge/5/_label[label=""campus""]/value",,
16 22
loanto,"/specimenreplicate/description/_merge/1/_merge/6/_label[label=""loaned to""]/value",,
17 23
inorout,"/specimenreplicate/description/_merge/1/_merge/7/_label[label=""in or out""]/value",,
24
cultivated,"/specimenreplicate/growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=]/value/_map:[Y=cultivated,N=wild,*=]/value",Ignore other values,30
25
cultivated,"/specimenreplicate/iscultivated/_map:[cultivated=t,wild=f,*=]/value/_map:[Y=cultivated,N=wild,*=]/value",Ignore other values,30
26
cultivated,"/specimenreplicate/isnative/_map:[native=t,exotic=f,*=]/value/_map:[Y=cultivated,N=wild,*=]/value",Ignore other values,30
27
accession,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
18 28
SciName,"/specimenreplicate/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","Brad: Bob, Nick, please is this mapping OK?",134
19 29
authors,"/specimenreplicate/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","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153
20 30
infraname,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,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",,150
......
25 35
collector1,/specimenreplicate/verbatimcollectorname/_merge/2,,23
26 36
collector2,/specimenreplicate/verbatimcollectorname/_merge/3,,23
27 37
collector3,/specimenreplicate/verbatimcollectorname/_merge/4,,23
28
herbarium,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
29
cultivated,"/specimenreplicate/{growthform/_map:[./{tree,shrub,liana,vine,herb,hemiepiphyte,epiphyte,grass,forb,moss,lichen,fungus,""floating aquatic"",""submerged aquatic""}=*,*=],iscultivated/_map:[cultivated=t,wild=f,*=],isnative/_map:[native=t,exotic=f,*=]}/value/_map:[Y=cultivated,N=wild,*=]/value",Ignore other values,30
30
accession,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
31 38
filler,,"Where used, same as family"
32 39
flower,,"** No non-empty join mapping for reproductiveCondition/_map:[A=*,I=*,M=*]/value ** Main values are A, I, and M. What do they mean?"
33 40
fruit,,"** No non-empty join mapping for reproductiveCondition/_map:[A=*,I=*,M=*]/value ** Main values are A, I, and M. What do they mean?"
inputs/ACAD/test/import.specimens.xml.ref
72 72
                        </locationnarrative>
73 73
                        <sourceaccessioncode>
74 74
                            <_alt>
75
                                <1>$id</1>
75 76
                                <2>
76 77
                                    <_merge>
78
                                        <1>$institutionCode</1>
79
                                        <2>$collectionCode</2>
77 80
                                        <3>$catalogNumber</3>
78
                                        <2>$collectionCode</2>
79
                                        <1>$institutionCode</1>
80 81
                                    </_merge>
81 82
                                </2>
82
                                <1>$id</1>
83 83
                            </_alt>
84 84
                        </sourceaccessioncode>
85 85
                    </location>
86 86
                </location_id>
87
                <obsenddate><_date><date><_dateRangeEnd><value><_alt><2>$eventDate</2></_alt></value></_dateRangeEnd></date></_date></obsenddate>
87 88
                <obsstartdate><_date><date><_dateRangeStart><value><_alt><2>$eventDate</2></_alt></value></_dateRangeStart></date></_date></obsstartdate>
88
                <obsenddate><_date><date><_dateRangeEnd><value><_alt><2>$eventDate</2></_alt></value></_dateRangeEnd></date></_date></obsenddate>
89 89
            </locationevent>
90 90
        </locationevent_id>
91
        <catalognumber_dwc>$catalogNumber</catalognumber_dwc>
92
        <collectioncode_dwc>$collectionCode</collectioncode_dwc>
91 93
        <collectionnumber>
92 94
            <_alt>
93 95
                <1><_alt><2>$recordNumber</2></_alt></1>
94 96
                <2>$collectionID</2>
95 97
            </_alt>
96 98
        </collectionnumber>
99
        <institution_id><party><organizationname>$institutionCode</organizationname></party></institution_id>
100
        <sourceaccessioncode>$id</sourceaccessioncode>
97 101
        <taxondetermination>
98 102
            <role>identifier</role>
99 103
            <determinationdate><_date><date><_dateRangeStart><value><_alt><2>$dateIdentified</2></_alt></value></_dateRangeStart></date></_date></determinationdate>
......
178 182
            </plantconcept_id>
179 183
        </taxondetermination>
180 184
        <verbatimcollectorname>$recordedBy</verbatimcollectorname>
181
        <catalognumber_dwc>$catalogNumber</catalognumber_dwc>
182
        <collectioncode_dwc>$collectionCode</collectioncode_dwc>
183
        <institution_id><party><organizationname>$institutionCode</organizationname></party></institution_id>
184
        <sourceaccessioncode>$id</sourceaccessioncode>
185 185
    </specimenreplicate>
186 186
</VegBIEN>
187 187
Inserted 32 new rows into database
inputs/ACAD/maps/VegBIEN.specimens.csv
7 7
continent,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,country,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=continent]/placename",Brad: OMIT,59
8 8
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68
9 9
habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52
10
eventDate,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/2",,44
10
id,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
11
institutionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1,,
12
collectionCode,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
13
catalogNumber,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
14
eventDate,/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/2,,44
15
eventDate,/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/2,,44
16
catalogNumber,/specimenreplicate/catalognumber_dwc,"Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
17
collectionCode,/specimenreplicate/collectioncode_dwc,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
11 18
recordNumber,/specimenreplicate/collectionnumber/_alt/1/_alt/2,,22
12 19
collectionID,/specimenreplicate/collectionnumber/_alt/2,,9
20
institutionCode,/specimenreplicate/institution_id/party/organizationname,,
21
id,/specimenreplicate/sourceaccessioncode,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
13 22
dateIdentified,/specimenreplicate/taxondetermination[role=identifier]/determinationdate/_*/date/_dateRangeStart/value/_alt/2,,120
14
identifiedBy,"/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/{givenname/_namePart/first,middlename/_namePart/middle,surname/_namePart/last}",Brad: Bob: does this look correct for VegBank?,119
23
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/givenname/_namePart/first,Brad: Bob: does this look correct for VegBank?,119
24
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/middlename/_namePart/middle,Brad: Bob: does this look correct for VegBank?,119
25
identifiedBy,/specimenreplicate/taxondetermination[role=identifier]:[iscurrent=true]/*_id/party/surname/_namePart/last,Brad: Bob: does this look correct for VegBank?,119
15 26
scientificName,"/specimenreplicate/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","Brad: Bob, Nick, please is this mapping OK?",134
16 27
scientificNameAuthorship,"/specimenreplicate/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","Brad: Mapping probably incorrect. This DwC element refers to scientific name author; does not correspond to the VegBank and VegX elements you have listed (Bob, Nick�where does name author belong in VegBank and VegX?); Aaron: The mapped VegX element is the author linked to the taxon name, so it seems like this is the scientific name author",153
17 28
infraspecificEpithet,"/specimenreplicate/taxondetermination[role=identifier]:[isoriginal=true,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",,150
......
23 34
phylum,"/specimenreplicate/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,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subkingdom]/plantname",,143
24 35
kingdom,"/specimenreplicate/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",,142
25 36
recordedBy,/specimenreplicate/verbatimcollectorname,,23
26
catalogNumber,"/specimenreplicate/{catalognumber_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/3}","Brad: Not sure if mapping correct. Nick, is there an element for institutional accession codes in VegX?; Aaron: This can't be used as the accession code (primary key) because some rows don't have a value for it",20
27
collectionCode,"/specimenreplicate/{collectioncode_dwc,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2}",Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
28
institutionCode,"/specimenreplicate/{institution_id/party/organizationname,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/1}",,
29
id,"/specimenreplicate/{sourceaccessioncode,*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1}","Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
30 37
basisOfRecord,,** No non-empty join mapping for basisOfRecord ** 
31 38
bibliographicCitation,,** No non-empty join mapping for bibliographicCitation ** 
32 39
dynamicProperties,,** No non-empty join mapping for dynamicProperties ** 
inputs/REMIB/test/import.specimens.xml.ref
66 66
                        </locationnarrative>
67 67
                        <sourceaccessioncode>
68 68
                            <_alt>
69
                                <1>$accession_number</1>
69 70
                                <2><_merge><2>$acronym</2></_merge></2>
70
                                <1>$accession_number</1>
71 71
                            </_alt>
72 72
                        </sourceaccessioncode>
73 73
                    </location>
74 74
                </location_id>
75
                <obsstartdate>
75
                <obsenddate>
76 76
                    <_date>
77 77
                        <date>
78
                            <_dateRangeStart>
78
                            <_dateRangeEnd>
79 79
                                <value>
80 80
                                    <_alt>
81 81
                                        <1>
......
105 105
                                        </1>
106 106
                                    </_alt>
107 107
                                </value>
108
                            </_dateRangeStart>
108
                            </_dateRangeEnd>
109 109
                        </date>
110 110
                    </_date>
111
                </obsstartdate>
112
                <obsenddate>
111
                </obsenddate>
112
                <obsstartdate>
113 113
                    <_date>
114 114
                        <date>
115
                            <_dateRangeEnd>
115
                            <_dateRangeStart>
116 116
                                <value>
117 117
                                    <_alt>
118 118
                                        <1>
......
142 142
                                        </1>
143 143
                                    </_alt>
144 144
                                </value>
145
                            </_dateRangeEnd>
145
                            </_dateRangeStart>
146 146
                        </date>
147 147
                    </_date>
148
                </obsenddate>
148
                </obsstartdate>
149 149
            </locationevent>
150 150
        </locationevent_id>
151
        <collectioncode_dwc>$acronym</collectioncode_dwc>
152
        <sourceaccessioncode>$accession_number</sourceaccessioncode>
151 153
        <taxondetermination>
152 154
            <isoriginal>true</isoriginal>
153 155
            <iscurrent>true</iscurrent>
......
197 199
            </plantconcept_id>
198 200
        </taxondetermination>
199 201
        <verbatimcollectorname>$collector</verbatimcollectorname>
200
        <collectioncode_dwc>$acronym</collectioncode_dwc>
201
        <sourceaccessioncode>$accession_number</sourceaccessioncode>
202 202
    </specimenreplicate>
203 203
</VegBIEN>
204 204
Inserted 20 new rows into database
inputs/REMIB/maps/VegBIEN.specimens.csv
6 6
country,"/specimenreplicate/*_id/locationevent/*_id/location/locationdetermination/namedplace_id/_simplifyPath:[next=""parent_id/namedplace"",require=placename]/path/_forEach:[in:[county,stateProvince,],do=""namedplace[rank=_val]/parent_id""]/namedplace[rank=country]/placename",Brad: Required; reject record if this field NULL,63
7 7
locality,/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/1,,68
8 8
habitat,"/specimenreplicate/*_id/locationevent/*_id/location/locationnarrative/_merge/3/_label[label=""habitat""]/value","Brad: Free-text description of vegetation community where collected, frequently redundane wrt 'Vegetation'. Bob, Nick: keep as user defined or create special element?",52
9
coll_day,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
10
coll_month,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
11
coll_year,"/specimenreplicate/*_id/locationevent/{obsstartdate/_*/date/_dateRangeStart,obsenddate/_*/date/_dateRangeEnd}/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
9
accession_number,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/1,"Brad: OMIT; Aaron: We need this field because it is the only ID column with an entry in every row; Brad: OK, use this as primary key",19
10
acronym,/specimenreplicate/*_id/locationevent/*_id/location/sourceaccessioncode/_alt/2/_merge/2,Brad: Not sure if mapping correct. DwC element; code for entire collection; often same as InstitutionCode; Aaron: Combining with InstitutionCode to create collection name,12
11
coll_day,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
12
coll_month,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/month/_nullIf:[null=0,type=float]/value",,44
13
coll_year,"/specimenreplicate/*_id/locationevent/obsenddate/_*/date/_dateRangeEnd/value/_alt/1/_date/year/_nullIf:[null=0,type=float]/value",,44
14
coll_day,"/specimenreplicate/*_id/locationevent/obsstartdate/_*/date/_dateRangeStart/value/_alt/1/_date/day/_nullIf:[null=0,type=float]/value",,44
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff