Reply to: Conref from Specialized TopicsJune 16, 2009 at 5:54 pm
I have more to report and still have questions, but my questions are evolving. After comparing the domains in the base DITA DTDs with the domains in my local shell DTDs, I found that my local shells did not include the Utilities domain.
I was able to create a conref from a base DTD topic to a shell DTD topic after:
1) Adding the Utilities domain back into my shells
2) Removing the base attribute specializations from my shells
Without knowing exactly what XMetaL is doing in the way of validation, it appears that it will not allow conrefs between any topics where the included domains are not identical. Since domain elements are specializations of base elements, I would think that XMetaL should not require that I include any domains in my shell DTDs. When I created my shells, I followed Eliot Kimber's popular specialization tutorial. Step 2-2 advises removing domains from your shell DTD as a good way of limiting the elements available. ([url=http://www.xiruss.org/tutorials/dita-specialization/dita_specialization_tutorial/topic-specialization-step-2-2.html]http://www.xiruss.org/tutorials/dita-specialization/dita_specialization_tutorial/topic-specialization-step-2-2.html[/url])
I have to admit, though, that I'm not sure how XMetaL should handle it if I conref'ed a paragraph that contained an imagemap into a topic where the DTD does not include that element.
But as for my domain attribute specializations of @base, again I cannot see why that would prevent me conref'ing content from base DTD topics into my shell DTD topics. My shell DTDs include all the domains that the base DTDs do, and more. So why limit my ability to conref from base to shell? If
I'm wrong about XMetaL requiring identical domains for content references, I'll be glad to hear it. There is always a chance that I have not implemented my domain attribute specializations correctly.