Diff for Design for implementing 12015
Wed, 2008-07-09 07:01 by imagiczhang | Wed, 2008-07-09 07:19 by imagiczhang | ||
---|---|---|---|
< previous diff | next diff > | ||
Changes to Body | |||
Line 21 | Line 21 | ||
</ol>
| </ol>
| ||
<p>
| <p>
| ||
- |
| + | Since XSLT 1.0 is not capable enough to resolve and action on conref push, we need to create new module among preprocess steps. The name of the new step is called Push and consists three Java Class, PushModule, PushReader, PushParser. The responsibility of the Java classes are listed as followings:
|
- | </p>
| + | |
- | <p>
| + | |
- |
| + | |
- | </p>
| + | |
- | <p>
| + | |
- |
| + | |
- | </p>
| + | |
- | <p>
| + | |
- |
| + | |
</p>
| </p>
| ||
+ | <ul>
| ||
+ | <li>PushModule reads the file list provided by Genlist module. The file list contains all files which contains conref push information.Then it goes through the list and trigger PushReader to read and proceed the conref push information.</li>
| ||
+ | <li>PushReader reads the conref push information in specified files and call PushParser to write the information it reads to specified conref push target</li>
| ||
+ | <li>PushParser parses the specified conref push target file provided by PushReader and write the content to the specific location.
| ||
+ | </li>
| ||
+ | </ul>
| ||
<p>
| <p>
| ||
|
|
Revision of Wed, 2008-07-09 07:19:
Design for implementing 12015
Design for implementing "push conref " in the DITA Open Toolkit
What user need will be met by this feature?
Users can use conaction pairs combined with @conref to push the content to a specific location.
What is the technical design for the change
Design assumption:
The following design assumption are used to track the technical constraints of current implementation. If later, the containts are broken, we might change the design and implementation.
- XSLT cannot generate multiple outputs in a single transformation
Note: conref push is in the reverse direction to solve @conref. When resolving normal @conref, we need to read from multiple input and put the content in one output. So in conref push, we need to read single input and push it to differenct outputs. XSLT 1.0 we are using now does not support generate to multiple outputs and XSLT 2.0 standard support that. If later, XSLT 2.0 is adopted, we might need to refactor design and implementation to new ways.
Since XSLT 1.0 is not capable enough to resolve and action on conref push, we need to create new module among preprocess steps. The name of the new step is called Push and consists three Java Class, PushModule, PushReader, PushParser. The responsibility of the Java classes are listed as followings:
- PushModule reads the file list provided by Genlist module. The file list contains all files which contains conref push information.Then it goes through the list and trigger PushReader to read and proceed the conref push information.
- PushReader reads the conref push information in specified files and call PushParser to write the information it reads to specified conref push target
- PushParser parses the specified conref push target file provided by PushReader and write the content to the specific location.
What sections of the toolkit will be impacted by the change?
See also
none