[Home] [By Thread] [By Date] [Recent Entries]

  • From: James Clark <jjc@j...>
  • To: xml-dev@l...
  • Date: Thu, 11 Jan 2001 11:27:07 +0700

It seems relatively easy to rewrite individual content models to
workaround the restriction on ambiguity.  Where I find it much more of a
nuisance is the way it makes parameterization harder.  For example,
imagine something like

<!ENTITY % local.emph.class "">
<!ENTITY % emph.class "emph|phrase %local.emph.class;">

<!ENTITY % local.tech.class "">
<!ENTITY % tech.class "code|var %local.tech.class;">

<!ELEMENT eg (#PCDATA|%emph.class;)*>
<!ELEMENT p (#PCDATA|%emph.class;|%tech.class;)*>

Now suppose I want to allow the var element everywhere the emph element
is allowed (ie inside eg).  In my internal subset I do:

<!ENTITY % local.emph.class "|var">

Then I get hit with an ambiguity in the content model for p.

TREX avoids this annoyance by fully supporting ambiguous content
models.  I believe RELAX does also.

James


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member