Merge pull request #483 from tdwg/review2023

Review 2023
This commit is contained in:
John Wieczorek 2023-07-02 14:51:00 -03:00 committed by GitHub
commit 871007e1f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 23710 additions and 2680 deletions

View File

@ -2,31 +2,31 @@
![workflow diagram](workflow_diagram.png)
1. Download the CSV file for the terms in the namespace to be modified. The `dwc:` namespace terms are [here](https://github.com/tdwg/rs.tdwg.org/blob/master/terms/terms.csv), `dwciri:` terms are [here](https://github.com/tdwg/rs.tdwg.org/blob/master/iri/iri.csv), `dc:` terms are [here](https://github.com/tdwg/rs.tdwg.org/blob/master/dc-for-dwc/dc-for-dwc.csv), and the `dcterms:` terms are [here](https://github.com/tdwg/rs.tdwg.org/blob/master/dcterms-for-dwc/dcterms-for-dwc.csv).
2. **Note:** *It is highly recommended that you do not hand-edit the raw CSVs with a text editor. Use Libre Office or Open Office (NOT Excel). They will reliably open, close, and edit the file while preserving and escaping commas, quotes, etc. and also not mess up the UTF-8 encoding if you set them up properly.* Delete the columns that do not serve as input to the system. They are: `document_modified`, `term_isDefinedBy`, `term_created`, `term_modified`, `term_deprecated`, `replaces_term`, `replaces1_term`, and `replaces2_term`. That should leave `term_localName` and all of the columns starting with `label` and onwards to the right.
3. Delete any rows whose terms are not being modified.
4. Edit the cells whose values need to be changed.
5. If a new term is being added, fill in a new row anywhere below the header row.
6. Special care must be taken if columns are added (i.e. metadata properties are added). This is not for the faint of heart! The new columns must be added to every file used as source data for the various scripts and the column header mapping files also need to be edited. See [this page](for more details). This should be a rare event. DO NOT ever delete columns! If you want to elimite values for a property, just leave empty strings in all of the cells of that property's column.
7. Create a new branch (or fork if you don't have push rights) of the [rs.tdwg.org repo](https://github.com/tdwg/rs.tdwg.org). Save your edited CSV file using some notable name in the [process](https://github.com/tdwg/rs.tdwg.org/tree/master/process) directory.
8. Repeat this process for all namespaces that will be changed. I've been saving copies of the changes in [this directory](https://github.com/tdwg/rs.tdwg.org/tree/master/process/dwc-revisions) so that we can easily see what's been done in the past. Modify the [configuration file](https://github.com/tdwg/rs.tdwg.org/blob/master/process/config.json) so that it points to each CSV for each namespace. Look at the example to see what needs to be there.
9. Run the [processing script](https://github.com/tdwg/rs.tdwg.org/blob/master/process/process.py), which needs to be in the same directory as the configuration file.
10. There are some manual edits that need to be made if there are changes to either of the Dublin Core namespace terms. The versions don't get handled very automatically, so make the same changes to the [dcterms: version CSV](https://github.com/tdwg/rs.tdwg.org/blob/master/dcterms-for-dwc-versions/dcterms-for-dwc-versions.csv) or [dc: version CSV](https://github.com/tdwg/rs.tdwg.org/blob/master/dc-for-dwc-versions/dc-for-dwc-versions.csv) as were made to the main term CSVs.
11. The Dublin Core versions also need to be manually added for the new termlist version in the [termlist versions members CSV](https://github.com/tdwg/rs.tdwg.org/blob/master/term-lists-versions/term-lists-versions-members.csv). In the future, this may get automated.
12. As of 2022-05-28 there is a Jupyter notebook that mostly automates the process of updating the list of terms metadata. See [these notes](https://github.com/tdwg/rs.tdwg.org/blob/master/process/process-vocabulary.md#5-managing-documents-metadata-via-python-script) for more information. Steve Baskauf is still working on integrating this with the rest of the build process, but it's more automated than it was.
13. Push the branch to GitHub and create a pull request. It is best for someone to review the changes carefully before merging.
14. Once the branch has been merged the data are available via HTTP to the other scripts that use those data.
15. Create a branch of the [Darwin Core repo](https://github.com/tdwg/dwc).
16. Edit the [termlist-header.md](https://github.com/tdwg/dwc/blob/master/build/termlist-header.md) file, changing "Date version issued", the "This version" URL, the version URL in the citation, and the date in the "1 Introduction" to the date used for the new version of Darwin Core. Change the "Previous version" date to the date of the version that is being replaced. Save the file.
17. Go to the `docs/list/` directory and change the name of the `index.md` file to the date of the version being replaced (e.g. `2020-08-12.md`). Open that file and add a "Replaced by" label and value to the IRI of the new version (see an older version for an example). Save the file.
18. Run the script [build-termlist.py](https://github.com/tdwg/dwc/blob/master/build/build-termlist.py). Be patient since some steps take a few seconds. When the `Done` message appears, it's finished.
19. Check the diff for the newly generated `index.md` file in the [docs/list/](https://github.com/tdwg/dwc/tree/master/docs/list) directory and make sure that the changes are appropriate.
20. The structure and order of listing of terms in the Quick Reference Guide is controlled by the file [qrg-list.csv](https://github.com/tdwg/dwc/blob/master/build/qrg-list.csv). It is very sensitive to the position of the class terms, which controls the division of the QRG into sections. Also, `http://purl.org/dc/terms/language` must be the first term in the section that will be labeled "Use with IRI". So it must be edited with some care. If new terms are added, their IRIs must be added in the proper place in this document in order for them to appear in the QRG.
21. Run the [generate_term_versions.py](https://github.com/tdwg/dwc/blob/master/build/generate_term_versions.py) script to generate a new version of [term_versions.csv](https://github.com/tdwg/dwc/blob/master/vocabulary/term_versions.csv). This file serves as the source of data for the build script in the next step. At some point, that script may be modified to eliminate this intermediate step.
22. Run the [build.py](https://github.com/tdwg/dwc/blob/master/build/build.py) script to build the Quick Reference Guide.
23. Create a pull request for the new branch.
24. When the branch has been reviewed carefully, merge the branch. The new pages shuld be live as soon as Jekyll rebuilds them on GitHub.
25. Term dereferencing to human and machine readable representations is handled by a server managed by GBIF. The new metadata gets fed into the production version of the server when there is a new release of the `rs.tdwg.org` repo, so when everything is done, make sure there a new release has been made. Because dereferencing of current terms to human-readable web pages is handled by a redirect, there won't be any noticeable difference whether the data are reloaded in this step or not. But dereferencing the term versions, or dereferencing to acquire machine readable metadata will not reflect the new changes until the release process completes.
**Note:** *It is highly recommended that you do not hand-edit the raw CSVs with a text editor. Use Libre Office or Open Office (NOT Excel). They will reliably open, close, and edit the file while preserving and escaping commas, quotes, etc. and also not mess up the UTF-8 encoding if you set them up properly.*
1. * Fix link * Create a source data CSV file for each of the namespaces that has terms that have changed. [This directory]() has examples for all of the namespaces currently being used in the main Darwin Core vocabulary. You can get the column header by starting with the appropriate file here and deleting all of the data rows. The file names can be anything, but typically we've been appending the change date to the end of the file as seen in these examples.
2. A source data CSV MUST have a row for each term that has changed (modified or added). For existing terms that have changed, it is safest to start by copying the existing data cells for a term and then modifying them with the changes. The CSVs that contain the existing data for various namespaces are as follows. The `dwc:` namespace terms are [here](https://github.com/tdwg/rs.tdwg.org/blob/master/terms/terms.csv), `dwciri:` terms are [here](https://github.com/tdwg/rs.tdwg.org/blob/master/iri/iri.csv), `dc:` terms are [here](https://github.com/tdwg/rs.tdwg.org/blob/master/dc-for-dwc/dc-for-dwc.csv), and the `dcterms:` terms are [here](https://github.com/tdwg/rs.tdwg.org/blob/master/dcterms-for-dwc/dcterms-for-dwc.csv).
3. If a new term is being added, fill in a new row anywhere below the header row. The row order is unimportant.
4. Special care must be taken if columns are added (i.e. metadata properties are added). This is not for the faint of heart! The new columns must be added to every file used as source data for the various scripts and the column header mapping files also need to be edited. See [this page](for more details). This should be a rare event. DO NOT ever delete columns! If you want to elimite values for a property, just leave empty strings in all of the cells of that property's column.
5. Create a new branch (or fork if you don't have push rights) of the [rs.tdwg.org repo](https://github.com/tdwg/rs.tdwg.org). We have been saving copies of the changes in [this directory](https://github.com/tdwg/rs.tdwg.org/tree/master/process/dwc-revisions) so that we can easily see what's been changed for each past version.
6. * Fix link * Modify the [configuration file](https://github.com/tdwg/rs.tdwg.org/blob/master/process/config.json) so that it points to each CSV for each namespace. We have been saving copies of the config file with each update, so you can look at [the file that goes along with the CSV files linked as examples above]() to see what needs to be there. Only include data for the namespaces that will be updated.
7. Run the [processing script](https://github.com/tdwg/rs.tdwg.org/blob/master/process/process.py), which needs to be in the same directory as the configuration file. It's good to look at the diffs for all of the files to make sure that they look sensible.
8. **Dublin Core changes only.** 10. There are some manual edits that need to be made if there are changes to either of the Dublin Core namespace terms. The versions don't get handled very automatically, so make the same changes to the [dcterms: version CSV](https://github.com/tdwg/rs.tdwg.org/blob/master/dcterms-for-dwc-versions/dcterms-for-dwc-versions.csv) or [dc: version CSV](https://github.com/tdwg/rs.tdwg.org/blob/master/dc-for-dwc-versions/dc-for-dwc-versions.csv) as were made to the main term CSVs.
9. **Dublin Core changes only.** The Dublin Core versions also need to be manually added for the new termlist version in the [termlist versions members CSV](https://github.com/tdwg/rs.tdwg.org/blob/master/term-lists-versions/term-lists-versions-members.csv). In the future, this may get automated. The term-list-versions-replacements.csv also must be manually updated.
10. There is a [Python script](https://github.com/tdwg/rs.tdwg.org/blob/master/process/document_metadata_processing/tdwg_docs_metadata_update.py) that automates the process of updating the metadata about the list of terms document. See [these notes](https://github.com/tdwg/rs.tdwg.org/blob/master/process/process-vocabulary.md#5-managing-documents-metadata-via-python-script) for more information. Steve Baskauf is still working on integrating this with the rest of the build process, but it's more automated than it was.
11. Push the branch to GitHub and create a pull request. It is best to review the changes carefully before merging by looking at the diff.
12. Once the branch has been merged the data are available via HTTP to the other scripts that use those data. One can test to see if the term dereferencing is working by requesting one of the RDF serializations from the rs-test.tdwg.org subdomain. For example: http://rs-test.tdwg.org/dwc/terms/vitality.rdf . If it's working then the Jenkins task was able to reload the BaseX server with the new data. NOTE: the HTML representations will not yet work correctly since they are just redirects to the term list documents (which have not yet been updated).
13. Create a branch of the [Darwin Core repo](https://github.com/tdwg/dwc).
14. Edit the [termlist-header.md](https://github.com/tdwg/dwc/blob/master/build/termlist-header.md) file, changing "Date version issued", the "This version" URL, the version URL and date in the citation, and the date in the "1 Introduction" to the date used for the new version of Darwin Core. Change the "Previous version" date to the date of the version that is being replaced. Save the file.
15. Go to the `docs/list/` directory and change the name of the `index.md` file to the date of the version being replaced (e.g. `2020-08-12.md`). Open that file and add a "Replaced by" label and value to the IRI of the new version (see an older version for an example). Save the file.
16. Run the script [build-termlist.py](https://github.com/tdwg/dwc/blob/master/build/build-termlist.py). Be patient since some steps take a few seconds. When the `Done` message appears, it's finished. NOTE: the value of `githubBaseUri` in the configuration section of the script is set to the master branch in production. However, if you are generating provisional versions of the docs (e.g. for public or Executive Committee review), you may need to change the branch part of the path to the correct branch.
17. Check the diff for the newly generated `index.md` file in the [docs/list/](https://github.com/tdwg/dwc/tree/master/docs/list) directory and make sure that the changes are appropriate.
18. The structure and order of listing of terms in the Quick Reference Guide is controlled by the file [qrg-list.csv](https://github.com/tdwg/dwc/blob/master/build/qrg-list.csv). It is very sensitive to the position of the class terms, which controls the division of the QRG into sections. Also, `http://purl.org/dc/terms/language` must be the first term in the section that will be labeled "Use with IRI". So it must be edited with some care. If new terms are added, their IRIs must be added in the proper place in this document in order for them to appear in the QRG.
19. Run the [generate_term_versions.py](https://github.com/tdwg/dwc/blob/master/build/generate_term_versions.py) script to generate a new version of [term_versions.csv](https://github.com/tdwg/dwc/blob/master/vocabulary/term_versions.csv). This file serves as the source of data for the build script in the next step. At some point, that script may be modified to eliminate this intermediate step.
20. Run the [build.py](https://github.com/tdwg/dwc/blob/master/build/build.py) script to build the Quick Reference Guide.
21. Create a pull request for the new branch.
22. When the branch has been reviewed carefully, merge the branch. The new pages shuld be live as soon as Jekyll rebuilds them on GitHub.
23. Term dereferencing to human and machine readable representations is handled by a server managed by GBIF. The new metadata gets fed into the production version of the server when there is a new release of the `rs.tdwg.org` repo, so when everything is done, make sure there a new release has been made. Because dereferencing of current terms to human-readable web pages is handled by a redirect, there won't be any noticeable difference whether the data are reloaded in this step or not. But dereferencing the term versions, or dereferencing to acquire machine readable metadata will not reflect the new changes until the release process completes.
## Build script
@ -66,4 +66,4 @@ It generates the file `term_versions.csv`, which is used as the input for the `b
The Python script `build-termlist.py` inputs the header information from `termlist-header.md`, then builds the list of terms and their metadata from data in the [rs.tdwg.org](http://github.com/tdwg/rs.tdwg.org) repository. The script also inputs `termlist-footer.md` and appends it to the end of the generated document, but currently it has no content. The constructed Markdown document is saved as `/docs/list/index.md`.
------
Last edited: 2021-08-04
Last edited: 2023-06-28

View File

@ -88,6 +88,21 @@ def convert_link(text_with_urls):
regx = "(http[s]?://[\w\d:#@%/;$()~_?\+-;=\\\.&]*)(?<![\)\.,])"
return re.sub(regx, _handle_matched, text_with_urls)
# Hack the code taken from the terms.tmpl template to insert the HTML necessary to make the semicolon-separated
# lists of examples into an HTML list.
# {% set examples = term.examples.split("; ") %}
# {% if examples | length == 1 %}{{ examples | first }}{% else %}<ul class="list-group list-group-flush">{% for example in examples %}<li class="list-group-item">{{ example }}</li>{% endfor %}</ul>{% endif %}
def convert_examples(text_with_list_of_examples: str) -> str:
examples_list = text_with_list_of_examples.split('; ')
if len(examples_list) == 1:
return examples_list[0]
else:
output = '<ul class="list-group list-group-flush">\n'
for example in examples_list:
output += ' <li class="list-group-item">' + example + '</li>\n'
output += '</ul>'
return output
# ---------------
# Retrieve term list metadata from GitHub
# ---------------
@ -346,7 +361,7 @@ if True:
#if row['usage'] != '':
text += '\t\t<tr>\n'
text += '\t\t\t<td>Examples</td>\n'
text += '\t\t\t<td>' + convert_link(convert_code(row['examples'])) + '</td>\n'
text += '\t\t\t<td>' + convert_examples(convert_link(convert_code(row['examples']))) + '</td>\n'
#text += '\t\t\t<td>' + convert_link(convert_code(row['usage'])) + '</td>\n'
text += '\t\t</tr>\n'

View File

@ -30,7 +30,9 @@ http://rs.tdwg.org/dwc/terms/organismQuantityType
http://rs.tdwg.org/dwc/terms/sex
http://rs.tdwg.org/dwc/terms/lifeStage
http://rs.tdwg.org/dwc/terms/reproductiveCondition
http://rs.tdwg.org/dwc/terms/caste
http://rs.tdwg.org/dwc/terms/behavior
http://rs.tdwg.org/dwc/terms/vitality
http://rs.tdwg.org/dwc/terms/establishmentMeans
http://rs.tdwg.org/dwc/terms/degreeOfEstablishment
http://rs.tdwg.org/dwc/terms/pathway
@ -54,9 +56,11 @@ http://rs.tdwg.org/dwc/terms/previousIdentifications
http://rs.tdwg.org/dwc/terms/organismRemarks
http://rs.tdwg.org/dwc/terms/MaterialSample
http://rs.tdwg.org/dwc/terms/materialSampleID
http://rs.tdwg.org/dwc/terms/verbatimLabel
http://rs.tdwg.org/dwc/terms/Event
http://rs.tdwg.org/dwc/terms/eventID
http://rs.tdwg.org/dwc/terms/parentEventID
http://rs.tdwg.org/dwc/terms/eventType
http://rs.tdwg.org/dwc/terms/fieldNumber
http://rs.tdwg.org/dwc/terms/eventDate
http://rs.tdwg.org/dwc/terms/eventTime
@ -169,8 +173,11 @@ http://rs.tdwg.org/dwc/terms/kingdom
http://rs.tdwg.org/dwc/terms/phylum
http://rs.tdwg.org/dwc/terms/class
http://rs.tdwg.org/dwc/terms/order
http://rs.tdwg.org/dwc/terms/superfamily
http://rs.tdwg.org/dwc/terms/family
http://rs.tdwg.org/dwc/terms/subfamily
http://rs.tdwg.org/dwc/terms/tribe
http://rs.tdwg.org/dwc/terms/subtribe
http://rs.tdwg.org/dwc/terms/genus
http://rs.tdwg.org/dwc/terms/genericName
http://rs.tdwg.org/dwc/terms/subgenus
@ -188,6 +195,7 @@ http://rs.tdwg.org/dwc/terms/nomenclaturalStatus
http://rs.tdwg.org/dwc/terms/taxonRemarks
http://rs.tdwg.org/dwc/terms/MeasurementOrFact
http://rs.tdwg.org/dwc/terms/measurementID
http://rs.tdwg.org/dwc/terms/parentMeasurementID
http://rs.tdwg.org/dwc/terms/measurementType
http://rs.tdwg.org/dwc/terms/measurementValue
http://rs.tdwg.org/dwc/terms/measurementAccuracy
@ -213,11 +221,13 @@ http://rs.tdwg.org/dwc/iri/toTaxon
http://rs.tdwg.org/dwc/iri/inCollection
http://rs.tdwg.org/dwc/iri/georeferencedBy
http://rs.tdwg.org/dwc/iri/behavior
http://rs.tdwg.org/dwc/iri/caste
http://rs.tdwg.org/dwc/iri/dataGeneralizations
http://rs.tdwg.org/dwc/iri/degreeOfEstablishment
http://rs.tdwg.org/dwc/iri/disposition
http://rs.tdwg.org/dwc/iri/earliestGeochronologicalEra
http://rs.tdwg.org/dwc/iri/establishmentMeans
http://rs.tdwg.org/dwc/iri/eventType
http://rs.tdwg.org/dwc/iri/fieldNotes
http://rs.tdwg.org/dwc/iri/fieldNumber
http://rs.tdwg.org/dwc/iri/footprintSRS
@ -253,6 +263,7 @@ http://rs.tdwg.org/dwc/iri/typeStatus
http://rs.tdwg.org/dwc/iri/verbatimCoordinateSystem
http://rs.tdwg.org/dwc/iri/verbatimSRS
http://rs.tdwg.org/dwc/iri/verticalDatum
http://rs.tdwg.org/dwc/iri/vitality
http://rs.tdwg.org/dwc/terms/LivingSpecimen
http://rs.tdwg.org/dwc/terms/PreservedSpecimen
http://rs.tdwg.org/dwc/terms/FossilSpecimen

1 recommended_term_iri
30 http://rs.tdwg.org/dwc/terms/sex
31 http://rs.tdwg.org/dwc/terms/lifeStage
32 http://rs.tdwg.org/dwc/terms/reproductiveCondition
33 http://rs.tdwg.org/dwc/terms/caste
34 http://rs.tdwg.org/dwc/terms/behavior
35 http://rs.tdwg.org/dwc/terms/vitality
36 http://rs.tdwg.org/dwc/terms/establishmentMeans
37 http://rs.tdwg.org/dwc/terms/degreeOfEstablishment
38 http://rs.tdwg.org/dwc/terms/pathway
56 http://rs.tdwg.org/dwc/terms/organismRemarks
57 http://rs.tdwg.org/dwc/terms/MaterialSample
58 http://rs.tdwg.org/dwc/terms/materialSampleID
59 http://rs.tdwg.org/dwc/terms/verbatimLabel
60 http://rs.tdwg.org/dwc/terms/Event
61 http://rs.tdwg.org/dwc/terms/eventID
62 http://rs.tdwg.org/dwc/terms/parentEventID
63 http://rs.tdwg.org/dwc/terms/eventType
64 http://rs.tdwg.org/dwc/terms/fieldNumber
65 http://rs.tdwg.org/dwc/terms/eventDate
66 http://rs.tdwg.org/dwc/terms/eventTime
173 http://rs.tdwg.org/dwc/terms/phylum
174 http://rs.tdwg.org/dwc/terms/class
175 http://rs.tdwg.org/dwc/terms/order
176 http://rs.tdwg.org/dwc/terms/superfamily
177 http://rs.tdwg.org/dwc/terms/family
178 http://rs.tdwg.org/dwc/terms/subfamily
179 http://rs.tdwg.org/dwc/terms/tribe
180 http://rs.tdwg.org/dwc/terms/subtribe
181 http://rs.tdwg.org/dwc/terms/genus
182 http://rs.tdwg.org/dwc/terms/genericName
183 http://rs.tdwg.org/dwc/terms/subgenus
195 http://rs.tdwg.org/dwc/terms/taxonRemarks
196 http://rs.tdwg.org/dwc/terms/MeasurementOrFact
197 http://rs.tdwg.org/dwc/terms/measurementID
198 http://rs.tdwg.org/dwc/terms/parentMeasurementID
199 http://rs.tdwg.org/dwc/terms/measurementType
200 http://rs.tdwg.org/dwc/terms/measurementValue
201 http://rs.tdwg.org/dwc/terms/measurementAccuracy
221 http://rs.tdwg.org/dwc/iri/inCollection
222 http://rs.tdwg.org/dwc/iri/georeferencedBy
223 http://rs.tdwg.org/dwc/iri/behavior
224 http://rs.tdwg.org/dwc/iri/caste
225 http://rs.tdwg.org/dwc/iri/dataGeneralizations
226 http://rs.tdwg.org/dwc/iri/degreeOfEstablishment
227 http://rs.tdwg.org/dwc/iri/disposition
228 http://rs.tdwg.org/dwc/iri/earliestGeochronologicalEra
229 http://rs.tdwg.org/dwc/iri/establishmentMeans
230 http://rs.tdwg.org/dwc/iri/eventType
231 http://rs.tdwg.org/dwc/iri/fieldNotes
232 http://rs.tdwg.org/dwc/iri/fieldNumber
233 http://rs.tdwg.org/dwc/iri/footprintSRS
263 http://rs.tdwg.org/dwc/iri/verbatimCoordinateSystem
264 http://rs.tdwg.org/dwc/iri/verbatimSRS
265 http://rs.tdwg.org/dwc/iri/verticalDatum
266 http://rs.tdwg.org/dwc/iri/vitality
267 http://rs.tdwg.org/dwc/terms/LivingSpecimen
268 http://rs.tdwg.org/dwc/terms/PreservedSpecimen
269 http://rs.tdwg.org/dwc/terms/FossilSpecimen

View File

@ -4,7 +4,7 @@ Title
: List of Darwin Core terms
Date version issued
: 2021-07-15
: 2023-06-28
Date created
: 2020-08-12
@ -13,13 +13,13 @@ Part of TDWG Standard
: <http://www.tdwg.org/standards/450>
This version
: <http://rs.tdwg.org/dwc/doc/list/2021-07-15>
: <http://rs.tdwg.org/dwc/doc/list/2023-06-28>
Latest version
: <http://rs.tdwg.org/dwc/doc/list/>
Previous version
: <http://rs.tdwg.org/dwc/doc/list/2021-03-29>
: <http://rs.tdwg.org/dwc/doc/list/2021-07-15>
Abstract
: Darwin Core is a vocabulary standard for transmitting information about biodiversity. This document lists all terms in namespaces currently used in the vocabulary.
@ -31,12 +31,12 @@ Creator
: TDWG Darwin Core Maintenance Group
Bibliographic citation
: Darwin Core Maintenance Group. 2021. List of Darwin Core terms. Biodiversity Information Standards (TDWG). <http://rs.tdwg.org/dwc/doc/list/2021-07-15>
: Darwin Core Maintenance Group. 2023. List of Darwin Core terms. Biodiversity Information Standards (TDWG). <http://rs.tdwg.org/dwc/doc/list/2023-06-28>
## 1 Introduction (Informative)
This document contains terms that are part of the most recent version of the Darwin Core vocabulary (<http://rs.tdwg.org/version/dwc/2021-07-15>).
This document contains terms that are part of the most recent version of the Darwin Core vocabulary (<http://rs.tdwg.org/version/dwc/2023-06-28>).
This document includes terms in four namespaces that contain recommended terms: `dwc:`, `dwciri:`, `dc:`, and `dcterms:`. However, some terms in these namespaces are deprecated or superseded and should no longer be used. Deprecation or supersession is noted in the term metadata. Namespaces that contain only deprecated terms are not included in this document, but metadata about those terms can be retrieved by dereferencing their IRIs.

View File

@ -5,14 +5,15 @@
# Darwin Core Quick Reference Guide
This document is intended to be an easy-to-read reference of the currently (as of 2021-07-15) recommended terms maintained as part of the [Darwin Core standard](https://www.tdwg.org/standards/dwc/) and is maintained by the [Darwin Core Maintenance Group](https://www.tdwg.org/community/dwc/).
This document is intended to be an easy-to-read reference of the currently (as of 2023-06-28) recommended terms maintained as part of the [Darwin Core standard](https://www.tdwg.org/standards/dwc/) and is maintained by the [Darwin Core Maintenance Group](https://www.tdwg.org/community/dwc/).
This page is not part of the standard, but combines the normative term names and definitions with the non-normative comments and examples that are meant to help people to use the terms consistently. Capitalized terms, such as Occurrence, are Darwin Core classes, which are special category terms used to group sets of terms for convenience. Comprehensive metadata for current and obsolete terms in human readable form are found in the document [List of Darwin Core terms](../list/).
**Need help?** Read more about how to use Darwin Core in the [Darwin Core Questions & Answers site](https://github.com/tdwg/dwc-qa/blob/master/README.md). Still have questions? Submit a new issue (question/problem) to the [dwc-qa issues page in GitHub](https://github.com/tdwg/dwc-qa/issues), or use the [form](https://tinyurl.com/darwin-qa). See the bottom of this document for [how to cite Darwin Core](https://dwc.tdwg.org/terms/#cite-darwin-core)."
This page is not part of the standard, but combines the normative term names and definitions with the non-normative comments and examples that are meant to help people to use the terms consistently. Definitions, comments, and examples may include namespace abbreviations (e.g., "dwc:"). These are included to show that the meaning for the word it is attached to very specifically means the term as defined in that namespace. Thus, dwc:Event means Event as defined by Darwin Core at https://dwc.tdwg.org/terms/#event. Capitalized terms that follow a namespace abbreviation, such as dwc:Occurrence, are Darwin Core class terms, which are a special category of terms used to group sets of property terms (terms that being with lower case names that follow the namespace abbreviation, e.g., dwc:eventID) for convenience. Comprehensive metadata for current and obsolete terms in human readable form are found in the document [List of Darwin Core terms](../list/).
Additional [files with just the current term names](https://github.com/tdwg/dwc/tree/master/dist) and a [file with the full term history](https://github.com/tdwg/dwc/blob/master/vocabulary/term_versions.csv) can be found in the [Darwin Core repository](https://github.com/tdwg/dwc).
For inquiries about how to use Darwin Core, either enter an issue in the [Darwin Core Questions & Answers site](https://github.com/tdwg/dwc-qa/blob/master/README.md) or enter an issue in the [alternative form](https://tinyurl.com/darwin-qa), which will have the same effect. See the bottom of this document for how to [cite Darwin Core](#cite-darwin-core).
{% for class_group in class_groups %}
## {{ class_group.label }}

View File

@ -1 +1 @@
type,modified,language,license,rightsHolder,accessRights,bibliographicCitation,references,institutionID,collectionID,datasetID,institutionCode,collectionCode,datasetName,ownerInstitutionCode,basisOfRecord,informationWithheld,dataGeneralizations,dynamicProperties,occurrenceID,catalogNumber,recordNumber,recordedBy,recordedByID,individualCount,organismQuantity,organismQuantityType,sex,lifeStage,reproductiveCondition,behavior,establishmentMeans,degreeOfEstablishment,pathway,georeferenceVerificationStatus,occurrenceStatus,preparations,disposition,associatedMedia,associatedOccurrences,associatedReferences,associatedSequences,associatedTaxa,otherCatalogNumbers,occurrenceRemarks,organismID,organismName,organismScope,associatedOrganisms,previousIdentifications,organismRemarks,materialSampleID,eventID,parentEventID,fieldNumber,eventDate,eventTime,startDayOfYear,endDayOfYear,year,month,day,verbatimEventDate,habitat,samplingProtocol,sampleSizeValue,sampleSizeUnit,samplingEffort,fieldNotes,eventRemarks,locationID,higherGeographyID,higherGeography,continent,waterBody,islandGroup,island,country,countryCode,stateProvince,county,municipality,locality,verbatimLocality,minimumElevationInMeters,maximumElevationInMeters,verbatimElevation,verticalDatum,minimumDepthInMeters,maximumDepthInMeters,verbatimDepth,minimumDistanceAboveSurfaceInMeters,maximumDistanceAboveSurfaceInMeters,locationAccordingTo,locationRemarks,decimalLatitude,decimalLongitude,geodeticDatum,coordinateUncertaintyInMeters,coordinatePrecision,pointRadiusSpatialFit,verbatimCoordinates,verbatimLatitude,verbatimLongitude,verbatimCoordinateSystem,verbatimSRS,footprintWKT,footprintSRS,footprintSpatialFit,georeferencedBy,georeferencedDate,georeferenceProtocol,georeferenceSources,georeferenceRemarks,geologicalContextID,earliestEonOrLowestEonothem,latestEonOrHighestEonothem,earliestEraOrLowestErathem,latestEraOrHighestErathem,earliestPeriodOrLowestSystem,latestPeriodOrHighestSystem,earliestEpochOrLowestSeries,latestEpochOrHighestSeries,earliestAgeOrLowestStage,latestAgeOrHighestStage,lowestBiostratigraphicZone,highestBiostratigraphicZone,lithostratigraphicTerms,group,formation,member,bed,identificationID,verbatimIdentification,identificationQualifier,typeStatus,identifiedBy,identifiedByID,dateIdentified,identificationReferences,identificationVerificationStatus,identificationRemarks,taxonID,scientificNameID,acceptedNameUsageID,parentNameUsageID,originalNameUsageID,nameAccordingToID,namePublishedInID,taxonConceptID,scientificName,acceptedNameUsage,parentNameUsage,originalNameUsage,nameAccordingTo,namePublishedIn,namePublishedInYear,higherClassification,kingdom,phylum,class,order,family,subfamily,genus,genericName,subgenus,infragenericEpithet,specificEpithet,infraspecificEpithet,cultivarEpithet,taxonRank,verbatimTaxonRank,scientificNameAuthorship,vernacularName,nomenclaturalCode,taxonomicStatus,nomenclaturalStatus,taxonRemarks
type,modified,language,license,rightsHolder,accessRights,bibliographicCitation,references,institutionID,collectionID,datasetID,institutionCode,collectionCode,datasetName,ownerInstitutionCode,basisOfRecord,informationWithheld,dataGeneralizations,dynamicProperties,occurrenceID,catalogNumber,recordNumber,recordedBy,recordedByID,individualCount,organismQuantity,organismQuantityType,sex,lifeStage,reproductiveCondition,caste,behavior,vitality,establishmentMeans,degreeOfEstablishment,pathway,georeferenceVerificationStatus,occurrenceStatus,preparations,disposition,associatedMedia,associatedOccurrences,associatedReferences,associatedSequences,associatedTaxa,otherCatalogNumbers,occurrenceRemarks,organismID,organismName,organismScope,associatedOrganisms,previousIdentifications,organismRemarks,materialSampleID,verbatimLabel,eventID,parentEventID,eventType,fieldNumber,eventDate,eventTime,startDayOfYear,endDayOfYear,year,month,day,verbatimEventDate,habitat,samplingProtocol,sampleSizeValue,sampleSizeUnit,samplingEffort,fieldNotes,eventRemarks,locationID,higherGeographyID,higherGeography,continent,waterBody,islandGroup,island,country,countryCode,stateProvince,county,municipality,locality,verbatimLocality,minimumElevationInMeters,maximumElevationInMeters,verbatimElevation,verticalDatum,minimumDepthInMeters,maximumDepthInMeters,verbatimDepth,minimumDistanceAboveSurfaceInMeters,maximumDistanceAboveSurfaceInMeters,locationAccordingTo,locationRemarks,decimalLatitude,decimalLongitude,geodeticDatum,coordinateUncertaintyInMeters,coordinatePrecision,pointRadiusSpatialFit,verbatimCoordinates,verbatimLatitude,verbatimLongitude,verbatimCoordinateSystem,verbatimSRS,footprintWKT,footprintSRS,footprintSpatialFit,georeferencedBy,georeferencedDate,georeferenceProtocol,georeferenceSources,georeferenceRemarks,geologicalContextID,earliestEonOrLowestEonothem,latestEonOrHighestEonothem,earliestEraOrLowestErathem,latestEraOrHighestErathem,earliestPeriodOrLowestSystem,latestPeriodOrHighestSystem,earliestEpochOrLowestSeries,latestEpochOrHighestSeries,earliestAgeOrLowestStage,latestAgeOrHighestStage,lowestBiostratigraphicZone,highestBiostratigraphicZone,lithostratigraphicTerms,group,formation,member,bed,identificationID,verbatimIdentification,identificationQualifier,typeStatus,identifiedBy,identifiedByID,dateIdentified,identificationReferences,identificationVerificationStatus,identificationRemarks,taxonID,scientificNameID,acceptedNameUsageID,parentNameUsageID,originalNameUsageID,nameAccordingToID,namePublishedInID,taxonConceptID,scientificName,acceptedNameUsage,parentNameUsage,originalNameUsage,nameAccordingTo,namePublishedIn,namePublishedInYear,higherClassification,kingdom,phylum,class,order,superfamily,family,subfamily,tribe,subtribe,genus,genericName,subgenus,infragenericEpithet,specificEpithet,infraspecificEpithet,cultivarEpithet,taxonRank,verbatimTaxonRank,scientificNameAuthorship,vernacularName,nomenclaturalCode,taxonomicStatus,nomenclaturalStatus,taxonRemarks

1 type modified language license rightsHolder accessRights bibliographicCitation references institutionID collectionID datasetID institutionCode collectionCode datasetName ownerInstitutionCode basisOfRecord informationWithheld dataGeneralizations dynamicProperties occurrenceID catalogNumber recordNumber recordedBy recordedByID individualCount organismQuantity organismQuantityType sex lifeStage reproductiveCondition caste behavior vitality establishmentMeans degreeOfEstablishment pathway georeferenceVerificationStatus occurrenceStatus preparations disposition associatedMedia associatedOccurrences associatedReferences associatedSequences associatedTaxa otherCatalogNumbers occurrenceRemarks organismID organismName organismScope associatedOrganisms previousIdentifications organismRemarks materialSampleID verbatimLabel eventID parentEventID eventType fieldNumber eventDate eventTime startDayOfYear endDayOfYear year month day verbatimEventDate habitat samplingProtocol sampleSizeValue sampleSizeUnit samplingEffort fieldNotes eventRemarks locationID higherGeographyID higherGeography continent waterBody islandGroup island country countryCode stateProvince county municipality locality verbatimLocality minimumElevationInMeters maximumElevationInMeters verbatimElevation verticalDatum minimumDepthInMeters maximumDepthInMeters verbatimDepth minimumDistanceAboveSurfaceInMeters maximumDistanceAboveSurfaceInMeters locationAccordingTo locationRemarks decimalLatitude decimalLongitude geodeticDatum coordinateUncertaintyInMeters coordinatePrecision pointRadiusSpatialFit verbatimCoordinates verbatimLatitude verbatimLongitude verbatimCoordinateSystem verbatimSRS footprintWKT footprintSRS footprintSpatialFit georeferencedBy georeferencedDate georeferenceProtocol georeferenceSources georeferenceRemarks geologicalContextID earliestEonOrLowestEonothem latestEonOrHighestEonothem earliestEraOrLowestErathem latestEraOrHighestErathem earliestPeriodOrLowestSystem latestPeriodOrHighestSystem earliestEpochOrLowestSeries latestEpochOrHighestSeries earliestAgeOrLowestStage latestAgeOrHighestStage lowestBiostratigraphicZone highestBiostratigraphicZone lithostratigraphicTerms group formation member bed identificationID verbatimIdentification identificationQualifier typeStatus identifiedBy identifiedByID dateIdentified identificationReferences identificationVerificationStatus identificationRemarks taxonID scientificNameID acceptedNameUsageID parentNameUsageID originalNameUsageID nameAccordingToID namePublishedInID taxonConceptID scientificName acceptedNameUsage parentNameUsage originalNameUsage nameAccordingTo namePublishedIn namePublishedInYear higherClassification kingdom phylum class order superfamily family subfamily tribe subtribe genus genericName subgenus infragenericEpithet specificEpithet infraspecificEpithet cultivarEpithet taxonRank verbatimTaxonRank scientificNameAuthorship vernacularName nomenclaturalCode taxonomicStatus nomenclaturalStatus taxonRemarks

View File

@ -28,7 +28,9 @@ organismQuantityType
sex
lifeStage
reproductiveCondition
caste
behavior
vitality
establishmentMeans
degreeOfEstablishment
pathway
@ -50,8 +52,10 @@ associatedOrganisms
previousIdentifications
organismRemarks
materialSampleID
verbatimLabel
eventID
parentEventID
eventType
fieldNumber
eventDate
eventTime
@ -160,8 +164,11 @@ kingdom
phylum
class
order
superfamily
family
subfamily
tribe
subtribe
genus
genericName
subgenus

1 type
28 sex
29 lifeStage
30 reproductiveCondition
31 caste
32 behavior
33 vitality
34 establishmentMeans
35 degreeOfEstablishment
36 pathway
52 previousIdentifications
53 organismRemarks
54 materialSampleID
55 verbatimLabel
56 eventID
57 parentEventID
58 eventType
59 fieldNumber
60 eventDate
61 eventTime
164 phylum
165 class
166 order
167 superfamily
168 family
169 subfamily
170 tribe
171 subtribe
172 genus
173 genericName
174 subgenus

16354
docs/list/2021-07-15.md Normal file

File diff suppressed because it is too large Load Diff

2835
docs/list/changes.md Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
version="2021-07-15"
version="2023-06-28"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://rs.tdwg.org/dwc/terms/"
xmlns:simple="http://rs.tdwg.org/dwc/xsd/simpledarwincore/"
@ -22,6 +22,7 @@
<xs:complexType>
<xs:all>
<xs:element ref="dwc:measurementID" minOccurs="0"/>
<xs:element ref="dwc:parentMeasurementID" minOccurs="0"/>
<xs:element ref="dwc:measurementType" minOccurs="1"/>
<xs:element ref="dwc:measurementValue" minOccurs="1"/>
<xs:element ref="dwc:measurementAccuracy" minOccurs="0"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
version="2021-07-15"
version="2023-06-28"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://rs.tdwg.org/dwc/xsd/simpledarwincore/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
@ -71,7 +71,9 @@
<xs:element ref="dwc:sex" minOccurs="0"/>
<xs:element ref="dwc:lifeStage" minOccurs="0"/>
<xs:element ref="dwc:reproductiveCondition" minOccurs="0"/>
<xs:element ref="dwc:caste" minOccurs="0"/>
<xs:element ref="dwc:behavior" minOccurs="0"/>
<xs:element ref="dwc:vitality" minOccurs="0"/>
<xs:element ref="dwc:establishmentMeans" minOccurs="0"/>
<xs:element ref="dwc:degreeOfEstablishment" minOccurs="0"/>
<xs:element ref="dwc:pathway" minOccurs="0"/>
@ -95,9 +97,11 @@
<xs:element ref="dwc:organismRemarks" minOccurs="0"/>
<!-- MaterialSample terms -->
<xs:element ref="dwc:materialSampleID" minOccurs="0"/>
<xs:element ref="dwc:verbatimLabel" minOccurs="0"/>
<!-- Event terms -->
<xs:element ref="dwc:eventID" minOccurs="0"/>
<xs:element ref="dwc:parentEventID" minOccurs="0"/>
<xs:element ref="dwc:eventType" minOccurs="0"/>
<xs:element ref="dwc:fieldNumber" minOccurs="0"/>
<xs:element ref="dwc:eventDate" minOccurs="0"/>
<xs:element ref="dwc:eventTime" minOccurs="0"/>
@ -210,8 +214,11 @@
<xs:element ref="dwc:phylum" minOccurs="0"/>
<xs:element ref="dwc:class" minOccurs="0"/>
<xs:element ref="dwc:order" minOccurs="0"/>
<xs:element ref="dwc:superfamily" minOccurs="0"/>
<xs:element ref="dwc:family" minOccurs="0"/>
<xs:element ref="dwc:subfamily" minOccurs="0"/>
<xs:element ref="dwc:tribe" minOccurs="0"/>
<xs:element ref="dwc:subtribe" minOccurs="0"/>
<xs:element ref="dwc:genus" minOccurs="0"/>
<xs:element ref="dwc:genericName" minOccurs="0"/>
<xs:element ref="dwc:subgenus" minOccurs="0"/>

View File

@ -132,9 +132,11 @@
<xs:element name="sex" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="lifeStage" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="reproductiveCondition" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="caste" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="behavior" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="vitality" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="establishmentMeans" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="degreeOfEstablishmentMeans" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="degreeOfEstablishment" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="pathway" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="georeferenceVerificationStatus" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="occurrenceStatus" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
@ -159,9 +161,11 @@
<xs:element ref="dwc:sex" minOccurs="0"/>
<xs:element ref="dwc:lifeStage" minOccurs="0"/>
<xs:element ref="dwc:reproductiveCondition" minOccurs="0"/>
<xs:element ref="dwc:caste" minOccurs="0"/>
<xs:element ref="dwc:behavior" minOccurs="0"/>
<xs:element ref="dwc:vitality" minOccurs="0"/>
<xs:element ref="dwc:establishmentMeans" minOccurs="0"/>
<xs:element ref="dwc:degreeOfEstablishmentMeans" minOccurs="0"/>
<xs:element ref="dwc:degreeOfEstablishment" minOccurs="0"/>
<xs:element ref="dwc:pathway" minOccurs="0"/>
<xs:element ref="dwc:georeferenceVerificationStatus" minOccurs="0"/>
<xs:element ref="dwc:occurrenceStatus" minOccurs="0"/>
@ -199,6 +203,7 @@
<!-- MaterialSample domain -->
<xs:element name="anyMaterialSampleTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
<xs:element name="materialSampleID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<xs:element name="verbatimLabel" type="xs:string" substitutionGroup="dwc:anyMaterialSampleTerm"/>
<!-- domain properties -->
<!-- EVENT domain -->
@ -206,6 +211,7 @@
<xs:element name="eventID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<!-- domain properties -->
<xs:element name="parentEventID" type="xs:string" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="eventType" type="xs:string" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="eventDate" type="dwc:dateTimeISO" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="eventTime" type="xs:time" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="startDayOfYear" type="dwc:dayOfYearDataType" substitutionGroup="dwc:anyEventTerm"/>
@ -225,6 +231,7 @@
<xs:group name="EventTerms">
<xs:sequence>
<xs:element ref="dwc:parentEventID" minOccurs="0"/>
<xs:element ref="dwc:eventType" minOccurs="0"/>
<xs:element ref="dwc:eventDate" minOccurs="0"/>
<xs:element ref="dwc:eventTime" minOccurs="0"/>
<xs:element ref="dwc:startDayOfYear" minOccurs="0"/>
@ -251,7 +258,7 @@
<xs:element name="higherGeographyID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="higherGeography" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="continent" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="waterbody" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="waterBody" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="islandGroup" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="island" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="country" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
@ -296,7 +303,7 @@
<xs:element ref="dwc:higherGeographyID" minOccurs="0"/>
<xs:element ref="dwc:higherGeography" minOccurs="0"/>
<xs:element ref="dwc:continent" minOccurs="0"/>
<xs:element ref="dwc:waterbody" minOccurs="0"/>
<xs:element ref="dwc:waterBody" minOccurs="0"/>
<xs:element ref="dwc:islandGroup" minOccurs="0"/>
<xs:element ref="dwc:island" minOccurs="0"/>
<xs:element ref="dwc:country" minOccurs="0"/>
@ -431,8 +438,11 @@
<xs:element name="phylum" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="class" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="order" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="superfamily" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="family" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="subfamily" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="tribe" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="subtribe" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="genus" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="genericName" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="subgenus" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
@ -469,8 +479,11 @@
<xs:element ref="dwc:phylum" minOccurs="0"/>
<xs:element ref="dwc:class" minOccurs="0"/>
<xs:element ref="dwc:order" minOccurs="0"/>
<xs:element ref="dwc:superfamily" minOccurs="0"/>
<xs:element ref="dwc:family" minOccurs="0"/>
<xs:element ref="dwc:subfamily" minOccurs="0"/>
<xs:element ref="dwc:tribe" minOccurs="0"/>
<xs:element ref="dwc:subtribe" minOccurs="0"/>
<xs:element ref="dwc:genus" minOccurs="0"/>
<xs:element ref="dwc:genericName" minOccurs="0"/>
<xs:element ref="dwc:subgenus" minOccurs="0"/>
@ -493,6 +506,7 @@
<xs:element name="anyMeasurementTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
<xs:element name="measurementID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<!-- domain properties -->
<xs:element name="parentMeasurementID" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:element name="measurementType" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:element name="measurementValue" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:element name="measurementAccuracy" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
@ -503,6 +517,7 @@
<xs:element name="measurementRemarks" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:group name="MeasurementTerms">
<xs:sequence>
<xs:element ref="dwc:parentMeasurementID" minOccurs="0"/>
<xs:element ref="dwc:measurementType" minOccurs="0"/>
<xs:element ref="dwc:measurementValue" minOccurs="0"/>
<xs:element ref="dwc:measurementAccuracy" minOccurs="0"/>

File diff suppressed because it is too large Load Diff