-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update eml_validate
to match Metacat
#133
Comments
@maier-m The additional rules beyond schema validation are written in section 3.3 Reusable Content in the EML spec: https://knb.ecoinformatics.org/#external//emlparser/docs/index.html#reusableContent I list them here for convenience:
What would be great is if we wrote a function that could check all of these issues as an XML document is being parsed, and then call that after the The current EML parser is slow in part because it tries to do these checks in memory by loading the XML document as a DOM, and then querying the DOM for matches. A better algorithm is planned to fix the Java EMLParser (Issue NCEAS/eml#1). In this approach, we would 1) use a SAX parser to parse the EML document, and 2) record all |
The EML package
eml_validate
function currently does not run some of the checks used in Metacat. Ideally, they would show the same result.From Slack:
"it would be nice to add the extra schema-validity rules to the eml_validate function so it will show the same results as Metacat" (Matt)
"Once you send it across the network to the Member Node, Metacat runs a suite of custom validation rules on the EML.
It's stuff that XML schema's can't help us enforce, such as the match between a custom unit and its definition (as here) or ids and references." (Bryce)
open question:
"Im not sure what additional schema rules would be needed? right now
EML::eml_validate
is basically a wrapper forxml2::xml_validate
which feeds that function the eml schema (EML/xsd/eml-2.1.1/eml.xsd
). what additional checks are needed?" (Mitchell)The text was updated successfully, but these errors were encountered: