In looking over the XML spec (3.2.2) on mixed content
models, something isn't clear to me. I'm hoping someone
here can enlighten me.
I've inherited a DTD for development that was originally
intended to be an SGML DTD, and has been converted to XML.
Contained within it is the following:
<!ELEMENT qstn (#PCDATA | (preQTxt?, qstnLit?, postQTxt?, forward?,
backward?, ivuInstr*))*
Is this a legitimate content model under XML section 3.2.2?
Msxml doesn't have a problem with it, and nsgmls using the -wxml flag
also happily parses the DTD. IBM's xml4j, however, complains:
"Codebook.dtd: 1256, 33: This content model is not matched with the
mixed model '(#PCDATA|FOO|BAR|. . .|BAZ)*': '(#PCDATA|(preQTxt?, qstnLit?,
postQTxt?,forward?,backward?,ivuInstr*))*".
I suppose this boils down to, should the parser ignore what's within
a content group when evaluating whether someone is trying to constrain
the order or number of occurrences of 'child elements.' If the
only 'child elements' to be considered in the above case are:
A. #PCDATA, and
B. (preQTxt?, qstnLit?, postQTxt?, forward?, backward?, ivuInstr*)
Jerome McDonough -- jmcdonou@library.Berkeley.EDU | (......)
Library Systems Office, 386 Doe, U.C. Berkeley | \ * * /
Berkeley, CA 94720-6000 (510) 643-2058 | \ <> /
"Well, it looks easy enough...." | \ -- / SGNORMPF!!!
-- From the Famous Last Words file | ||||