Did You Find What You Needed?

We'd love to know how your experience with the Andrews Forest data catalog went - whether you found exactly what you were looking for or hit a dead end. Your feedback helps us improve data discovery and access.

Share Your Feedback

EML Section Guide

← Back to catalog index

EML Section Guide

A reference for where metadata lives in EML and how the FSDB Data Catalog module uses it. Use this guide to locate sections in EML files (e.g. CF002_24.xml) and to see which fields drive the catalog search and detail pages.

Schema reference: EML 2.2.0 schema · eml.xsd

---

1. EML document structure (major sections)

An EML document has a single root <eml> and one primary resource. For data packages, the structure is:

LevelElementDescription
RootemlPackage wrapper. Attributes: packageId, system, scope.
OptionalaccessAccess control for the whole package.
Primary resourcedatasetDescribes a data set and its entities (tables, etc.). *Other root options: citation, software, protocol.*
OptionaladditionalMetadataExtensions (e.g. unit lists, custom blocks).

XPath note: with the EML namespace bound as eml, paths look like /eml:eml/eml:dataset/....

---

2. Dataset structure (major and minor sections)

Under dataset, sections appear in a defined order. Not all packages include every section.

Major sections (direct children of dataset)

EML pathDescription
dataset/alternateIdentifierAlternate ID (e.g. DBCODE such as CF002).
dataset/titleDataset title.
dataset/creatorOne or more creators (individual or organization).
dataset/metadataProviderWho provided the metadata.
dataset/associatedPartyContributors, roles, contacts.
dataset/pubDatePublication date.
dataset/abstractAbstract (often abstract/para).
dataset/keywordSetKeywords and optional keywordThesaurus.
dataset/additionalInfoExtra narrative (often additionalInfo/para).
dataset/intellectualRightsRights text.
dataset/licensedLicense name, URL, identifier.
dataset/distributionPackage-level distribution (e.g. distribution/online/url).
dataset/coverageTemporal, geographic, and/or taxonomic coverage.
dataset/purposePurpose (often purpose/para).
dataset/maintenanceUpdate frequency, change history, description.
dataset/contactContact party(s).
dataset/publisherPublisher.
dataset/methodsMethod steps, instrumentation, sampling.
dataset/projectProject title, personnel, funding, awards.
`dataset/dataTable`Data entities (tables). See §3.
dataset/otherEntityOther entity types (non-tabular).
dataset/spatialRasterRaster spatial data entity.
dataset/spatialVectorVector spatial data entity.
dataset/literatureCitedCited literature.
dataset/bibliographyBibliography.

Minor sections (nested inside major ones)

Examples the catalog uses:

  • Coverage: coverage/geographicCoverage, coverage/temporalCoverage, coverage/taxonomicCoverage, boundingCoordinates, rangeOfDates, calendarDate.
  • Methods: methodStep, description, instrumentation, sampling.
  • Project: title, personnel, abstract, funding, award, studyAreaDescription.

---

3. Data tables (entities) — dataTable

Each data table is one data entity (e.g. one CSV or similar). In EML these are dataTable elements under dataset. The catalog uses them for search, the detail page “Metadata” section, and download links.

Where data tables live

  • Path: dataset/dataTable (multiple; often with id e.g. CF00201, CF00202).
  • Example: CF002_24.xml has six dataTable elements (CF00201–CF00206).

Structure of each dataTable

EML path (under each dataTable)Description
@idEntity id (e.g. CF00201).
alternateIdentifierAlternate id for the entity.
entityNameShort name (e.g. “Proportional stream water sample nutrient concentrations”).
entityDescriptionText description of the entity.
physicalPhysical file and distribution.
physical/objectNameFile name (e.g. CF00201_v7.csv).
physical/sizeSize (with @unit, e.g. byte).
physical/authenticationChecksum (e.g. MD5).
physical/dataFormatFormat (e.g. textFormat, numHeaderLines, fieldDelimiter).
physical/distribution/online/urlDownload URL (e.g. function="download").
coverageOptional temporal/geographic coverage for this entity.
attributeListList of columns/variables.
attributeList/attributePer-attribute: @id, attributeName, attributeDefinition, storageType, measurementScale, etc.
constraintKeys and rules (e.g. primaryKey, notNullConstraint).
numberOfRecordsRow count.

