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


Help: OASIS Mailing Lists Help | MarkMail Help

dita message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [dita] XML Schemas discussion items for DITA 1.1

Eric Sirois wrote:

> 1) The DITA DTD Architecture binds the class attribute declaration via an
> ATTLIST declaration.  The current DITA XML Schema does not bind the class
> attribute to the element.  It binds the class attribute to the complexType.
> I think we should make the appropriate changes to the schemas in order to
> have the class attributes bound to the element declaration.  It means a
> sweeping change to the schemas, one that would be hidden from the end user
> and it would affect existing specializations as long as they did not use
> extensions in the past.

Without this change to the schemas it is impossible to declare a 
specialized element that directly uses the complex type of its 
specialization base. As Eric points out, this means that even when all 
you're doing is renaming an element in your specialization without 
otherwise changing the content model, you must still re-declare the 
content model as defined in the base declaration.

With this change, you can do two new things:

- Declare specializations that differ only in element type name from 
their base type

- Declare specializations of elements that use XSD's extension feature 
to add additional element types to the content model without redeclaring 
the entire base type's content model.

But it's more than convenience--I think the new pattern is the more 
accurate expression of the semantic of the class= attribute, which is in 
effect a replacement for the element type name (because the class 
attribute must reflect the name of the specialized element, as well as 
its specialization ancestry).



W. Eliot Kimber
Professional Services
Innodata Isogen
8500 N. Mopac, Suite 402
Austin, TX 78759
(214) 954-5198


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]