dynamic reuse

the current version of DITA data model supports several complementary implementation of reusing data.
reuse of topic as complete information object
conref to reuse within fine structure of an information object (useful for common used structures like warnings)
and profiling of information objects.

all of these methods are static, means the reused content cannot be adopted even if life cycle of information requires this (thats what ann rockley called a locked reuse).

if you talk about the life cycle of information this kind of reuse has strong limitation. if you want to "reuse" a use case provided by a analyst / software developer into a task (which would be very common) you have to force the analyst to specify in a way further usage of this use case (information object) can be provided as is.

thats has one major drawback. the analyst must focus on the specification and must provide information in a way the engineering team can work with. if he spend to much time in generalize the information object his skills are "wasted" and overall ROI will not be positive.

on the other hand the information created by the analyst must be adopted for service documentation, training documentation, user documentation.....means the use-case and corresponding topic in user documentation are the "same" information object from an information architectural point of view.

each time the use case changed the associated user documentation task must be adopted or at least approved.

this kind of approach can be perfect supported by a "dynamic reuse" or ann rockley would call it 

"derivative reuse". this means that the content of the information object is copied into the derived information object but there is still a connection to the information provider available. thus connection can be used to provide processing support for "dynamic reuse" e.g. an change notification each time the information provider changed, .....

what needs to be done to introduce dynamic reuse in DITA. a special kind of attribute is required which maintain the link to the information provider. this attribute must be specified (e.g. dynref) as well as the associated elements the attribute is required. similar to conref. the semantic of this reference must be specified as well.

thats simple for a standardization point of view, but provides many advantages. if this is standardized all people working on the processing chain (incl. DITA OT) can provide / improve support for this and somehow in the future most tool vendors implemented support for this.

in my personal point of view this is the missing gap in most information architectures that everything is based on static reuse. thus the life cycle of information objects are limited and therefore the usage of information objects are as well limited.

feedback welcome,



The ultimate function of prophecy is not to tell the future, but to make it. Your successful past will block your visions of the future.

The data plays an vital role in all languages. So it must be storable, reusable ,etc., In DITA reusing of data dynamically is very easy. Here the message about the DITA's dynamic reuse.

My Personal Blog

When you say dynamic reuse, I tend to think of reuse that is resolved at runtime rather than build time - that's quite different from derivative reuse.

For what I would call dynamic reuse, there are some conref proposals for DITA 1.2 that hopefully can enable DITA for systems that have live/dynamic reuse capabilities.

For tracking derivative relationships, there is already some capability in DITA 1.0: specifically, the source element in topic metadata, which allows an author or system to identify the document that is the "source" of the current topic. This doesn't provide tracking below the topic level, but that may not be necessary for the scenarios you describe.

Michael Priestley

XML.org Focus Areas: BPEL | DITA | ebXML | IDtrust | OpenDocument | SAML | UBL | UDDI
OASIS sites: OASIS | Cover Pages | XML.org | AMQP | CGM Open | eGov | Emergency | IDtrust | LegalXML | Open CSA | OSLC | WS-I