Bug in eml2 for inline element type defination

Jing Tao tao at nceas.ucsb.edu
Thu Mar 6 18:43:43 PST 2003


Hi, everyone:

Today, when we tried to upload an eml2 doucment with inline charater data
to Metacat, a error was shown that inline element can only have element
children and  can't have a character child(inline element is defined in
eml-resource.xsd). However, inline element supposes to support characters children.
Something is wrong.

We took a look on the definition and found the children of inline is
defined as "any". So it seemes schema only consider the "any"
just for elements come from any namespace and we couldn't put characters
in there. This is different to dtd "any". In dtd, "any" can be considered
as elements or characters.

Dan found an text type defined in w3c primer web site:
<xsd:complexType name="text">
 <xsd:complexContent mixed="true">
  <xsd:restriction base="xsd:anyType">
   <xsd:sequence>
    <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
   <xsd:attribute ref="xml:lang"/>
  </xsd:restriction>
 </xsd:complexContent>
</xsd:complexType>

It allows an unrestricted mixture of character content and element content
from any namespace.

I wrote an very simple schema which contains the text type and a xml
instance. Then using xerces to validate the xml instance by the schema. It
works fine if we delete the line: <xsd:attribute ref="xml:lang"/> in the
complex type definition.

So, can we use this type to replace the anonymous type for inline or other
place which use "any"?

By the way, Matt, Dan and Chad. I figured out why anoymous type for
inline element didn't work in this afternoon(I didn't put the line mentioned should be delete
in eml-resource.xsd). The reseaon is I didn't put attributes
"minOccurs="0"" in xsd:any element. If put it, works fine. Else gives us
the error. It is weild because we can omit minOccurs. Is this a bug
for xerces?

Thanks.

Jing


Jing Tao
National Center for Ecological
Analysis and Synthesis (NCEAS)
735 State St. Suite 204
Santa Barbara, CA 93101





More information about the Eml-dev mailing list