OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Come On, DTD, Come On! Thoughts on DSDL Part 9

[ Lists Home | Date Index | Thread Index ]

Arjun Ray scripsit:

> One use that I'd like to have (in SGML too) is a "virtual element type"
> whose basic purpose is grouping, allowing a complex content model to be
> analysed into simpler named components.  For instance, suppose we had a
> HTML-like specification like this:
> 
>   <!ELEMENT  dl  (dt+,dd+)* >
> 
> Sometimes it's useful to gather a term with its descriptions as a group,
> like this:
> 
>   <!ELEMENT  dl  (dli)* >
> 
>   <!MODEL  dli  (dt+,dd+) >

That is one of the many purposes of the RELAX NG pattern.  Note that
unlike parameter entities, patterns are fully structured, not lexical: but
like PEs, patterns subsume the WXS notions of {content model, attribute
group, etc.} declarations.

In a DTD-ish style of RNG you would write the above as:

dl = element dl {dli+}

dli = dt+, dd+

dt = element dt { <whatever> }

dd = element dd { <whatever> }

> Such "elements" could be required to have no tags!  (And they also take
> away one reason to use parameter entities.  An open issue would be whether
> such virtual elements should share the same namespace as element types, or
> be indicated specially in model groups with a distinct marker, such as a
> '$' or '@' prefix.) 

In RELAx NG they do *not* share the lexical space of element types.
Everything on the left side of "=" in RELAX NG is local to the schema
and never appears in the instance.  Element type names and attribute
names appear only after the words "element" and "attribute".

> I've never understood the distaste for DTDs.

My principal objection is that they provide only a single content model
per element type regardless of context.  This arises because they
conflate element types with particles in content models.  The treatment
of attributes is also weak, and nothing at all is done when alternation
between child elements and attributes is desirable.

-- 
John Cowan <jcowan@reutershealth.com>     http://www.reutershealth.com
I amar prestar aen, han mathon ne nen,    http://www.ccil.org/~cowan
han mathon ne chae, a han noston ne 'wilith.  --Galadriel, _LOTR:FOTR_




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS