metacat using illegitimate versions of EML schemas
Metacat should ship with EML 2.0.0 and EML 2.0.1 schemas preinstalled. Upon inspection, it seems we are using modified versions of these that include files from the HEAD of the EML CVS.
A concrete example is eml-resource.xsd. According to the tags:
This indicates that we should be shipping 1.78 with the metacat release for EML 2.0.1. But in the production version, it contains 1.79. I suspect this is being picked up from the UPDATE_5 tag, which is wrongly tageed at version 1.79.
This needs to be fixed ASAP, and we need to notify LTER of the problem because they will likely have a bunch of invalid documents once we start enforcing the 2.0.1 schema properly.
#1 Updated by Jing Tao over 12 years ago
Here are some thoughts:
For short term solution, we can check out a RELEASE_EML_2_0_1 version eml and manually copy those .xsd files to web-context/schema/eml-2.0.1 directory.
Those files are need to be copied (total 24 files):
eml-access.xsd eml-coverage.xsd eml-documentation.xsd eml-methods.xsd eml-project.xsd eml-software.xsd eml-spatialVector.xsd eml-view.xsd
eml-attribute.xsd eml-dataset.xsd eml-entity.xsd eml-party.xsd eml-protocol.xsd eml-spatialRaster.xsd eml-storedProcedure.xsd eml.xsd
eml-constraint.xsd eml-dataTable.xsd eml-literature.xsd eml-physical.xsd eml-resource.xsd eml-spatialReference.xsd eml-text.xsd stmml.xsd
I will try this first in dev, then in knb if everything looks good in dev.
For long term solution, we need to use different tags for eml 2.0.1 xsd files and xsl files in metacat build.xml. RELEASE_EML_2_0_1 for schema and RELEASE_EML_2_0_1_UPDATE_* for style sheets. So I will propose two properties name here:
During metacat build process, eml201 will be checkout first as eml2_0_1-schema-tag, and xsd files will be copied to the schema dir. Then eml201 checkout will be update by eml2_0_1style-tag, and xsl files will be copied to style sheet dir.
Currently we don't ship eml-200 style sheets with metacat. It uses eml201 one. So we wouldn't add new style property for eml200.
#3 Updated by Jing Tao over 12 years ago
Callie inserted a new document into dev and the "system" attribute of "references" is gone. I also tried to insert a document which is existed eml201 instance containing "system" attribute in "reference", it failed - [attributes] of element 'references' must be empty.
I didn't see any unknown problem to do this in knb production server.
#5 Updated by Jing Tao over 12 years ago
ben, yes. see bug http://bugzilla.ecoinformatics.org/show_bug.cgi?id=1601
#6 Updated by Jing Tao over 12 years ago
In build.xml, two new properties were created:
<property name="eml2_0_1-schema-tag" value="RELEASE_EML_2_0_1" />
<property name="eml2_0_1-style-tag" value="RELEASE_EML_2_0_1_UPDATE_6" />
eml201 will be checkout twice to copy schema and style sheets respectively.
The result turned out new installation will get correct eml201 schema and style sheets. It works fine.
Manually copying RELEASE_EML_2_0_1 schema to knb production was postponed. We need to coordinate with bug 3241 - Update older invalidated eml201 document in Metacat.