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] chunking description for spec


A general comment, reflected in my detailed comments below: the DITA 
spec should never use "file" when "XML document" is meant (and since 
files are not part of any standard DITA is defined in terms of, should 
only used in the context of non-normative examples). Likewise, "file" 
should never be used where "storage object" is meant.

> *Reuse of a nested topic* – A content provider creates a set of topics 
> as a single module. A reuser wants to incorporate only one of the nested 
> topics from the module. 

Change "module" to "document". In this context the term "module" has no 
DITA-defined meaning and could be confused with "module" as it is used 
in the context of specialization. (A search on "module" in the latest 
architecture spec shows that "module" is only used in the context of 
specialization modules".)

   The reuse can reference the nested topic from a
> DITA map, using the chunk attribute to specify that the topic should be 
> produced in its own file.

I'm not sure why "chunk" is needed in this case--if I'm re-using a 
topic, regardless of where it occurs within its containing document, it 
will be processed without regard to its *parents*.

That is, while there may not be a default *value* for chunk, there 
absolutely is a default chunking behavior and it is definitely not 
"select-document" (I'm not even sure select-document is a good idea but 
that's a discussion for another day).

That is, in the case where the parent topic of the directly-used topic 
is not otherwise included in the map (or is not included via a parent 
topicref of the topicref using the directly-used nested topic) then the 
parent topic should not be involved at all, unless the chunk value is 
*explicitly set* to "select-document".

> *Use of the chunk attribute*
> 
> When a set of topics is transformed for output using a map, the map 
> author may use the chunk attribute to override the implementation 
> specific default behavior. 

I think a pointer to the implementation-specific stuff at the end of 
this discussion would be useful here--until I got there it was not clear 
what "implementation specific" meant.

   The chunk attribute allows the map author to
> request that multi-topic files be broken into smaller files, and that

change to: "request that multi-document XML documents be broken into 
multiple XML documents"

> multiple individual topics be combined into a larger files.  

change to: combined into larger XML documents.

> *by–topic – *When the chunk attribute value includes the “by–topic” 
> token, a chunking policy is established for the current topicref element 
> where a separate output document is produced for each source topic in

Here I think "document" should be "chunk" given that the details of the 
outputs cannot be known in this statement and therefore may or may not 
be documents in the XML sense (or any other sense).

> the referenced document. 

change: "topic in the referenced document" to "child topic of the 
referenced topic". There is no sense in which topic-containing documents 
can be referenced--only topics can be referenced using topicref 
format="topic".

   The policy only applies for a chunk action of
> the current element (for example, to-content), except when it is set on 
> the map or map specialization element, when the “by-topic” policy is 

"or map specialization element" is unneeded--it is sufficient to say 
"the map" as that implicitly includes any specializations of map.

> *by–document – *When the chunk attribute value includes the 
> “by–document” token, a chunking policy is established for the current 
> topicref element where a single output document is produced for the 

"output chunk"

> Some tokens or combinations of tokens may not be appropriate for all 
> output types. When unsupported or conflicting tokens are encountered 
> during output processing, warning and error messages may be produced. 
>  Recovery from such conflicts or other errors is implementation dependent.

Change "may" to "should"

This next paragraph is way too implementation dependent (it assumes a 
file-based storage system for example). I would make it a more qualified 
note:

add: "NOTE: When creating new topics via chunk processing, the storage 
object name or identifier (if relevant) is taken from the copyto 
attribute if set, otherwise the root name is taken from the id attribute 
if the by-topic policy is in effect and from the name of the referenced 
document if the by-document policy is in effect.


> *Examples*
> 
> Given several single topic files, parent1.dita, parent2.dita, …, 

c/files/documents/

> child1.dita, child2.dita, …, grandchild1.dita, grandchild2.dita 
> containing topics with ids P1, P2, …, C1, C2, …, GC1, GC2, …., several 
> nested topic files, nested1.dita, nested2.dita, …, each containing two 

c/files/documents/


> Produces a single output file, P1.xxxx, containing topic P1 and topics 

c/file/chunk/ and throughout


> 
> For use in the %topicref-atts; and %topicref-atts-no-toc; descriptions 
> in Chapter 23 of the DITA 1.1 Language Reference Specification:
>  
> *Name* 	*Description* 	*Data Type* 	*Default Value* 	*Required?*
> chunk 	When a set of topics is transformed using a map, the chunk 
> attribute allows multi-topic files to be broken into smaller files, and 

c/files/documents/

> multiple individual topics to be combined into  larger combined files.

c/files/documents/

Cheers,

Eliot
-- 
W. Eliot Kimber
Professional Services
Innodata Isogen
8500 N. Mopac, Suite 402
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]