| ## Text Encoding Initiative
### The XML Version of the TEI Guidelines # <join>

`<join>` | identifies a possibly fragmented segment of text, by pointing at the possibly discontiguous elements which compose it.
Attributes | (In addition to global attributes and those inherited from metadata, pointer)
`targets` | specifies the identifiers of the elements or passages to be joined into a virtual element.
| Datatype: IDREFS
| Values: one or more valid identifiers, separated by white space.
| Default: #REQUIRED
`result` | specifies the name of an element which this aggregation may be understood to represent.
| Datatype: NMTOKEN
| 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 are:
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 targets="ch bp ss" result="list" desc="Heidelberger authors"
    scope="root"/>
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.

Example

The following example is discussed in section 14.7 Aggregation:

    <sp who="hughie"><p>How does it go?
      <q><l id="x1">da-da-da</l>
         <l id="l2">gets a new frog</l>
         <l>...</l>
      </q></p></sp>
    <sp who="louie"><p><q><l id="l1">When the old pond</l> ...</q></p></sp>
    <sp who="dewey"><p><q>... <l id="l3">It's a new pond.</l></q></p>
    <!-- ... -->
    <join targets="l1 l2 l3" result="lg" desc="haiku" scope="root"/>
    </sp>

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:

    <p>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>.</p>
    <p>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.</p>
    <!-- ... -->
    <join result="list" id="LST1" targets="LP1 LP2 LP3" scope="branches"
      desc="Sample sentences in Southern speech"/>

Module Declared in file teilink2.dtd; Additional tag set for Linking and Segmentation: enabled by TEI.linking
Class pointer; metadata
Data Description Empty element.
May occur within ab abbr activity actor add addName addrLine address admin affiliation analytic app argument author authority back bibl biblFull biblScope biblStruct birth bloc body byline camera caption case castGroup castItem castList cell channel cit cl classCode closer colloc constitution corr country creation damage date dateRange dateStruct dateline def del derivation descrip dictScrap distance distinct distributor div div0 div1 div2 div3 div4 div5 div6 div7 docAuthor docDate docEdition docImprint docTitle domain edition editor education emph entry entryFree epigraph epilogue etym expan extent factuality figDesc figure firstLang foreName foreign form front funder fw gen genName geogName gloss gram gramGrp graph group head headItem headLabel hi hyph imprimatur imprint interaction item itype joinGrp l label lang langKnown language lbl lem lg lg1 lg2 lg3 lg4 lg5 list listBibl locale m measure meeting mentioned metDecl monogr mood name nameLink note num number occasion occupation offset ofig opener orgDivn orgName orgTitle orgType orig orth otherForm p per performance persName phr placeName pos preparedness principal prologue pron pubPlace publicationStmt publisher purpose q quote rdg rdgGrp re ref reg region rendition residence resp respStmt restore role roleDesc roleName row rs s salute seg sense series set settlement sic signed soCalled socecStatus sound sp speaker sponsor stage street stress subc supplied surname syll symbol table tagUsage tech term termEntry text tig time timeRange timeStruct title titlePage titlePart tns tr trailer trans u unclear usg view w wit witDetail witList witness writing xr xref
Declaration

    <!ELEMENT join %om.RO; EMPTY>
    <!ATTLIST join
          %a.global;
          %a.pointer;
          targets IDREFS #REQUIRED
          result NMTOKEN %INHERITED;
          desc CDATA %INHERITED;
          scope (root | branches) "root">

See further 14.7 Aggregation

Up: 35 Elements