Because of the way we use RelaxNG as a pivot format in generating XSD,
we're going to end up with invalid XSDs around the anyElement issue.
Basically, XSD handles "anyXML" sections differently than RelaxNG, and so
Relax discards information we can provide with anyElement to avoid the
problem.
Relax allows you to say "these elements/namespaces can't occur in the spot
where any XML is allowed."
XSD, on the other hand, lets you say any XML but "only these namespaces
here", and/or "any namespace but the default one".
Pure ODD is basically capable of saying either of these things, but as far
as XSD, because we pipe through Relax, it ends up being able to say neither
of them. This is a problem, because in the case of things like <content>,
which can contain either Pure ODD TEI elements or RelaxNG, an xsd:any/
means you have a nondeterministic content model (because "any" includes TEI
elements). The XSD solution would be to say
participants (1)
-
Hugh Cayless