Thanks to visit codestin.com
Credit goes to github.com

Skip to content

create a stylesheet for EML2.0.x to EML 2.1.0 #216

@mbjones

Description

@mbjones

Author Name: Margaret O'Brien (Margaret O'Brien)
Original Redmine Issue: 3508, https://projects.ecoinformatics.org/ecoinfo/issues/3508
Original Date: 2008-10-06
Original Assignee: Matt Jones


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 ):
    /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 siblings of additionalMetadata/describes that reference
/eml/dataset/distribution
/eml/software/distribution

Recognize 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 , copy the access tree to the referenced node
4.2.3.2 references some other non-recognized node
action: leave the ,
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 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
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)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions