`<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
Filename`teilink2.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