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

  • From: James Clark <jjc@j...>
  • To: Norman Walsh <ndw@n...>
  • Date: Wed, 10 Jan 2001 20:58:29 +0700

Norman Walsh wrote:

> The significant feature that seems to be missing, but might be addressed
> with <redefine> if it's extended to allow complete redefinition of
> model groups and attribute groups (i.e., redefinition without reference
> to the original), is the ability to change the groups in derived schemas.
> 
> Suppose I have the following PE in my DTD:
> 
>   <!ENTITY % article.content "para|note|warning">
> 
> I can easily construct a derived DTD that does not allow warnings:
> 
>   <!ENTITY % original.dtd SYSTEM "...">
>   <!ENTITY % article.content "para|note">
>   %original.dtd;
> 
> It's not clear that I can do this with XML Schemas, and I do this *a lot*.

TREX allows you to do this.  Your original PE would turn into:

<define name="article.content">
  <choice>
    <ref name="para"/>
    <ref name="note"/>
    <ref name="warning"/>
  </choice>
</define

You would override it using:

<include href="..."/>
<define name="article.content">
  <choice>
    <ref name="para"/>
    <ref name="note"/>
  </choice>
</define

(In TREX, the last definition wins.)

James


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