<!-- 16:  Analytic attributes and elements                    -->
<!-- First, we declare a set of additional global attributes  -->
<!-- made available by this additional tag set.               -->
<!ENTITY % a.linking '
          copyOf             IDREF               #IMPLIED
          corresp            IDREFS              #IMPLIED
          sameAs             IDREF               #IMPLIED
          select             IDREFS              #IMPLIED
          synch              IDREFS              #IMPLIED
          next               IDREF               #IMPLIED
          exclude            IDREFS              #IMPLIED
          prev               IDREF               #IMPLIED'      >
<!-- Next, we declare the various elements, group by
group.  -->
<!-- 16.1:  Links                                             -->
<!ENTITY % link 'INCLUDE' >
<![ %link; [
<!ELEMENT %n.link;      - o  EMPTY                              >
<!ATTLIST %n.link;           %a.global;
          crdate             CDATA               #IMPLIED
          evaluate           (all | one | none)  #IMPLIED
          resp               CDATA               #IMPLIED
          targOrder          (Y | N | U)         U
          targType           NAMES               #IMPLIED
          targets            IDREFS              #REQUIRED
          type               CDATA               %INHERITED;    >
]]>

<!ENTITY % linkGrp 'INCLUDE' >
<![ %linkGrp; [
<!ELEMENT %n.linkGrp;   - -  (%n.link;)+          +(ptr | xptr) >
<!ATTLIST %n.linkGrp;        %a.global;
          crdate             CDATA               #IMPLIED
          evaluate           (all | one | none)  #IMPLIED
          resp               CDATA               #IMPLIED
          targOrder          (Y | N | U)         U
          targType           NAMES               #IMPLIED
          type               CDATA               #IMPLIED       >
]]>

<!-- (end of 16.1)                                            -->
<!-- 16.2:  Extended pointers                                 -->
<!ENTITY % xref 'INCLUDE' >
<![ %xref; [
<!ELEMENT %n.xref;      - O  EMPTY                              >
<!ATTLIST %n.xref;           %a.global;
          to                 CDATA               #IMPLIED
          doc                ENTITY              #IMPLIED
          from               CDATA               #IMPLIED       >
]]>

<!ENTITY % xptr 'INCLUDE' >
<![ %xptr; [
<!ELEMENT %n.xptr;      - O  EMPTY                              >
<!ATTLIST %n.xptr;           %a.global;
          to                 CDATA               #IMPLIED
          doc                ENTITY              #IMPLIED
          from               CDATA               #IMPLIED       >
]]>

<!-- (end of 16.2)                                            -->
<!-- 16.3:  Segmentation                                      -->
<!ENTITY % seg 'INCLUDE' >
<![ %seg; [
<!ELEMENT %n.seg;       - -  (%paraContent)                     >
<!ATTLIST %n.seg;            %a.global;
          part               (Y | N | I | M | F) N
          type               CDATA               #IMPLIED
          subtype            CDATA               #IMPLIED       >
]]>

<!-- (end of 16.3)                                            -->
<!-- 16.4:  Correspondence                                    -->
<!ENTITY % anchor 'INCLUDE' >
<![ %anchor; [
<!ELEMENT %n.anchor;    - O  EMPTY                              >
<!ATTLIST %n.anchor;         
          lang               IDREF               %INHERITED
          rend               CDATA               #IMPLIED
          n                  CDATA               #IMPLIED
          id                 ID                  #REQUIRED      >
]]>

<!-- (end of 16.4)                                            -->
<!-- 16.5.1:  Temporal specification                          -->
<!ENTITY % when 'INCLUDE' >
<![ %when; [
<!ELEMENT %n.when;      - O  EMPTY                              >
<!ATTLIST %n.when;           
          lang               IDREF               %INHERITED
          rend               CDATA               #IMPLIED
          n                  CDATA               #IMPLIED
          absolute           CDATA               #IMPLIED
          interval           NUTOKEN             %INHERITED;
          id                 ID                  #REQUIRED
          since              IDREF               #IMPLIED
          unit               NMTOKEN             %INHERITED;    >
]]>

<!ENTITY % timeline 'INCLUDE' >
<![ %timeline; [
<!ELEMENT %n.timeline;  - -  ((%n.when;)+)                      >
<!ATTLIST %n.timeline;       %a.global;
          interval           NUTOKEN             #IMPLIED
          origin             IDREF               #REQUIRED
          unit               NMTOKEN             #IMPLIED       >
]]>

<!-- (end of 16.5.1)                                          -->
<!-- 16.7:  Aggregations                                      -->
<!ENTITY % join 'INCLUDE' >
<![ %join; [
<!ELEMENT %n.join;      - O  EMPTY                              >
<!ATTLIST %n.join;           %a.global;
          parts              IDREFS              #REQUIRED
          type               NAME                #IMPLIED       >
]]>

<!ENTITY % joinGrp 'INCLUDE' >
<![ %joinGrp; [
<!ELEMENT %n.joinGrp;   - -  ((%n.join; | %n.ptr; | %n.xptr;)*) 
                                                                >
<!ATTLIST %n.joinGrp;        %a.global;
          extendTarg         NUMBERS             0
          domains            IDREFS              #IMPLIED
          result             CDATA               #IMPLIED
          targFunc           NAMES               'first.part next.part'
                                                                >
]]>

<!-- (end of 16.7)                                            -->
<!-- 16.8:  Alterations                                       -->
<!ENTITY % alt 'INCLUDE' >
<![ %alt; [
<!ELEMENT %n.alt;       - O  EMPTY                              >
<!ATTLIST %n.alt;            %a.global;
          crdate             CDATA               #IMPLIED
          evaluate           (all | one | none)  #IMPLIED
          resp               CDATA               #IMPLIED
          type               CDATA               #IMPLIED
          targType           NAMES               #IMPLIED
          targets            IDREFS              #REQUIRED
          weights            NUMBERS             #IMPLIED
          excl               (Y | N)             %INHERITED;
          percent            (Y | N)             Y
          targOrder          (Y | N)             N              >
]]>

<!ENTITY % altGrp 'INCLUDE' >
<![ %altGrp; [
<!ELEMENT %n.altGrp;    - -  ((%n.alt; | %n.ptr; | %n.xptr;)*)  >
<!ATTLIST %n.altGrp;         %a.global;
          extendTarg         NUMBERS             0
          domains            IDREFS              #IMPLIED
          excl               (Y | N)             #IMPLIED
          percent            (Y | N)             #IMPLIED
          targFunc           NAMES               'first.alternant next.alternant'
                                                                >
]]>

<!-- (end of 16.8)                                            -->
<!-- (end of 16)                                              -->
