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] Proposal: Update foreign topic to include processing info forgeneralization/specialization use case


Robert D Anderson wrote:
> It seems like - if we support the foreign and unknown element - we have
> these options when using DTDs:
> 
> 1. We state that, if you use the foreign or unknown elements, you have no
> way to share topics with others that do not use your foreign DTD module.
> This would be the only way to make a DITA document that cannot be taken
> back to the topic type that represents a least-common-denominator, because
> you can never share with somebody that does not use this module.

What's to stop you from creating a variant of say the DITA-defined topic 
declarations that allow the foreign content where it will occur in the 
generalized result?

If you are doing the generalization (that is, you are creating a new 
generalized instance) you can certainly also create a variant 
declaration set for that instance that allows the foreign content and 
you can send that DTD along with the generalized instance to whomever 
you are interchanging with.

A DITA processor cannot possibly care where the declarations for a given 
instance to be processed are stored (that's a parser issue, not a 
processor issue) so it can't be a problem for a DITA processor to 
process documents that use different declaration sets.

Note too that a generalization application that *didn't* fully expand 
all defaulted attributes already has to have a pretty sophisticated 
output serializer that knows which attributes have default values and 
what those values are. It can't add that much complexity to also write 
the appropriate DOCTYPE declaration (i.e., the one that points to the 
declaration sets for the generalization with the foreign elements included).

But if a generalizer expands all attributes, then there's not much point 
in having the resulting instance specify a DTD at all since it's not 
needed for correct parsing (there's no markup minimization left) and if 
the input docs are valid the generalized result must be valid.

So I'm not sure that it's really that big of an issue.

Remember that in XML there is only one kind of markup minimization, 
attribute defaults, and if you eliminate that from your instance you 
don't need DTDs except to do validation, and if you trust your content 
to be *semantically* correct (that is, correct enough that you can 
process it to a usable result) then a DTD *has no added value* in that 
case and you therefore don't need it at all.  I would think that the 
generalization use case is exactly this case: you're generally assured 
that the generalized result is valid.

Cheers,

Eliot
-- 
W. Eliot Kimber
Professional Services
Innodata Isogen
9390 Research Blvd, #410
Austin, TX 78759
(214) 954-5198

ekimber@innodata-isogen.com
www.innodata-isogen.com



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