[eml-dev] [Bug 3508] New: - create a stylesheet for EML2.0.x to EML 2.1.0

bugzilla-daemon at ecoinformatics.org bugzilla-daemon at ecoinformatics.org
Mon Oct 6 16:33:43 PDT 2008


http://bugzilla.ecoinformatics.org/show_bug.cgi?id=3508

           Summary: create a stylesheet for EML2.0.x to EML 2.1.0
           Product: EML
           Version: 2.0.1
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: eml - general bugs
        AssignedTo: jones at nceas.ucsb.edu
        ReportedBy: mob at icess.ucsb.edu
         QAContact: eml-dev at ecoinformatics.org
 BugsThisDependsOn: 1132,1152,2054,2568


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)


More information about the Eml-dev mailing list