dita cross-deliverable-addressing-poster
TRANSCRIPT
![Page 1: Dita cross-deliverable-addressing-poster](https://reader036.vdocument.in/reader036/viewer/2022071814/55a60ad11a28abef7b8b4639/html5/thumbnails/1.jpg)
DITA 1.3 Cross-Deliverable
Addressing• DITA publications represented by “root maps”• Each root map establishes one or more unique “key
spaces” for addressing topics by key name (indirect addresses)
• Each key space has one or more associated “scope names”• Can address keys in a separate root map by assigning a key
scope to the target root map (topicref with @scope=peer)• Cross-deliverable links in the source are unambiguous• In general case, author cannot know potential deliverables
for target publications. Can only know location of source as authored for target publications.
• Challenge: How to render working cross-deliverable links from a given deliverable produced from a given root map?
W. Eliot Kimber Contrext, LLC Balisage 2014
![Page 2: Dita cross-deliverable-addressing-poster](https://reader036.vdocument.in/reader036/viewer/2022071814/55a60ad11a28abef7b8b4639/html5/thumbnails/2.jpg)
Solution: Generated Deliverable-
Specific Key Definitions and Maps
1. For each root map/deliverable pair, generate a set of key definitions that bind keys to addressable locations in the deliverable.
2. For a given deliverable:A. Generate an intermediate map that includes the
deliverable-specific key definitions for each target deliverable before or in place of any original key definitions
B. Adjust the order of key definitions as needed to bind a given key to the appropriate deliverable
C. Process this map to produce the final deliverable
W. Eliot Kimber Contrext, LLC Balisage 2014
![Page 3: Dita cross-deliverable-addressing-poster](https://reader036.vdocument.in/reader036/viewer/2022071814/55a60ad11a28abef7b8b4639/html5/thumbnails/3.jpg)
Additional Requirements
• Deliverable instance definition– Captures a root map/deliverable pair
– Captures information about how the map is processed:• Filtering and flagging parameters
• Rules for mapping specific keys to specific deliverables
• Any other runtime parameters
• Business rules for choosing target deliverables
• Delivered location of result deliverable (e.g., URL as delivered, shared file system location, etc.)
• Production time and any other relevant historical details (agent making request, server produced on, etc.)
– Can be standardized for interchange and historical tracking
W. Eliot Kimber Contrext, LLC Balisage 2014
![Page 4: Dita cross-deliverable-addressing-poster](https://reader036.vdocument.in/reader036/viewer/2022071814/55a60ad11a28abef7b8b4639/html5/thumbnails/4.jpg)
Benefits
• Not dependent on use of a single all-knowing server
• Uses standard DITA facility: keys
• Deliverable production can be done by DITA 1.2 processors. Knowledge of key scopes only required for first pass.
• Deliverable production can be distributed across multiple loosely-coupled servers
W. Eliot Kimber Contrext, LLC Balisage 2014
![Page 5: Dita cross-deliverable-addressing-poster](https://reader036.vdocument.in/reader036/viewer/2022071814/55a60ad11a28abef7b8b4639/html5/thumbnails/5.jpg)
Implementation Challenges
• Deliverable producers must produce key-to-address mappings
• For complete automation, need way to correlate root maps as referenced to deliverable definitions to use for a given deliverable generation instance.
• Author-control of key-to-deliverable mapping requires modifying intermediate key sets– Could be avoided through metadata on key definitions or
parameters to deliverable generation process
• How to translate key and element ID to deliverable-specific address?
W. Eliot Kimber Contrext, LLC Balisage 2014
![Page 6: Dita cross-deliverable-addressing-poster](https://reader036.vdocument.in/reader036/viewer/2022071814/55a60ad11a28abef7b8b4639/html5/thumbnails/6.jpg)
Practical Implications
• Regeneration of any given deliverable may require regeneration of deliverables that link to that deliverable
• In practice, requires some sort of production management system to track and maintain historical production details and make production process easy and convenient
• Process simplified by imposing business rules, e.g. “like links to like”
W. Eliot Kimber Contrext, LLC Balisage 2014
![Page 7: Dita cross-deliverable-addressing-poster](https://reader036.vdocument.in/reader036/viewer/2022071814/55a60ad11a28abef7b8b4639/html5/thumbnails/7.jpg)
Addresses as authored
Map Pub1
Scope: P2=Pub2
Map Pub2Key: A=Topic T2
Topic T1
Key ref: P2.ATopic T2
Root Map Root MapPublication Boundary
W. Eliot Kimber Contrext, LLC Balisage 2014
![Page 8: Dita cross-deliverable-addressing-poster](https://reader036.vdocument.in/reader036/viewer/2022071814/55a60ad11a28abef7b8b4639/html5/thumbnails/8.jpg)
Pass 1: Generate deliverable-specific key definitions and maps
Map Pub2Key: A=Topic T2
Deliverable Producer
DeliverableDefinition
Pub2 HTML Key Definitions
Key: A=T2.htm
Map Pub1
Scope: P2=Pub2
DeliverableDefinition
Deliverable Producer
Pub2 PDF Key Definitions
Key: A=Anchor A1
Pub1 HTML Key Definitions
Pub1 PDF Key Definitions
Map Pub1-PDF
Map Pub1-HTML
W. Eliot Kimber Contrext, LLC Balisage 2014
![Page 9: Dita cross-deliverable-addressing-poster](https://reader036.vdocument.in/reader036/viewer/2022071814/55a60ad11a28abef7b8b4639/html5/thumbnails/9.jpg)
Pass 2: Produce deliverables from intermediate maps
Map Pub1-HTML
Pub2 HTML Key Definitions
Key: P2.A=T2.htm
Pub2 PDF Key Definitions
Key: P2.A=Anchor A1
Topic T1
Key ref: P2.A
Pub 2HTML
Pub 2PDF
Anchor: A1
T2.htm
Pub 1HTML
T1.htm
A href=T2.htm
Intermediate Source Pub 1 HTML Deliverable Pub 3 HTML Deliverable
W. Eliot Kimber Contrext, LLC Balisage 2014