dita — archive
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
— [Date Index]
| [Thread Index]
| [Month Index]
| [List Home]
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
[email protected]
www.innodata-isogen.com
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
— [Date Index]
| [Thread Index]
| [Month Index]
| [List Home]