if (!require(librarian)){
  install.packages("librarian")
  library(librarian)
}
shelf(
  dplyr, EML, here)

Create EML

me <- list(
  individualName = list(
    givenName = "Ben", surName = "Best"))
my_eml <- list(
  dataset = list(
    title = "A Minimal Valid EML Dataset",
    creator = me,
    contact = me))

eml_xml <- here("data/eml_example.xml")
write_eml(my_eml, eml_xml)
## NULL
eml_validate(eml_xml)
## [1] TRUE
## attr(,"errors")
## character(0)

Read EML

eml_raw <- readLines(eml_xml) %>% 
  paste(collapse = "\n")
<?xml version="1.0" encoding="UTF-8"?>
<eml:eml xmlns:eml="https://eml.ecoinformatics.org/eml-2.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stmml="http://www.xml-cml.org/schema/stmml-1.2" packageId="db2ca69c-695c-4c5c-9fff-fbcc73c77ca2" system="uuid" xsi:schemaLocation="https://eml.ecoinformatics.org/eml-2.2.0 https://eml.ecoinformatics.org/eml-2.2.0/eml.xsd">
  <dataset>
    <title>A Minimal Valid EML Dataset</title>
    <creator>
      <individualName>
        <givenName>Ben</givenName>
        <surName>Best</surName>
      </individualName>
    </creator>
    <contact>
      <individualName>
        <givenName>Ben</givenName>
        <surName>Best</surName>
      </individualName>
    </contact>
  </dataset>
</eml:eml>