Michael Priestley wrote:
> It seems reasonable though to say that when the type is unspecified it
> should be determined by inspecting the target if possible, and only
> default to topic if the target cannot be inspected for some reason.
If we say "topic" is the default for xrefs to non-DITA-based content
(i.e., format="pdf" or format="html" or whatever) then that implies that
xref is only intended to create references to topics or topic components
and not, for example, links to non-topic-ish content (for example, a
link to an arbitrary Web site).
I think this is fine but we need to be clear that this is the case and
ensure that there is a different linking construct for handling
references to non-topic-ish stuff. However, I don't see anything like
that in the language reference (I'm looking at the spec dated 2005-05-09).
That is, normally I would expect to have something like "link" or
"weblink" or "urlref" or something that is intended to point to things
outside the scope of my documentation set and that therefore are not
really candidates for cross referencing, where I would expect, for
example, to be able to generate the target's title or label and page
number (for paginated output).
But if xref is intended to be a more general linking element, where only
one use is what I would think of as a normal xref, then I think that
type="topic" would not be appropriate, since normally the stuff you
*can't* resolve would not be topics (because normally you'd be able to
resolve references to topics [because you have to at least know the
topic's ID in order to author the link in the first place, which means
you probably have direct access to the topic or to some sort of database
of information about the topic, for example, a table of topic titles and
topic IDs, which is as good as resolving to the topic itself for the
purpose of processing xrefs]).
So I'm coming to the conclusion that the semantics of xref need to be
clarified and, if that clarification includes broadening their use to be
more of a generic linking element, then I think that an implied value of
"topic" should be changed to "unknown" or be based on the format= value
(i.e., if format="dita" then topic is a reasonable default, if it is
"ditamap" then "map" is a reasonable default, if format is any other
value, then "unknown" is a more reasonable default).
Cheers,
Eliot
--
W. Eliot Kimber
Professional Services
Innodata Isogen
9390 Research Blvd, #410
Austin, TX 78759
(214) 954-5198
www.innodata-isogen.com