eml not valid is xmlSpy versions 2006+, eml-text and eml-documentation
This is NOT a duplicate of bug 2054.
These changes are needed to make eml validate in xmlSpy2006+:
<xs:complexType name="TextType"> => add mixed="true"
and to the choice of this complexType add minOccurs="0"
add elementFormDefault="qualified" to the root-element
Some folks who have newer versions of xmlSpy (2006, 2007) were not able to validate eml documents. The failures are mysterious and variable. Validating eml.xsd is successful, but when validating a data package, Spy replies that the schema is invalid. It usually fails in eml-view, but also occasionally in eml-project, or eml-software.
Initially, Altova tech support said that it was a bug in Spy. They recently changed their tune, and suggested the above changes to our schema. With these changes, local copies of EML can now be validated in Spy2007. Altova did not quote the parts of the xml specification relating to this error. Given the error messages from Spy, I was not able to see where eml failed to comply with the xml specs. I have put the email trail with error messages at the url above, if that helps anyone else get to the bottom of this.
It could be that this xmlSpy behavior is still a defect in the software, and that eml schema is valid as is, and that tech support is just trying to shut me up.
Relationships to other bugs:
1. It's possible that this was part of the behavior that Inigo reported in bug #2479, or described in emails to eml-dev.
2. This is not related to bug 2054, in which eml.xsd failed due to the <any> element in additionalMetadata. That failure was noticed first in xmlSpy2005, whereas this behavior first appeared with Spy2006.
#3 Updated by Margaret O'Brien over 12 years ago
from INigo and Margaret:
EML uses some parts of DocBook schema (eg. <para> and children). Some of these are generating the parsing errors in XMLSpy 2006+. For example, in eml.xsd, there are these lines inside <para> :
The Dublin Core Metadata Initiative
So it seems that there are 2 choices for the short term:
1. take all the ulink, citetitle, and other offending tags out of eml documentation
2. add these elements in as children of para
We could consider adding these back (and maybe more?) docBook elements later (i.e., 2.1+)
#4 Updated by Margaret O'Brien over 12 years ago
From Chris and Margaret:
With respect to the docbook elements that contribute to this bug in eml-text.xsd, we looked into the status of the DocBook schema. We discovered that as of March 2008, there is a committee draft for DocBook schema v5. It appears to be a complete refactoring of v4 (the dtd), and introduces many backward incompatibilities. Although EML is not terribly dependent on v4, importing this schema is likely to be outside the scope of eml-2.0.2, but might be considered in the future.
current specification http://www.docbook.org/specs/docbook-5.0-spec-cd-03.html
development history http://www.docbook.org/specs/
#5 Updated by Margaret O'Brien over 12 years ago
This is a summary of the fixes reported necessary by Inigo in his email to eml-dev (2008-02-27). Probably this list could be split into multiple bugs. Most schema docs are affected, and many also affect instance docs.
a. <xs:complexType name="TextType"> => add mixed="true"
b. and to the choice of this complexType add minOccurs="0"
add elementFormDefault="qualified" to the root-element
1 - : <ulink> unexpected under <para> in eml.xsd and elsewhere--> add element <ulink>, and child tag (<citetitle>) to the <para> element (in eml-text.xsd), following the "docBook" model.
2 - : no more elements under <moduleDocs> --> close element <moduleDocs> before we open <doc:module>s (group was not nested appropriately in eml.xsd)
3 - : further elements required under element <doc:description> in about ALL *.xsd files ---> added <section xmlns=""><para> group following <doc:description> and corresponding closing elements.
4 - : further elements required under element <doc:example> in most of *.xsd files --> added <section xmlns=""><para> group inside <doc:example> and corresponding closing elements.
5 - : empty element <doc:example/> in "methods description" eml-entity.xsd --> entry <doc:example/> deleted
6 - : element <sidebar> not allowed under element <section> in eml-attribute.xsd --> removed <sidebar> and corresponding closing element
7 - : <title> element opened after <para> group, not allowed ---> closed </section>, reopen <section>, then <title> is OK. (so, added </section><section> before <title>)
8 - new soft-complain: namespaces added for "coverage" in eml-dataTable.xsd
9 - : many empty <doc:description/> elements in eml-spatialRaster.xsd ---> Many elements removed or filled with "summary" content
10 - : many empty <doc:description/> elements in eml-spatialReference.xsd ---> Many elements <doc:description> filled with preceeding "<doc:summary>" content
11 - : many empty <doc:description/> elements in eml-spatialVector.xsd ---> Many elements <doc:description/> removed from eml-spatialVector.xsd
#6 Updated by Margaret O'Brien over 12 years ago
These are the changes required to fix bug 2703 (disregard list from previous comment):
1. eml-documentation.xsd: elements moduleName, moduleDescripiton, recommendedUsage, standAlone should be set to form="qualified"
2. eml-text.xsd: add mixed="true" to the definition of txt:TextType
3. eml-text.xsd: the <para> and <section> elements must be optional (minOccurs="0" maxOccurs="unbounded")
4. eml-text.xsd: add a child element to para: <ulink>
5. eml-text.xsd: add a child element to para: <citetitle>
6. eml-text.xsd: change element <sidebar> to <section>
The schema now validates in xmlSpy2007 at the W3C, everywhere.
For a version of the XSV validator which can be added to the oxygen editor, see: