<join> identifies a possibly fragmented segment of text, by pointing at the possibly discontiguous elements which compose it.
Attributes:
targets specifies the SGML identifiers of the elements or passages to be joined into a virtual element.
Datatype: IDREFS
Values: Each value specified must be the same as that specified as value for an ID attribute for some other element in the current SGML document.
Default: #REQUIRED
result specifies the name of an element which this aggregation may be understood to represent.
Datatype: NAME
Values: The generic identifier of an element in the current DTD.
Default: %INHERITED
desc (description) a brief phrase describing the virtual element created by the join.
Datatype: CDATA
Values: any string of characters.
Default: %INHERITED
Note

The desc attribute may be used to give a brief description of the virtual element, if its content or function are not obvious.

scope indicates whether the targets to be joined include the entire element indicated (the entire subtree including its root), or just the children of the target (the branches of the subtree).
Datatype: (root | branches)
Legal values:
root the rooted subtrees indicated by the targets attribute are joined, each subtree become a child of the virtual element created by the <join>
branches the children of the subtrees indicated by the targets attribute become the children of the virtual element (i.e. the roots of the subtrees are discarded)
Default: root
Example:
 <list><head>Authors</head>
   <item id=uf>Figge, Udo</item>
   <item id=ch>Heibach, Christiane</item>
   <item id=gh>Heyer, Gerhard</item>
   <item id=bp>Philipp, Bettina</item>
   <item id=ms>Samiec, Monika</item>
   <item id=ss>Schierholz, Stefan</item>
 </list>
 <!-- elsewhere ...  -->
 <join result='list' targets='ch bp ss' scope=root
       desc='Heidelberger authors'>
Note

In this example, the text contains a list of authors of articles in a journal; the <join> element is used to join into one virtual list the names of the authors who reside in Heidelberg.

targOrder specifies whether or not the order in which components of the join are listed on the targets attribute is significant.
Datatype: (Y | N | U)
Legal values:
Y Yes: the order should be followed when combining the targeted elements.
N No: the order has no significance when combining the targeted elements.
U Unspecified: the order may or may not be significant.
Default: Y
Note

This attribute has a different default value on this element from that which it has for other members of the pointer class.

Example

The following example is discussed in section 14.7 .

 <sp who='Hughie'><p>How does it go?
   <q><l id=X1>da-da-da
      <l id=L2>gets a new frog
      <l>...
   </q></p>
 <sp who='Louie'><p><q><l id=L1>When the old pond</l></q> ... </p>
 <sp who='Dewey'><p>... <q><l id=L3>It's a new pond.</l></q></p>
 <!-- ... -->
 <join result=lg targets='L1 L2 L3' scope=root
       desc='haiku'>
 <!-- a famous haiku by Bashoo, in an eccentric translation -->

The attribute targOrder is specified with a value of ``Y'' to indicate that the order of the three lines is significant. The attribute scope is allowed to take the default value of ``root'' to indicate that the virtual element being identified is a line group (<lg> ) which contains the three <l> elements L1, L2, and L3, and not just their character data content.

Example

In this example, the attribute scope is specified with the value of ``branches'' to indicate that the virtual list being constructed is to be made by taking the lists indicated by the targets attribute of the <join> element, discarding the <list> tags which enclose them, and combining the items contained within the lists into a single virtual list.

<s>Southern dialect (my own variety, at least) has only
<list id=lp1>
<item><s>I done gone</s></item>
<item><s>I done went</s></item>
</list>
whereas Negro Non-Standard basilect has both these and
<list id=lp2>
<item><s>I done go</s></item>.
</list></s>
<s>White Southern dialect also has
<list id=lp3>
<item><s>I've done gone</s></item>
<item><s>I've done went</s></item>
</list>
which, when they occur in Negro dialect, should probably be
considered as borrowings from other varieties of English.</s>
<!-- ... -->
<join result=list id=lst1 parts='lp1 lp2 lp3' scope=branches
      desc='Sample sentences in Southern speech'>
Tagsetadditional tag set for
Classmetadata, pointer [and indirectly also:] globincl
Filenameteilink2.dtd
Content: Empty element.
ParentsjoinGrp
Children[none]
Declaration
<!ELEMENT join          - O  EMPTY                              >
<!ATTLIST join               %a.global
          type               CDATA               #IMPLIED
          resp               CDATA               #IMPLIED
          crdate             CDATA               #IMPLIED
          targType           NAMES               #IMPLIED
          evaluate           (all | one | none)  #IMPLIED
          targets            IDREFS              #REQUIRED
          result             NAME                %INHERITED
                                                  
          desc               CDATA               %INHERITED
                                                  
          scope              (root | branches)   root
          targOrder          (Y | N | U)         Y              >
See 14.7

Back to index