Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@mbjones Can you take a quick look through this when you get a chance.
I believe this should address #25 by implementing the additional validation checks, as I understood them (modulo any handling of
system
. Currently I just treat allids
throughout the document directly, while I think technically I should be permitting identical ids that have different systems, and likewise making sure thatreferences
describes
match the system and not just theid
value, right?)I believe I have understood the rule correctly about the use of
id
orreferences
regarding anannotation
(the annotation must have a subject, and only one can be the subject), but I'm not 100% sure. In particular, it looks like the current (but 5 mo stale) eml-data-paper.xml fails this test because there is a childannotation
on adataset
node that has noid
, and noreferences
on theannotation
. You'll see in this PR I've taken the liberty of modifying my local copy of that test file.Also, I wasn't clear if the packageId needed to be included in the list of ids that had to be unique (or similarly, if
references
anddescribes
were allowed to reference thepackageId
instead of anid
). Currently I have followed the instructions literally, sopackageId
has to exist but that is all, it's not part of the other checks.