conref and conditional processing: delayed resolution for use of DITA as a delivery format
Some runtime engines may be able to handle resolution of conref or conditions after the information is built. So the build process will need to distinguish which conrefs to preserve without resolving, which ids to publish as anchors usable by others in a larger environment, and which conditions to strip out of content (eg conditions that mention products not yet announced).
Major
{Describe this feature's use, as if ideally implemented.}
<topic id="abc"> <title>ABC<title> <shortdesc>...</shortdesc> <prolog><metadata> <exportanchors> <anchorid id="xyz"/> </exportanchors> </metadata></prolog> <body> <section id="myid">something</section> <section product="myfutureprod plusotherprod">another thing</section> <section id="xyz">and finally</section> </body> </topic>
<topic id="abc"> <title>ABC<title> <shortdesc>...</shortdesc> <body> <section>something</section> <section product="plusotherprod">another thing</section> <section id="xyz">and finally</section> </body> </topic>
<map> <topicref keys="ABC" scope="peer" href="../someoneelsesdir/abc.dita"> <topicmeta> <linktext>ABC</linktext> <shortdesc>...</shortdesc> <exportanchors> <anchorid id="xyz"/> </exportanchors> </topicmeta> <map>
keyref is documented in issue 40.
It would be a bonus if we could also generate a map like this during delivery, like a manifest of what's been delivered, to make it easier for others to find the content they can reuse and keep it up to date.
Some work for toolkit to introduce DITA delivery build that preserves or strips attributes as shown. More work for any delivery vehicle that wants to make use of this.
Content that users can customize, by applying their own profiles for conditional processing. For example, a common help set that can be filtered for a particular audience value based on which user is accessing the help.
Content that can be updated incrementally, even by different providers, and even when the content contains dependencies like reuse relationships. For example, a topic on configuring your printer that updates to show the latest settings when the printer is upgraded.
4 meetings to agree on design