Other entity types (same level as dataTable)

  • `otherEntity` — Non-tabular data (e.g. documents, scripts). Same idea: identification, physical, optional attributeList.
  • `spatialRaster` — Raster spatial data.
  • `spatialVector` — Vector spatial data.

The FSDB catalog detail page and download logic focus on `dataTable` and its physical/distribution/online/url.

---

4. Search index — catalog page (/fsdb-data-catalog)

Search matches the following EML fields (paths relative to dataset unless noted):

FieldEML path
Titledataset/title
Abstractdataset/abstract/para
Alternate identifierdataset/alternateIdentifier
Purposedataset/purpose/para
Additional infodataset/additionalInfo/para
Keywordsdataset/keywordSet/keyword
Keyword thesaurusdataset/keywordSet/keywordThesaurus
Creator namesdataset/creator (individualName: givenName, surName)
Associated party namesdataset/associatedParty (individualName: givenName, surName)
Contact namesdataset/contact (individualName: givenName, surName)
Entity namedataset/dataTable/entityName
Entity descriptiondataset/dataTable/entityDescription
Geographic descriptiondataset/coverage/geographicCoverage/geographicDescription
Temporal coveragedataset/coverage/temporalCoverage/rangeOfDates/*/calendarDate
Bounding coordinatesdataset/coverage/geographicCoverage/boundingCoordinates/*
Taxon rank namedataset/coverage/taxonomicCoverage//taxonRankName
Taxon rank valuedataset/coverage/taxonomicCoverage//taxonRankValue

DBCODE is also matched, derived from the filename convention DBCODE_VERSION.xml.

---

5. Detail page — dataset record (/fsdb-data-catalog/[DBCODE])

Header (summary row)

The top of the detail page shows a compact summary. People are shown in this order (left to right):

  • Creator(s) — From dataset/creator only (no duplicate from associatedParty).
  • Principal Investigator — From dataset/associatedParty where role is "Principal Investigator".
  • Additional — From dataset/associatedParty where role is empty or unspecified.
  • Other Researchers — From dataset/associatedParty where role is "Other Researcher".
  • Any other associated-party roles appear after these, in a stable order.

Associated parties with role "Creator" are not shown again in the header (they are covered by Creator(s)).

Other header fields include Organization, dates, version, pub date, EDI Package ID (clickable link to https://portal.edirepository.org/nis/mapbrowse?packageid={packageId}), Source XML, and DOI when present.

Sections and EML sources

SectionEML paths
Identityeml/@packageId, dataset/title, dataset/alternateIdentifier, dataset/pubDate
Purpose / Abstract / Additional infodataset/abstract, dataset/purpose, dataset/additionalInfo
People and organizationsdataset/creator, dataset/associatedParty, dataset/contact, dataset/publisher
Projectdataset/project (title, personnel, abstract, funding, awards, descriptors)
Methodsdataset/methods (method steps, instrumentation, sampling)
Software*Not under dataset; software is a separate root resource type. Omitted for dataset packages.*
Coveragedataset/coverage (temporal, geographic, bounding coordinates, taxonomic)
Distribution linksdataset/distribution/online/url, dataset/dataTable/physical/distribution/online/url
Metadatadataset/dataTable (entity name, description, physical, format, attributes, constraints, record count, download URL)
Rights and licensingdataset/intellectualRights, dataset/licensed, dataset/maintenance
Additional metadataadditionalMetadata (e.g. unit list, custom structures)
Related publicationsdataset/literatureCited//citation, dataset/bibliography//citation; or paras under a “Related Publications” heading in dataset/additionalInfo (e.g. CF002)

---

6. Notes

  • Not every EML file has every section; missing sections are simply omitted on the detail page.
  • UI labels may differ slightly from EML tag names.
  • If expected metadata does not appear, check that it exists in the XML at the paths above. For XPath in code, the EML namespace must be registered (e.g. prefix eml).
  • EML 2.1.1 and 2.2.0 use different namespace URIs; the catalog supports both for parsing.