OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

dita message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: How To Specify the Relationship Type Defined By A reltable?


Relationship tables create extended links that relate the resources pointed
to by the cells in a given row in the table. The documentation for reltable
in the language reference makes it fairly clear that the title specified for
<relcolspec> defines the role played by each column (that is, the anchor
roles).

However, I'm not seeing anything that directly indicates the link type of
the relationship represented by each row.

For example, say I wanted to use relationship tables to represent
knowledge-type relationships among topics representing specific entities,
such as people. I want to have a link type of "married to" that has two
roles, "husband" and "wife" and then relates topics for people to indicate
that they exist in such a relationship:

  <reltable >
    <title>isMarriedTo</title>
    <relheader>
      <relcolspec>
        <topichead>
          <topicmeta>
            <navtitle>Husband</navtitle>
          </topicmeta>
        </topichead>
      </relcolspec>
      <relcolspec>
        <topichead>
          <topicmeta>
            <navtitle>Wife</navtitle>
          </topicmeta>
        </topichead>
      </relcolspec>
    </relheader>
    <relrow>
      <relcell>
        <topicref
          href="wek-01.dita"/>
      </relcell>
      <relcell>
        <topicref
          href="jaw-01.dita"/>
      </relcell>
    </relrow>
  </reltable>

In this example, is <title> on <reltable> the intended way to indicate the
relationship type? 

I could see that as being a reasonable expectation, but I could also see
<title> being used simply as an informative label for a specific table
instance, having nothing to do with the intended link type. That is, I might
have two relationship tables for different sets of marriages, for example,
marriages in Shakespeare or spouses of famous artists, or whatever, where I
want the table title to contribute to some presentation of the tables
themselves, rather than the use of the tables simply to generate links in
rendered topics.

So I think that I would not want <title> to be the primary or only way to
indicate link type.

Note that while <reltable> takes a @type attribute, my understanding from
the spec is that this sets the default value for @type on the topicrefs
within the reltable, which is not about link type or anchor roles, but
merely about the topic type that can be referenced, which may have nothing
to do with the semantic types of the anchors.

Was there every any expectation that specializations of reltable or relcell
would indicate the link type or anchor roles through their tagnames?

I would expect that, simply because it's a useful convenience and I love to
do specialization, but I don't see anything in the current spec that
supports that expectation and, as there's no attribute that explicitly
represents the link type or anchor role (since @type cannot be that
indication in the general case), there's no way to set the type as a default
through a specialization (at least not a DTD-based specialization, anyway),
which I might also have expected.

Was link type specification considered in the original design of
relationship tables or is this an area we need to clarify or extend in DITA
1.3?

Cheers,

E.  


-- 
Eliot Kimber
Senior Solutions Architect
"Bringing Strategy, Content, and Technology Together"
Main: 512.554.9368
www.reallysi.com
www.rsuitecms.com



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]