Bug #3508
opencreate a stylesheet for EML2.0.x to EML 2.1.0
0%
Description
there are 4 changes in EML 2.1.0 which need to be addressed in a transformation stylesheet. Summarized:
1. datetime -> dateTime (bug #1152)
2. new additionalMetadata/metadata element (bug #2054)
3. method -> methods (bug #2568)
4. access trees moved (bug #1132)
Detailed:
1. xpath in instance docs:
/eml/dataset/dataTable/attributeList/attribute/measurementScale/datetime
becomes .../dateTime
2. xpath in instance docs (* neq <describes>):
/eml/additionalMetadata/* becomes /eml/additionalMetadata/metadata/*
3. method was declared in entity group, so all these paths become "methods":
eml/dataset/dataTable/method
eml/dataset/spatialRaster/method
eml/dataset/spatialReference/method
eml/dataset/spatialVector/method
eml/dataset/view/method
eml/dataset/storedProcedure/method
4. access trees moved:
case 1: access tree at resource level:
/eml/dataset/access and /eml/software/access moved to eml/access
case 2: access tree(s) in additionalMetadata sections:
Current behavior:
Do not recognize <access> siblings of additionalMetadata/describes that reference
/eml/dataset/distribution
/eml/software/distribution
Recognize <access> siblings of additionalMetadata/describes that reference
/eml/dataset/dataTable/physical/distribution
/eml/software/implementation/distribution
recognizable cases:
4.2.1.one additionalMetadata/describes element pointing a recognized node, with one sibling access tree
action: move the access tree, remove additionalMetadata section
4.2.2. two (or more) additionalMetadata/describes elements pointing to recognized nodes, with one sibling access tree
action: copy the access tree to both locations, remove additionalMetadata
4.2.3 two (or more) additonalMetadata/describes
4.2.3.1 references a distribution node
action: remove the <describes>, copy the access tree to the referenced node
4.2.3.2 references some other non-recognized node
action: leave the <describes>,
additionalMetadata/access -> additionalMetadata/metadata/access
4.3. one additionalMetadata/describes element pointing to a recognized node,
with multiple sibling access trees (in eml 2.0.x, these will need to have been wrapped in another element in order to be valid)
action: move nothing. can't deal with elements that arent 2.0.1 [aside: addtionalMetadata section will have <metadata> tag added per item 2. above ]
4.4 the eml-author created access trees in additionalMetadata that contain non-eml material. we cannot move these to other parts of the EML instance document. [aside: If metacat has encountered additional not-eml elements alongside access elements, it would have ignored them.]
To be sure output is valid EML, a script should include the parser to check the doc against the schema. Can the stylesheet do this alone? Jing and margaret not sure.
4.1. assuming stylesheet finds the non-eml material (ie, it can parse), possible actions include:
a? ignore access tree, but wrap it in <metadata> </metadata>
or b? reject document, tell use that the resulting eml will be invalid
or c? rebuild access tree in the new location (ie, try to interpret what author wanted)
Files
Related issues