Open RobLBaker opened 1 year ago
Thanks for the report, @RobLBaker . Can you put a code snippet of the FK section of your document in the issue here, or provide a link to the file to test against please?
I'll look into ways to share the whole file but for the time being here are the constraints:
<constraint>
<foreignKey>
<constraintName>FK_Org_Code_Project_ID</constraintName>
<key>
<attributeReference>Results.Org_Code</attributeReference>
<attributeReference>Results.Project_ID</attributeReference>
</key>
<entityReference>Projects</entityReference>
</foreignKey>
</constraint>
<constraint>
<foreignKey>
<constraintName>FK_Org_Code_Location_ID</constraintName>
<key>
<attributeReference>Results.Org_Code</attributeReference>
<attributeReference>Results.Location_ID</attributeReference>
</key>
<entityReference>Locations</entityReference>
</foreignKey>
</constraint>
Hello! I have an example xml file containing EML that contains a foreign key constraint. When I use EML::read_eml() followed by EML::eml_validate(), it fails to validate the file (even though it validates using https://knb.ecoinformatics.org/emlparser/). After exporting the R object to .xml using EML::write_eml(), the .xml file now fails to validate using https://knb.ecoinformatics.org/emlparser/.
If I remove the foreign key constraints, the file validates in R and the newly exported .xml file also validates using the knb tool.
I suspect that R/EML is introducing invalid eml when importing to R, that these error cause the EML to fail to validate using EML::eml_validate and that the errors are then persist when the file is written back to .xml.
If I then write the R-object back to .xml, it fails to parse using the knb.ecoinformatics parser:
Unfortunately, github doesn't support uploading/attaching .xml files, but I am happy to supply the original file via email for the purposes of testing and replication.