Hyperdocument Authoring Link Management Using Git and XQuery in Service of an Abstract Hyperdocument Management Model Applied to DITA Hyperdocuments
The authoring and management of hyperdocuments through non-trivial development and publication life cycles presents an inherent challenge in the management of the links that make the documents hyperdocuments. When those documents involve the reuse of content within a single publication or among multiple publications the challenge is amplified. There are two principal requirements: managing the resolution of a given invariant address to the appropriate target or targets in the context of a given configuration of the hyperdocument components (e.g., a specific version in time) and in the context of a specific use of a given re-usable component. This is generally expressed as the problems of "version-aware linking" and "use-context-specific linking". Both problems can be addressed through some form of indirect addressing which can solve the use-context-specific linking problem, but does not, by itself, solve the version-aware linking problem (although indirect addressing facilities can be used to represent version- or configuration-specific addreses as an implementation strategy). In addition, there are practical challenges in the human management of hyperdocuments, especially where different related publications have asynchronous or loosely-coordinated revision and publication cycles. Any link management approach must address both the basic challenge of how to represent and resolve addresses and how to support the practical challenges faced by authors of hyperdocuments.
This paper presents an abstract model of hyperdocument management, which satisfies the link and address management requirements, and shows how that model can be implemented in practice using the git version control system (or its equivalent) and a supporting XQuery database that provides essential link management features authors require. Documents based on the Darwin Information Typing Architecture (DITA) standard are used to illustrate the problem and solution as DITA provides an indirect addressing facility that both illustrates the problem and provides part of the solution. DITA also enables (and encourages) reuse, providing real-world examples of all the challenging link management use cases addressed in this paper.