view flys-artifacts/doc/conf/meta-data.xml @ 4380:19754e5227c8

Add facets for fixanalysis data from the datacage Add facets for fixanalysis data from the datacage to the bed difference height year, bed difference year and bed difference epoch output modes.
author Björn Ricks <bjoern.ricks@intevation.de>
date Fri, 02 Nov 2012 15:54:41 +0100
parents 8c7e76521904
children 0b4926d93029
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dc:template xmlns:dc="http://www.intevation.org/2011/Datacage">
<datacage>
  <dc:macro name="load-system">
    <dc:context connection="system">
      <dc:statement>
        SELECT id AS river_id, name as river_name FROM rivers
        WHERE lower(name) LIKE lower(${river})
      </dc:statement>
      <dc:elements>
        <dc:comment>
          Base-data macros (mostly data imported from wst-files)
        </dc:comment>
        <dc:macro name="basedata_0">
            <dc:comment comment=" BASEDATA ---------------------------"/>
            <basedata>
              <dc:context>
                <dc:statement>
                  SELECT id          AS prot_id,
                         description AS prot_description
                  FROM wsts WHERE kind = 0 AND river_id = ${river_id}
                </dc:statement>
                <dc:elements>
                  <basedata>
                    <dc:attribute name="name" value="${prot_description}"/>
                    <dc:context>
                      <dc:statement>
                        SELECT id       AS prot_column_id,
                               name     AS prot_column_name,
                               position AS prot_rel_pos,
                               description AS info
                        FROM wst_columns WHERE wst_id = ${prot_id}
                        ORDER by position
                      </dc:statement>
                      <dc:elements>
                        <column>
                          <dc:attribute name="name" value="${prot_column_name}"/>
                          <dc:attribute name="ids" value="base_data-wstv-${prot_rel_pos}-${prot_id}"/>
                          <dc:attribute name="factory" value="staticwkms"/>
                          <dc:attribute name="info" value="${info}"/>
                        </column>
                      </dc:elements>
                    </dc:context>
                  </basedata>
                </dc:elements>
              </dc:context>
            </basedata>
        </dc:macro>
        <dc:macro name="basedata_0_wq">
            <dc:comment comment=" BASEDATA ---------------------------"/>
            <basedata>
              <dc:context>
                <dc:statement>
                  SELECT id          AS prot_id,
                         description AS prot_description
                  FROM wsts WHERE kind = 0 AND river_id = ${river_id}
                </dc:statement>
                <dc:elements>
                  <basedata>
                    <dc:attribute name="name" value="${prot_description}"/>
                    <dc:context>
                      <dc:statement>
                        SELECT id       AS prot_column_id,
                               name     AS prot_column_name,
                               position AS prot_rel_pos,
                               description AS info
                        FROM wst_columns WHERE wst_id = ${prot_id}
                        ORDER by position
                      </dc:statement>
                      <dc:elements>
                        <column>
                          <dc:attribute name="name" value="${prot_column_name}"/>
                          <dc:attribute name="ids" value="base_data-wstv-${prot_rel_pos}-${prot_id}"/>
                          <dc:attribute name="factory" value="wqinterpol"/>
                          <dc:attribute name="info" value="${info}"/>
                        </column>
                      </dc:elements>
                    </dc:context>
                  </basedata>
                </dc:elements>
              </dc:context>
            </basedata>
        </dc:macro>

        <dc:macro name="basedata_1_additionals_marks">
            <dc:comment comment=".ZUS -------------------------------"/>
            <additionals>
              <dc:context>
                <dc:statement>
                  SELECT id          AS prot_id,
                         description AS prot_description
                  FROM wsts WHERE kind = 1 AND river_id = ${river_id}
                </dc:statement>
                <dc:elements>
                  <additional>
                    <dc:attribute name="name" value="${prot_description}"/>
                    <dc:context>
                      <dc:statement>
                        SELECT id       AS prot_column_id,
                               name     AS prot_column_name,
                               position AS prot_rel_pos,
                               description AS info
                        FROM wst_columns WHERE wst_id = ${prot_id}
                        ORDER by position
                      </dc:statement>
                      <dc:elements>
                        <column>
                          <dc:attribute name="name" value="${prot_column_name}"/>
                          <dc:attribute name="ids" value="additionalsmarks-wstv-${prot_rel_pos}-${prot_id}"/>
                          <dc:attribute name="factory" value="staticwkms"/>
                          <dc:attribute name="info" value="${info}"/>
                        </column>
                      </dc:elements>
                    </dc:context>
                  </additional>
                </dc:elements>
              </dc:context>
            </additionals>
        </dc:macro>

        <dc:macro name="basedata_1_additionals">
            <dc:comment comment=".ZUS -------------------------------"/>
            <additionals>
              <dc:context>
                <dc:statement>
                  SELECT id          AS prot_id,
                         description AS prot_description
                  FROM wsts WHERE kind = 1 AND river_id = ${river_id}
                </dc:statement>
                <dc:elements>
                  <additional>
                    <dc:attribute name="name" value="${prot_description}"/>
                    <dc:context>
                      <dc:statement>
                        SELECT id       AS prot_column_id,
                               name     AS prot_column_name,
                               position AS prot_rel_pos,
                               description AS info
                        FROM wst_columns WHERE wst_id = ${prot_id}
                        ORDER by position
                      </dc:statement>
                      <dc:elements>
                        <column>
                          <dc:attribute name="name" value="${prot_column_name}"/>
                          <dc:attribute name="ids" value="additionals-wstv-${prot_rel_pos}-${prot_id}"/>
                          <dc:attribute name="factory" value="staticwkms"/>
                          <dc:attribute name="info" value="${info}"/>
                        </column>
                      </dc:elements>
                    </dc:context>
                  </additional>
                </dc:elements>
              </dc:context>
            </additionals>
        </dc:macro>

        <dc:macro name="basedata_1_additionals-relative_point">
            <dc:comment comment=".ZUS -------------------------------"/>
            <additionals>
              <dc:context>
                <dc:statement>
                  SELECT id          AS prot_id,
                         description AS prot_description
                  FROM wsts WHERE kind = 1 AND river_id = ${river_id}
                </dc:statement>
                <dc:elements>
                  <relativepoint>
                    <dc:attribute name="name" value="${prot_description}"/>
                    <dc:context>
                      <dc:statement>
                        SELECT id       AS prot_column_id,
                               name     AS prot_column_name,
                               position AS prot_rel_pos,
                               description AS info
                        FROM wst_columns WHERE wst_id = ${prot_id}
                        ORDER by position
                      </dc:statement>
                      <dc:elements>
                        <column>
                          <dc:attribute name="name" value="${prot_column_name}"/>
                          <dc:attribute name="ids" value="additionals-wstv-${prot_rel_pos}-${prot_id}"/>
                          <dc:attribute name="factory" value="staticwkms"/>
                          <dc:attribute name="info" value="${info}"/>
                        </column>
                      </dc:elements>
                    </dc:context>
                  </relativepoint>
                </dc:elements>
              </dc:context>
            </additionals>
        </dc:macro>

        <dc:macro name="basedata_2_fixations_wst">
          <fixations>
            <dc:context>
              <dc:statement>
                SELECT id          AS prot_id,
                       description AS prot_description
                FROM wsts WHERE kind = 2 AND river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <fixation>
                  <dc:attribute name="name" value="${prot_description}"/>
                  <!--dc:attribute name="ids" value="fixations-wstv-A-${prot_id}"/-->
                  <dc:context>
                    <dc:statement>
                      SELECT id       AS prot_column_id,
                             name     AS prot_column_name,
                             position AS prot_rel_pos,
                             description AS info
                      FROM wst_columns WHERE wst_id = ${prot_id}
                      ORDER by position
                    </dc:statement>
                    <dc:elements>
                      <column>
                        <dc:attribute name="name" value="${prot_column_name}"/>
                        <dc:attribute name="ids" value="fixations-wstv-${prot_rel_pos}-${prot_id}"/>
                        <dc:attribute name="factory" value="wqinterpol"/>
                        <dc:attribute name="info" value="${info}"/>
                      </column>
                    </dc:elements>
                  </dc:context>
                </fixation>
              </dc:elements>
            </dc:context>
          </fixations>
        </dc:macro>

        <dc:macro name="basedata_2_fixations_wqkms">
          <fixations>
            <dc:context>
              <dc:statement>
                SELECT id          AS prot_id,
                       description AS prot_description
                FROM wsts WHERE kind = 2 AND river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <fixation>
                  <dc:attribute name="name" value="${prot_description}"/>
                  <dc:context>
                    <dc:statement>
                      SELECT id       AS prot_column_id,
                             name     AS prot_column_name,
                             position AS prot_rel_pos,
                             description AS info
                      FROM wst_columns WHERE wst_id = ${prot_id}
                      ORDER by position
                    </dc:statement>
                    <dc:elements>
                      <column>
                        <dc:attribute name="name" value="${prot_column_name}"/>
                        <dc:attribute name="ids" value="fixations-wstv-${prot_rel_pos}-${prot_id}"/>
                        <dc:attribute name="factory" value="wqinterpol"/>
                        <dc:attribute name="info" value="${info}"/>
                      </column>
                    </dc:elements>
                  </dc:context>
                </fixation>
              </dc:elements>
            </dc:context>
          </fixations>
        </dc:macro>

        <dc:macro name="basedata_2_fixations">
          <fixations>
            <dc:context>
              <dc:statement>
                SELECT id          AS prot_id,
                       description AS prot_description
                FROM wsts WHERE kind = 2 AND river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <fixation>
                  <dc:attribute name="name" value="${prot_description}"/>
                  <dc:context>
                    <dc:statement>
                      SELECT id       AS prot_column_id,
                             name     AS prot_column_name,
                             position AS prot_rel_pos,
                             description AS info
                      FROM wst_columns WHERE wst_id = ${prot_id}
                      ORDER by position
                    </dc:statement>
                    <dc:elements>
                      <column>
                        <dc:attribute name="name" value="${prot_column_name}"/>
                        <dc:attribute name="ids" value="fixations-wstv-${prot_rel_pos}-${prot_id}"/>
                        <dc:attribute name="factory" value="staticwkms"/>
                        <dc:attribute name="info" value="${info}"/>
                      </column>
                    </dc:elements>
                  </dc:context>
                </fixation>
              </dc:elements>
            </dc:context>
          </fixations>
        </dc:macro>

        <dc:macro name="basedata_2_fixations_relative_point">
          <fixations>
            <dc:context>
              <dc:statement>
                SELECT id          AS prot_id,
                       description AS prot_description
                FROM wsts WHERE kind = 2 AND river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <relativepoint>
                  <dc:attribute name="name" value="${prot_description}"/>
                  <dc:context>
                    <dc:statement>
                      SELECT id       AS prot_column_id,
                             name     AS prot_column_name,
                             position AS prot_rel_pos,
                             description AS info
                      FROM wst_columns WHERE wst_id = ${prot_id}
                      ORDER by position
                    </dc:statement>
                    <dc:elements>
                      <column>
                        <dc:attribute name="name" value="${prot_column_name}"/>
                        <dc:attribute name="ids" value="fixations-wstv-${prot_rel_pos}-${prot_id}"/>
                        <dc:attribute name="factory" value="staticwkms"/>
                        <dc:attribute name="info" value="${info}"/>
                      </column>
                    </dc:elements>
                  </dc:context>
                </relativepoint>
              </dc:elements>
            </dc:context>
          </fixations>
        </dc:macro>

        <dc:macro name="basedata_3_officials">
            <dc:comment comment=".wst -------------------------------"/>
            <officiallines>
              <dc:context>
                <dc:statement>
                  SELECT id          AS prot_id,
                         description AS prot_description
                  FROM wsts WHERE kind = 3 AND river_id = ${river_id}
                </dc:statement>
                <dc:elements>
                  <official>
                    <dc:attribute name="name" value="${prot_description}"/>
                    <dc:context>
                      <dc:statement>
                        SELECT id       AS prot_column_id,
                               name     AS prot_column_name,
                               position AS prot_rel_pos,
                               description AS info
                        FROM wst_columns WHERE wst_id = ${prot_id}
                        ORDER by position
                      </dc:statement>
                      <dc:elements>
                        <column>
                          <dc:attribute name="name" value="${prot_column_name}"/>
                          <dc:attribute name="ids" value="additionals-wstv-${prot_rel_pos}-${prot_id}"/>
                          <dc:attribute name="factory" value="staticwqkms"/>
                          <dc:attribute name="info" value="${info}"/>
                        </column>
                      </dc:elements>
                    </dc:context>
                  </official>
                </dc:elements>
              </dc:context>
            </officiallines>
        </dc:macro>

        <dc:macro name="basedata_4_heightmarks-points-relative_points">
          <heightmarks>
            <dc:context>
              <dc:statement>
                SELECT id          AS prot_id,
                       description AS prot_description
                FROM wsts WHERE kind = 4 AND river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <relativepoint>
                  <dc:attribute name="name" value="${prot_description}"/>
                  <dc:context>
                    <dc:statement>
                      SELECT id       AS prot_column_id,
                             name     AS prot_column_name,
                             position AS prot_rel_pos,
                             description AS info
                      FROM wst_columns WHERE wst_id = ${prot_id}
                      ORDER by position
                    </dc:statement>
                    <dc:elements>
                      <column>
                        <dc:attribute name="name" value="${prot_column_name}"/>
                        <dc:attribute name="ids" value="heightmarks_points-wstv-${prot_rel_pos}-${prot_id}"/>
                        <dc:attribute name="factory" value="staticwkms"/>
                        <dc:attribute name="info" value="${info}"/>
                      </column>
                    </dc:elements>
                  </dc:context>
                </relativepoint>
              </dc:elements>
            </dc:context>
          </heightmarks>
        </dc:macro>

        <dc:macro name="basedata_4_heightmarks-points">
          <heightmarks>
            <dc:context>
              <dc:statement>
                SELECT id          AS prot_id,
                       description AS prot_description
                FROM wsts WHERE kind = 4 AND river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <heightmark>
                  <dc:attribute name="name" value="${prot_description}"/>
                  <dc:context>
                    <dc:statement>
                      SELECT id       AS prot_column_id,
                             name     AS prot_column_name,
                             position AS prot_rel_pos,
                             description AS info
                      FROM wst_columns WHERE wst_id = ${prot_id}
                      ORDER by position
                    </dc:statement>
                    <dc:elements>
                      <column>
                        <dc:attribute name="name" value="${prot_column_name}"/>
                        <dc:attribute name="ids" value="heightmarks_points-wstv-${prot_rel_pos}-${prot_id}"/>
                        <dc:attribute name="factory" value="staticwkms"/>
                        <dc:attribute name="info" value="${info}"/>
                      </column>
                    </dc:elements>
                  </dc:context>
                </heightmark>
              </dc:elements>
            </dc:context>
          </heightmarks>
        </dc:macro>

        <dc:macro name="basedata_4_heightmarks-wq">
          <heightmarks>
            <dc:context>
              <dc:statement>
                SELECT id          AS prot_id,
                       description AS prot_description
                FROM wsts WHERE kind = 4 AND river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <heightmark>
                  <dc:attribute name="name" value="${prot_description}"/>
                  <dc:context>
                    <dc:statement>
                      SELECT id       AS prot_column_id,
                             name     AS prot_column_name,
                             position AS prot_rel_pos,
                             description AS info
                      FROM wst_columns WHERE wst_id = ${prot_id}
                      ORDER by position
                    </dc:statement>
                    <dc:elements>
                      <column>
                        <dc:attribute name="name" value="${prot_column_name}"/>
                        <dc:attribute name="ids" value="heightmarks_annotations-wstv-${prot_rel_pos}-${prot_id}"/>
                        <dc:attribute name="factory" value="wqinterpol"/>
                        <dc:attribute name="info" value="${info}"/>
                      </column>
                    </dc:elements>
                  </dc:context>
                </heightmark>
              </dc:elements>
            </dc:context>
          </heightmarks>
        </dc:macro>

        <dc:macro name="basedata_5_flood-protections_relative_points">
          <flood_protections>
            <dc:attribute name="id" value="flood-protections-${river_id}"/>
            <dc:context>
              <dc:statement>
                SELECT id          AS prot_id,
                       description AS prot_description
                FROM wsts WHERE kind = 5 AND river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <relativepoint>
                  <dc:attribute name="name" value="${prot_description}"/>
                  <dc:attribute name="db-id" value="${prot_id}"/>
                  <dc:attribute name="factory" value="staticwkms"/>
                  <columns>
                    <dc:context>
                      <dc:statement>
                        SELECT id       AS prot_column_id,
                               name     AS prot_column_name,
                               position AS prot_rel_pos,
                               description AS info
                        FROM wst_columns WHERE wst_id = ${prot_id}
                        ORDER by position
                      </dc:statement>
                      <dc:elements>
                        <column>
                          <dc:attribute name="name" value="${prot_column_name}"/>
                          <dc:attribute name="ids" value="flood_protection-wstv-${prot_rel_pos}-${prot_id}"/>
                          <dc:attribute name="factory" value="staticwkms"/>
                          <dc:attribute name="info" value="${info}"/>
                        </column>
                      </dc:elements>
                    </dc:context>
                  </columns>
                </relativepoint>
              </dc:elements>
            </dc:context>
          </flood_protections>
        </dc:macro>

        <dc:macro name="basedata_5_flood-protections">
          <flood_protections>
            <dc:attribute name="id" value="flood-protections-${river_id}"/>
            <dc:context>
              <dc:statement>
                SELECT id          AS prot_id,
                       description AS prot_description
                FROM wsts WHERE kind = 5 AND river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <flood_protection>
                  <dc:attribute name="name" value="${prot_description}"/>
                  <dc:attribute name="db-id" value="${prot_id}"/>
                  <dc:attribute name="factory" value="staticwkms"/>
                  <dc:context>
                    <dc:statement>
                      SELECT id       AS prot_column_id,
                             name     AS prot_column_name,
                             position AS prot_rel_pos
                      FROM wst_columns WHERE wst_id = ${prot_id}
                      ORDER by position
                    </dc:statement>
                    <dc:elements>
                      <column>
                        <dc:attribute name="name" value="${prot_column_name}"/>
                        <dc:attribute name="ids" value="flood_protection-wstv-${prot_rel_pos}-${prot_id}"/>
                        <dc:attribute name="factory" value="staticwkms"/>
                      </column>
                    </dc:elements>
                  </dc:context>
                </flood_protection>
              </dc:elements>
            </dc:context>
          </flood_protections>
        </dc:macro>

        <dc:macro name="mainvalues">
          <mainvalue>
            <dc:attribute name="factory" value="mainvalue"/>
            <dc:attribute name="ids"     value="${river_id}"/>
          </mainvalue>
          <wmainvalue>
            <dc:attribute name="factory" value="mainvalue"/>
            <dc:attribute name="ids"     value="${river_id}:w"/>
          </wmainvalue>
          <qmainvalue>
            <dc:attribute name="factory" value="mainvalue"/>
            <dc:attribute name="ids"     value="${river_id}:q"/>
          </qmainvalue>
        </dc:macro>

        <dc:macro name="qsectors">
          <qsector>
            <dc:attribute name="factory" value="qsectors"/>
            <dc:attribute name="ids"     value="${river_id}"/>
          </qsector>
        </dc:macro>

        <dc:macro name="annotations">
          <annotation>
            <dc:attribute name="factory" value="annotations"/>
            <dc:attribute name="ids"     value="${river_id}"/>
          </annotation>
        </dc:macro>

        <dc:macro name="annotations_per_type">
          <annotations>
            <dc:context>
              <annotation>
                <dc:attribute name="name"    value="all_annotations"/>
                <dc:attribute name="factory" value="annotations"/>
                <dc:attribute name="ids"     value="${river_id}"/>
              </annotation>
              <dc:statement>
                SELECT id          AS anno_id,
                       name AS anno_description
                FROM annotation_types
              </dc:statement>
              <dc:elements>
                <annotation>
                  <dc:attribute name="name"    value="${anno_description}"/>
                  <dc:attribute name="factory" value="annotations"/>
                  <dc:attribute name="ids"     value="${river_id}:${anno_description}"/>
                </annotation>
             </dc:elements>
            </dc:context>
          </annotations>
        </dc:macro>

        <dc:macro name="cross_sections">
          <cross_sections>
            <dc:attribute name="id" value="flood-protections-${river_id}"/>
            <dc:context>
              <dc:statement>
                SELECT id          AS prot_id,
                       description AS prot_description
                FROM cross_sections WHERE river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <cross_section>
                  <dc:attribute name="name" value="${prot_description}"/>
                  <dc:attribute name="ids" value="${prot_id}"/>
                  <dc:attribute name="factory" value="crosssections"/>
                </cross_section>
              </dc:elements>
            </dc:context>
          </cross_sections>
        </dc:macro>

        <dc:macro name="hyks">
          <hyks>
            <dc:attribute name="id" value="hyk-${river_id}"/>
            <dc:context>
              <dc:statement>
                SELECT id          AS hyk_id,
                       description AS hyk_description
                FROM hyks WHERE river_id = ${river_id}
              </dc:statement>
              <dc:elements>
                <hyk>
                  <dc:attribute name="name" value="${hyk_description}"/>
                  <dc:attribute name="ids" value="${hyk_id}"/>
                  <dc:attribute name="factory" value="hyk"/>
                </hyk>
              </dc:elements>
            </dc:context>
          </hyks>
        </dc:macro>

        <dc:comment>

        + River-Node

        </dc:comment>

        <river>
          <dc:attribute name="name" value="${river_name}"/>

          <dc:choose>
            <dc:when test="dc:contains($parameters, 'recommended')">
               <dc:comment>
                  Recommendations (client shall load immediately).
               </dc:comment>
               <dc:if test="dc:contains($artifact-outs, 'w_differences') or (dc:contains($artifact-outs, 'discharge_longitudinal_section'))">
                 <dc:call-macro name="annotations"/>
               </dc:if>
               <dc:if test="dc:contains($artifact-outs, 'cross_section')">
                 <dc:call-macro name="cross_sections"/>
                 <dc:call-macro name="hyks"/>
               </dc:if>
               <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve')">
                 <dc:call-macro name="mainvalues"/>
               </dc:if>
               <dc:if test="dc:contains($artifact-outs, 'reference_curve')">
                 <dc:call-macro name="annotations"/>
                 <dc:call-macro name="mainvalues"/>
               </dc:if>
               <dc:if test="dc:contains($artifact-outs, 'fix_wq_curve')">
                 <dc:call-macro name="qsectors"/>
               </dc:if>
               <dc:if test="dc:contains($artifact-outs, 'fix_longitudinal_section_curve')">
                 <dc:call-macro name="annotations"/>
               </dc:if>
               <dc:if test="dc:contains($artifact-outs, 'bed_difference_epoch')">
                 <dc:call-macro name="annotations"/>
               </dc:if>
               <dc:if test="dc:contains($artifact-outs, 'bed_difference_year')">
                 <dc:call-macro name="annotations"/>
               </dc:if>
               <dc:if test="dc:contains($artifact-outs, 'bed_difference_height_year')">
                 <dc:call-macro name="annotations"/>
               </dc:if>
            </dc:when>
            <dc:otherwise>
              <dc:comment>
                 Non - Recommendations.
              </dc:comment>
              <dc:if test="dc:contains($artifact-outs, 'cross_section')">
                 <dc:call-macro name="basedata_0"/>
                 <dc:call-macro name="basedata_1_additionals"/>
                 <dc:call-macro name="basedata_2_fixations"/>
                 <dc:call-macro name="basedata_3_officials"/>
                 <dc:call-macro name="basedata_4_heightmarks-points"/>
                 <dc:call-macro name="cross_sections"/>
                 <dc:call-macro name="hyks"/>
              </dc:if>
              <dc:if test="dc:contains($artifact-outs, 'discharge_longitudinal_section')">
                 <dc:call-macro name="basedata_0"/>
                 <dc:call-macro name="basedata_1_additionals"/>
                 <dc:call-macro name="basedata_2_fixations"/>
                 <dc:call-macro name="basedata_3_officials"/>
                 <dc:call-macro name="basedata_4_heightmarks-points"/>
                 <dc:call-macro name="basedata_5_flood-protections"/>
              </dc:if>
              <!--dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve')">
                 <dc:call-macro name="basedata_0_wq"/>
                 <dc:call-macro name="basedata_4_heightmarks-wq"/>
              </dc:if-->
              <dc:if test="dc:contains($artifact-outs, 'longitudinal_section') or (dc:contains($artifact-outs, 'w_differences'))">
                 <dc:call-macro name="basedata_0"/>
                 <dc:call-macro name="basedata_1_additionals"/>
                 <dc:comment comment=" FIXATIONS ---------------------------"/>
                 <dc:call-macro name="basedata_2_fixations"/>
                 <dc:comment comment=" HOEHENMARKEN ---------------------------"/>
                 <dc:call-macro name="basedata_4_heightmarks-points"/>
                 <dc:comment comment=" AMTL LINIEN  ---------------------------"/>
                 <dc:call-macro name="basedata_3_officials"/>
                 <dc:call-macro name="basedata_5_flood-protections"/>
                 <dc:call-macro name="annotations_per_type"/>
              </dc:if>

              <dc:if test="dc:contains($artifact-outs, 'reference_curve')">
                <dc:call-macro name="annotations"/>
                <!--dc:call-macro name="basedata_0"/-->
                <dc:call-macro name="basedata_1_additionals-relative_point"/>
                <dc:comment comment=" FIXATIONS ---------------------------"/>
                <dc:call-macro name="basedata_2_fixations_relative_point"/>
                <dc:comment comment=" HOEHENMARKEN ---------------------------"/>
                <dc:call-macro name="basedata_4_heightmarks-points-relative_points"/>
                <dc:call-macro name="basedata_5_flood-protections_relative_points"/>
              </dc:if>
              <dc:if test="dc:contains($artifact-outs, 'fix_wq_curve')">
                <dc:call-macro name="basedata_0_wq"/>
                <dc:call-macro name="basedata_1_additionals_marks"/>
                <dc:call-macro name="basedata_2_fixations_wqkms"/>
                <dc:call-macro name="basedata_3_officials"/>
                <dc:call-macro name="basedata_4_heightmarks-points"/>
                <dc:call-macro name="basedata_5_flood-protections_relative_points"/>
              </dc:if>
              <dc:if test="dc:contains($artifact-outs, 'fix_deltawt_curve')">
              </dc:if>
              <dc:if test="dc:contains($artifact-outs, 'fix_longitudinal_section_curve')">
                <dc:call-macro name="annotations"/>
              </dc:if>
             <dc:comment comment="--- non-recommendations---"/>
            </dc:otherwise>
          </dc:choose>


          <dc:if test="dc:contains($artifact-outs, 'waterlevels')">

            <!-- base data -->
            <dc:call-macro name="basedata_0"/>

            <!-- extra-longitudinal-sections -->
            <dc:call-macro name="basedata_1_additionals"/>

            <!-- fixations -->
            <dc:call-macro name="basedata_2_fixations"/>

            <!-- flood water marks-->
            <dc:call-macro name="basedata_4_heightmarks-points"/>

            <!-- flood protection -->
            <dc:call-macro name="basedata_5_flood-protections"/>

          </dc:if>
          <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve') and (dc:contains($parameters, 'recommended'))">
                <!--dc:call-macro name="basedata_2_fixations_wst"/-->
          </dc:if>

          <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve') and not (dc:contains($parameters, 'recommended'))">
              <discharge_table_nn>
                <discharge_table_gauge>
                  <dc:context>
                    <dc:statement>
                      SELECT id   AS gauge_id,
                             name AS gauge_name
                      FROM gauges WHERE river_id = ${river_id}
                    </dc:statement>
                    <dc:elements>
                      <gauge>
                        <dc:attribute name="name" value="${gauge_name}"/>
                        <dc:attribute name="db-id" value="${gauge_id}"/>
                        <dc:attribute name="factory" value="gaugedischarge"/>
                        <dc:attribute name="from" value="${g_start}"/>
                        <dc:attribute name="to" value="${g_stop}"/>
                        <dc:attribute name="ids" value="${gauge_name}"/>
                      </gauge>
                      <!--
                      <gauge>
                        <dc:attribute name="name" value="${gauge_name}"/>
                        <dc:attribute name="db-id" value="${gauge_id}"/>
                        <dc:context>
                          <dc:statement>
                            SELECT description   AS gauge_desc,
                                   d.id          AS discharge_id,
                                   ti.start_time AS g_start,
                                   ti.stop_time  AS g_stop
                            FROM discharge_tables d JOIN time_intervals ti
                            ON d.time_interval_id = ti.id
                            WHERE d.gauge_id = ${gauge_id} AND d.kind = 1
                          </dc:statement>
                          <dc:elements>
                            <historical>
                              <dc:attribute name="name" value="${gauge_desc}"/>
                              <dc:attribute name="factory" value="gaugedischarge"/>
                              <dc:attribute name="from" value="${g_start}"/>
                              <dc:attribute name="to" value="${g_stop}"/>
                              <dc:attribute name="ids" value="${discharge_id}-${g_start}-${g_stop}"/>
                            </historical>
                          </dc:elements>
                        </dc:context>
                      </gauge>
                      -->
                    </dc:elements>
                  </dc:context>
                </discharge_table_gauge>

              </discharge_table_nn>

            <dc:call-macro name="basedata_2_fixations_wst"/>

            <dc:call-macro name="basedata_5_flood-protections"/>

            <!-- former waterlevels -->
            <dc:call-macro name="basedata_0"/>

            <dc:call-macro name="basedata_1_additionals"/>

            <!-- former flood-water-marks -->
            <dc:call-macro name="basedata_4_heightmarks-points"/>
              <computed_discharge_curve>
                <dc:call-macro name="mainvalues"/>
              </computed_discharge_curve>
          </dc:if>

          <dc:if test="dc:contains($artifact-outs, 'duration_curve')">
            <dc:choose>
                <dc:when test="dc:contains($parameters, 'recommended')">
                  <dc:call-macro name="mainvalues"/>
                </dc:when>
                <dc:otherwise>
                  <dc:call-macro name="mainvalues"/>
                  <dc:call-macro name="basedata_2_fixations_relative_point"/>
                  <dc:call-macro name="basedata_4_heightmarks-points-relative_points"/>
                  <dc:call-macro name="basedata_5_flood-protections_relative_points"/>
                </dc:otherwise>
            </dc:choose>
          </dc:if>

          <dc:if test="dc:contains($artifact-outs, 'fix_wq_curve') and not (dc:contains($parameters, 'recommended'))">
              <discharge_table_nn>
                <discharge_table_gauge>
                  <dc:context>
                    <dc:statement>
                      SELECT id   AS gauge_id,
                             name AS gauge_name
                      FROM gauges WHERE river_id = ${river_id}
                    </dc:statement>
                    <dc:elements>
                      <gauge>
                        <dc:attribute name="name" value="${gauge_name}"/>
                        <dc:attribute name="db-id" value="${gauge_id}"/>
                        <dc:attribute name="factory" value="gaugedischarge"/>
                        <dc:attribute name="from" value="${g_start}"/>
                        <dc:attribute name="to" value="${g_stop}"/>
                        <dc:attribute name="ids" value="${gauge_name}"/>
                      </gauge>
                    </dc:elements>
                  </dc:context>
                </discharge_table_gauge>
              </discharge_table_nn>
          </dc:if>

          <dc:if test="dc:contains($artifact-outs, 'map')">
              <map>
              <dc:choose>
                  <dc:when test="dc:contains($parameters, 'recommended')">
                  </dc:when>
                  <dc:otherwise>
                      <dc:call-macro name="flood-map-complete"/>
                  </dc:otherwise>
              </dc:choose>
              </map>
          </dc:if>
          <dc:if test="dc:contains($artifact-outs, 'floodmap')">
              <floodmap>
              <dc:choose>
                  <dc:when test="dc:contains($parameters, 'recommended')">
                    <dc:call-macro name="flood-map-recommended"/>
                  </dc:when>
                  <dc:when test="dc:contains($parameters, 'dem')">
                    <dc:call-macro name="flood-map-dem"/>
                  </dc:when>
                  <dc:otherwise>
                    <dc:call-macro name="flood-map-complete"/>
                  </dc:otherwise>
              </dc:choose>
              </floodmap>
              <dc:macro name="flood-map-recommended">
                <dc:comment>
                   FIXME: Following two macros look identical to me.
                </dc:comment>
                  <kilometrage>
                      <riveraxis>
                          <dc:attribute name="factory" value="riveraxis"/>
                          <dc:attribute name="ids" value="${river_id}"/>
                      </riveraxis>
                  </kilometrage>
                  <rastermap>
                      <background>
                          <dc:attribute name="factory" value="wmsbackground"/>
                          <dc:attribute name="ids" value="${river_id}"/>
                      </background>
                  </rastermap>
              </dc:macro>
              <dc:macro name="flood-map-dem">
                <dems>
                  <dc:context>
                    <dc:statement>
                      SELECT id    AS dem_id,
                             lower AS dem_lower,
                             upper AS dem_upper,
                             name AS name,
                             projection || ' | ' || year_from || ' - ' || year_to AS info
                      FROM dem WHERE river_id = ${river_id}
                    </dc:statement>
                    <dc:elements>
                        <dem>
                          <dc:attribute name="factory" value="demfactory"/>
                          <dc:attribute name="ids" value="${dem_id}"/>
                          <dc:attribute name="name" value="${name}"/>
                          <dc:attribute name="info" value="${info}"/>
                        </dem>
                    </dc:elements>
                  </dc:context>
                </dems>
              </dc:macro>
              <dc:macro name="flood-map-km">
                <dc:context>
                  <dc:statement>
                    SELECT count(*) as km_exists
                    FROM river_axes_km WHERE river_id = ${river_id}
                  </dc:statement>
                   <dc:elements>
                    <dc:if test="$km_exists>0">
                      <km>
                        <dc:attribute name="factory" value="wmskmfactory"/>
                        <dc:attribute name="ids" value="${river_id}"/>
                      </km>
                    </dc:if>
                  </dc:elements>
                </dc:context>
              </dc:macro>
              <dc:macro name="flood-map-qps">
                <dc:context>
                  <dc:statement>
                    SELECT count(*) as km_exists
                    FROM cross_section_tracks WHERE river_id = ${river_id}
                  </dc:statement>
                   <dc:elements>
                    <dc:if test="$km_exists>0">
                      <qps>
                        <dc:attribute name="factory" value="wmsqpsfactory"/>
                        <dc:attribute name="ids" value="${river_id}"/>
                      </qps>
                    </dc:if>
                  </dc:elements>
                </dc:context>
              </dc:macro>
              <dc:macro name="flood-map-hws">
                <dc:context>
                  <dc:statement>
                    SELECT count(*) as km_exists, name as name
                    FROM hws WHERE river_id = ${river_id} GROUP BY name
                  </dc:statement>
                   <dc:elements>
                    <dc:if test="$km_exists>0">
                      <hws>
                        <dc:attribute name="factory" value="wmshwsfactory"/>
                        <dc:attribute name="ids" value="${river_id};${name}"/>
                        <dc:attribute name="name" value="${name}"/>
                      </hws>
                    </dc:if>
                  </dc:elements>
                </dc:context>
              </dc:macro>
              <dc:macro name="flood-map-hydr-boundaries">
                <hydr_boundaries_lines>
                  <dc:call-macro name="flood-map-hydr-boundaries-lines"/>
                </hydr_boundaries_lines>
                <hydr_boundaries_polygons>
                  <dc:call-macro name="flood-map-hydr-boundaries-poly"/>
                </hydr_boundaries_polygons>
              </dc:macro>
              <dc:macro name="flood-map-hydr-boundaries-lines">
                <bfg>
                  <dc:context>
                    <dc:statement>
                      SELECT count(*) as km_exists, name as name
                      FROM hydr_boundaries WHERE river_id = ${river_id} AND kind = 1 GROUP BY name
                    </dc:statement>
                     <dc:elements>
                      <dc:if test="$km_exists>0">
                        <hydrboundary>
                          <dc:attribute name="factory" value="wmshydrboundariesfactory"/>
                          <dc:attribute name="ids" value="${river_id};${name}"/>
                          <dc:attribute name="name" value="${name}"/>
                        </hydrboundary>
                      </dc:if>
                    </dc:elements>
                  </dc:context>
                </bfg>
                <land>
                  <dc:context>
                    <dc:statement>
                      SELECT count(*) as km_exists, name as name
                      FROM hydr_boundaries WHERE river_id = ${river_id} AND kind = 2 GROUP BY name
                    </dc:statement>
                     <dc:elements>
                      <dc:if test="$km_exists>0">
                        <hydrboundary>
                          <dc:attribute name="factory" value="wmshydrboundariesfactory"/>
                          <dc:attribute name="ids" value="${river_id};${name}"/>
                          <dc:attribute name="name" value="${name}"/>
                        </hydrboundary>
                      </dc:if>
                    </dc:elements>
                  </dc:context>
                </land>
              </dc:macro>
              <dc:macro name="flood-map-hydr-boundaries-poly">
                <bfg>
                  <dc:context>
                    <dc:statement>
                      SELECT count(*) as km_exists, name as name
                      FROM hydr_boundaries_poly WHERE river_id = ${river_id} AND kind = 1 GROUP BY name
                    </dc:statement>
                     <dc:elements>
                      <dc:if test="$km_exists>0">
                        <hws>
                          <dc:attribute name="factory" value="wmshydrboundariespolyfactory"/>
                          <dc:attribute name="ids" value="${river_id};${name}"/>
                          <dc:attribute name="name" value="${name}"/>
                        </hws>
                      </dc:if>
                    </dc:elements>
                  </dc:context>
                </bfg>
                <land>
                  <dc:context>
                    <dc:statement>
                      SELECT count(*) as km_exists, name as name
                      FROM hydr_boundaries_poly WHERE river_id = ${river_id} AND kind = 2 GROUP BY name
                    </dc:statement>
                     <dc:elements>
                      <dc:if test="$km_exists>0">
                        <hws>
                          <dc:attribute name="factory" value="wmshydrboundariespolyfactory"/>
                          <dc:attribute name="ids" value="${river_id};${name}"/>
                          <dc:attribute name="name" value="${name}"/>
                        </hws>
                      </dc:if>
                    </dc:elements>
                  </dc:context>
                </land>
              </dc:macro>
              <dc:macro name="flood-map-catchments">
                <dc:context>
                  <dc:statement>
                    SELECT count(*) as km_exists, name as name
                    FROM catchment WHERE river_id = ${river_id} GROUP BY name
                  </dc:statement>
                   <dc:elements>
                    <dc:if test="$km_exists>0">
                      <catchment>
                        <dc:attribute name="factory" value="wmscatchmentfactory"/>
                        <dc:attribute name="ids" value="${river_id};${name}"/>
                        <dc:attribute name="name" value="${name}"/>
                      </catchment>
                    </dc:if>
                  </dc:elements>
                </dc:context>
              </dc:macro>
              <dc:macro name="flood-map-floodplain">
                <dc:context>
                  <dc:statement>
                    SELECT count(*) as km_exists
                    FROM floodplain WHERE river_id = ${river_id}
                  </dc:statement>
                   <dc:elements>
                    <dc:if test="$km_exists>0">
                      <floodplain>
                        <dc:attribute name="factory" value="wmsfloodplainfactory"/>
                        <dc:attribute name="ids" value="${river_id}"/>
                      </floodplain>
                    </dc:if>
                  </dc:elements>
                </dc:context>
              </dc:macro>
              <dc:macro name="flood-map-lines">
                <dc:context>
                  <dc:statement>
                    SELECT count(*) as km_exists, name as name
                    FROM lines WHERE river_id = ${river_id} GROUP BY name
                  </dc:statement>
                   <dc:elements>
                    <dc:if test="$km_exists>0">
                      <line>
                        <dc:attribute name="factory" value="wmslinefactory"/>
                        <dc:attribute name="ids" value="${river_id};${name}"/>
                        <dc:attribute name="name" value="${name}"/>
                      </line>
                    </dc:if>
                  </dc:elements>
                </dc:context>
              </dc:macro>
              <dc:macro name="flood-map-buildings">
                <dc:context>
                  <dc:statement>
                    SELECT count(*) as km_exists, name as name
                    FROM buildings WHERE river_id = ${river_id} GROUP BY name
                  </dc:statement>
                   <dc:elements>
                    <dc:if test="$km_exists>0">
                      <building>
                        <dc:attribute name="factory" value="wmsbuildingsfactory"/>
                        <dc:attribute name="ids" value="${river_id};${name}"/>
                        <dc:attribute name="name" value="${name}"/>
                      </building>
                    </dc:if>
                  </dc:elements>
                </dc:context>
              </dc:macro>
              <dc:macro name="flood-map-fixpoints">
                <dc:context>
                  <dc:statement>
                    SELECT count(*) as km_exists, name as name
                    FROM fixpoints WHERE river_id = ${river_id} GROUP BY name
                  </dc:statement>
                   <dc:elements>
                    <dc:if test="$km_exists>0">
                      <fixpoint>
                        <dc:attribute name="factory" value="wmsfixpointsfactory"/>
                        <dc:attribute name="ids" value="${river_id};${name}"/>
                        <dc:attribute name="name"  value="${name}"/>
                      </fixpoint>
                    </dc:if>
                  </dc:elements>
                </dc:context>
              </dc:macro>
              <dc:macro name="flood-map-gaugelocations">
                <dc:context>
                  <dc:statement>
                    SELECT count(*) as km_exists, name as name
                    FROM gauge_location WHERE river_id = ${river_id} GROUP BY name
                  </dc:statement>
                   <dc:elements>
                    <dc:if test="$km_exists>0">
                      <gaugelocation>
                        <dc:attribute name="factory" value="wmsgaugelocationfactory"/>
                        <dc:attribute name="ids" value="${river_id};${name}"/>
                        <dc:attribute name="name"  value="${name}"/>
                      </gaugelocation>
                    </dc:if>
                  </dc:elements>
                </dc:context>
              </dc:macro>
              <dc:macro name="flood-map-uesk">
                <uesk>
                  <calculations>
                    <current>
                      <bfg>
                        <dc:context>
                          <dc:statement>
                              SELECT count(*) as uesg_exist, name as name
                              FROM floodmaps
                              WHERE river_id = ${river_id} AND kind = 111
                              GROUP BY name, kind
                          </dc:statement>
                          <dc:elements>
                            <dc:if test="$uesg_exist>0">
                              <floodmaps>
                                <dc:attribute name="factory" value="wmsfloodmapsfactory"/>
                                <dc:attribute name="ids" value="${river_id};${name}"/>
                                <dc:attribute name="name" value="${name}"/>
                              </floodmaps>
                            </dc:if>
                          </dc:elements>
                        </dc:context>
                      </bfg>
                      <land>
                        <dc:context>
                          <dc:statement>
                              SELECT count(*) as uesg_exist, name as name
                              FROM floodmaps
                              WHERE river_id = ${river_id} AND kind = 112
                              GROUP BY name, kind
                          </dc:statement>
                          <dc:elements>
                            <dc:if test="$uesg_exist>0">
                              <floodmaps>
                                <dc:attribute name="factory" value="wmsfloodmapsfactory"/>
                                <dc:attribute name="ids" value="${river_id};${name}"/>
                                <dc:attribute name="name" value="${name}"/>
                              </floodmaps>
                            </dc:if>
                          </dc:elements>
                        </dc:context>
                      </land>
                    </current>
                    <potentiel>
                      <bfg>
                        <dc:context>
                          <dc:statement>
                              SELECT count(*) as uesg_exist, name as name
                              FROM floodmaps
                              WHERE river_id = ${river_id} AND kind = 121
                              GROUP BY name, kind
                          </dc:statement>
                          <dc:elements>
                            <dc:if test="$uesg_exist>0">
                              <floodmaps>
                                <dc:attribute name="factory" value="wmsfloodmapsfactory"/>
                                <dc:attribute name="ids" value="${river_id};${name}"/>
                                <dc:attribute name="name" value="${name}"/>
                              </floodmaps>
                            </dc:if>
                          </dc:elements>
                        </dc:context>
                      </bfg>
                      <land>
                        <dc:context>
                          <dc:statement>
                              SELECT count(*) as uesg_exist, name as name
                              FROM floodmaps
                              WHERE river_id = ${river_id} AND kind = 122
                              GROUP BY name, kind
                          </dc:statement>
                          <dc:elements>
                            <dc:if test="$uesg_exist>0">
                              <floodmaps>
                                <dc:attribute name="factory" value="wmsfloodmapsfactory"/>
                                <dc:attribute name="ids" value="${river_id};${name}"/>
                                <dc:attribute name="name" value="${name}"/>
                              </floodmaps>
                            </dc:if>
                          </dc:elements>
                        </dc:context>
                      </land>
                    </potentiel>
                  </calculations>
                </uesk>
              </dc:macro>
              <dc:macro name="flood-map-complete">
                  <buildings>
                    <dc:call-macro name="flood-map-buildings"/>
                  </buildings>
                  <catchments>
                    <dc:call-macro name="flood-map-catchments"/>
                  </catchments>
                  <fixpoints>
                    <dc:call-macro name="flood-map-fixpoints"/>
                  </fixpoints>
                  <hws>
                    <dc:call-macro name="flood-map-hws"/>
                  </hws>
                  <hydrboundaries>
                    <dc:call-macro name="flood-map-hydr-boundaries"/>
                    <dc:call-macro name="flood-map-floodplain"/>
                  </hydrboundaries>
                  <kilometrage>
                      <riveraxis>
                          <dc:attribute name="factory" value="riveraxis"/>
                          <dc:attribute name="ids" value="${river_id}"/>
                      </riveraxis>
                    <dc:call-macro name="flood-map-km"/>
                    <dc:call-macro name="flood-map-qps"/>
                  </kilometrage>
                  <lines>
                    <dc:call-macro name="flood-map-lines"/>
                  </lines>
                  <dc:call-macro name="flood-map-uesk"/>
                  <gaugelocations>
                    <dc:call-macro name="flood-map-gaugelocations"/>
                  </gaugelocations>
                  <rastermap>
                      <background>
                          <dc:attribute name="factory" value="wmsbackground"/>
                          <dc:attribute name="ids" value="${river_id}"/>
                      </background>
                  </rastermap>
              </dc:macro>
          </dc:if>
          <dc:if test="dc:contains($artifact-outs, 'minfo-heights')">
            <dc:call-macro name="minfo-heights"/>
            <dc:macro name="minfo-heights">
              <bedheights>
                <dc:call-macro name="bed-heights-single"/>
                <dc:call-macro name="bed-heights-epoch"/>
              </bedheights>
            </dc:macro>
          </dc:if>
          <dc:if test="dc:contains($artifact-outs, 'minfo-heights-epoch')">
            <bedheights>
              <dc:call-macro name="bed-heights-epoch"/>
            </bedheights>
          </dc:if>
          <dc:macro name="bed-heights-single">
            <single>
              <dc:context>
                <dc:statement>
                    SELECT id          AS bedh_id,
                           year        AS bedh_year,
                           description AS bedh_descr
                    FROM bed_height_single WHERE river_id = ${river_id}
                </dc:statement>
                <dc:elements>
                  <height>
                    <dc:attribute name="factory" value="bedheight"/>
                    <dc:attribute name="ids" value="bedheight-single-${bedh_id}-${bedh_year}"/>
                    <dc:attribute name="description" value="${bedh_descr}"/>
                  </height>
                </dc:elements>
              </dc:context>
            </single>
          </dc:macro>
          <dc:macro name="bed-heights-epoch">
            <epoch>
              <dc:context>
                <dc:statement>
                  SELECT id               AS bedh_id,
                         time_interval_id AS bedh_interval_id,
                         description      AS bedh_descr
                  FROM bed_height_epoch WHERE river_id = ${river_id}
                </dc:statement>
                <dc:elements>
                  <height>
                    <dc:attribute name="factory" value="bedheight"/>
                    <dc:attribute name="ids" value="bedheight-epoch-${bedh_id}-${bedh_interval_id}"/>
                    <dc:attribute name="description" value="${bedh_descr}"/>
                  </height>
                </dc:elements>
              </dc:context>
            </epoch>
          </dc:macro>
        </river>
      </dc:elements>
    </dc:context>
  </dc:macro>

  <dc:choose>
    <dc:comment>
      User specific part
      ------------------
    </dc:comment>
    <dc:when test="dc:contains($parameters, 'user-id')">


     <old_calculations>
      <dc:context connection="user">
        <dc:comment>
           Get the user and collection-id.
        </dc:comment>
        <dc:statement>
            SELECT u.id AS user_id, c.id AS collection_id, c.name as collection_name
            FROM collections c JOIN users u ON c.user_id = u.id
            WHERE u.gid = CAST(${user-id} AS uuid)
            ORDER BY c.creation DESC
        </dc:statement>

        <!-- OFFICIAL LINES -->
        <dc:if test="dc:contains($artifact-outs, 'longitudinal_section')">
          <dc:comment comment=".wst -------------------------------"/>
          <officiallines>
            <dc:elements>
                <dc:context>
                  <dc:statement>
                    SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation, ardg.v as gaugy, arv.v as wqsingle
                    FROM   master_artifacts m, artifact_data ardg, artifact_data arv
                    WHERE  m.collection_id = ${collection_id} AND m.gid = CAST(${artifact-id} AS uuid) AND ardg.artifact_id = m.id AND ardg.k = 'ld_gaugename' AND arv.artifact_id = m.id AND arv.k = 'wq_single'
                    AND EXISTS (
                        SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                  </dc:statement>
                  <dc:elements>
                      <dc:context connection="system">
                        <dc:statement>
                          SELECT ol.wst_id AS wstid, ol.wst_column_pos AS wstcolpos, ol.name AS olname, ol.value AS oval
                          FROM official_q_values ol
                          WHERE ol.value = CAST(${wqsingle} AS NUMERIC(10,2)) AND ol.gauge_name = ${gaugy}
                        </dc:statement>
                        <dc:elements>
                          <dc:element name="${olname}">
                            <dc:attribute name="name" value="${olname}"/>
                            <dc:attribute name="ids" value="additionals-wstv-${wstcolpos}-${wstid}"/>
                            <dc:attribute name="factory" value="staticwkms"/>
                          </dc:element>
                        </dc:elements>
                      </dc:context>
                  </dc:elements>
                </dc:context>
          </dc:elements>
          </officiallines>
        </dc:if>
        <!-- END OFFICIAL LINES -->

        <dc:comment>
          SHOW W-DIFFERENCES
        </dc:comment>

        <dc:if test="dc:contains($artifact-outs, 'longitudinal_section') or (dc:contains($artifact-outs, 'w_differences') or (dc:contains($artifact-outs, 'discharge_longitudinal_section')))">
          <differences>
            <dc:elements>
                <dc:context>
                  <dc:statement>
                    SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                    FROM   master_artifacts m
                    WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                    AND EXISTS (
                        SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                  </dc:statement>
                  <dc:elements>
                      <dc:context>
                        <dc:statement>
                          SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description
                          FROM outs as o, facets as f, artifacts as a
                          WHERE f.name = 'w_differences' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id}
                        </dc:statement>
                        <dc:elements>
                          <dc:element name="${facet_name}">
                            <dc:attribute name="description" value="${facet_description}"/>
                            <dc:attribute name="factory"     value="winfo"/>
                            <dc:attribute name="artifact-id" value="${aid}"/>
                            <dc:attribute name="ids"         value="${aid}"/>
                            <dc:attribute name="out"         value="w_differences"/>
                          </dc:element>
                        </dc:elements>
                      </dc:context>
                  </dc:elements>
                </dc:context>
            </dc:elements>
          </differences>
        </dc:if>

        <dc:comment>
          SHOW REFERENCE CURVE
        </dc:comment>

        <dc:if test="dc:contains($artifact-outs, 'reference_curve')">
          <reference_curves>
            <dc:elements>
                <dc:context>
                  <dc:statement>
                    SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                    FROM   master_artifacts m
                    WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                    AND EXISTS (
                        SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                  </dc:statement>
                  <dc:elements>
                      <dc:context>
                        <dc:statement>
                          SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description
                          FROM outs as o, facets as f, artifacts as a
                          WHERE f.name = 'reference_curve' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id}
                        </dc:statement>
                        <dc:elements>
                          <dc:element name="${facet_name}">
                            <dc:attribute name="description" value="${facet_description}"/>
                            <dc:attribute name="factory"     value="winfo"/>
                            <dc:attribute name="artifact-id" value="${aid}"/>
                            <dc:attribute name="ids"         value="${aid}"/>
                            <dc:attribute name="out"         value="reference_curve"/>
                          </dc:element>
                        </dc:elements>
                      </dc:context>
                  </dc:elements>
                </dc:context>
            </dc:elements>
          </reference_curves>
        </dc:if>

        <dc:comment>
          SHOW COMPUTED DISCHARGE CURVES
        </dc:comment>

        <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve')">
          <computed_discharge_curves>
            <dc:elements>
                <dc:context>
                  <dc:statement>
                    SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                    FROM   master_artifacts m
                    WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                    AND EXISTS (
                        SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                  </dc:statement>
                  <dc:elements>
                      <dc:context>
                        <dc:statement>
                          SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description
                          FROM outs as o, facets as f, artifacts as a
                          WHERE f.name = 'computed_discharge_curve.q' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id}
                        </dc:statement>
                        <dc:elements>
                          <dc:element name="${facet_name}">
                            <dc:attribute name="description" value="${facet_description}"/>
                            <dc:attribute name="factory"     value="winfo"/>
                            <dc:attribute name="artifact-id" value="${aid}"/>
                            <dc:attribute name="ids"         value="${aid}"/>
                            <dc:attribute name="out"         value="computed_discharge_curve"/>
                          </dc:element>
                        </dc:elements>
                      </dc:context>
                  </dc:elements>
                </dc:context>
            </dc:elements>
          </computed_discharge_curves>
        </dc:if>

        <dc:comment>
          CROSS SECTION
        </dc:comment>

        <dc:if test="dc:contains($artifact-outs, 'cross_section')">
          <waterlevels>
            <dc:elements>
              <dc:context>
                 <dc:statement>
                   SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                   FROM   master_artifacts m
                   WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                   AND EXISTS (
                       SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                 </dc:statement>
                 <dc:elements>
                   <dc:context>
                     <dc:statement>
                       SELECT id AS out_id
                       FROM outs
                       WHERE artifact_id = ${a_id} AND name = 'cross_section'
                     </dc:statement>
                     <dc:elements>
                       <dc:context>
                         <dc:statement>
                           SELECT name AS facet_name, num as facet_num, description AS facet_description
                           FROM facets
                           WHERE out_id = ${out_id}
                           ORDER BY num ASC, name DESC
                         </dc:statement>
                         <longitudinal_section_columns>
                             <dc:attribute name="description" value="${river} ${a_creation}"/>
                             <dc:elements>
                               <dc:element name="${facet_name}">
                                 <dc:attribute name="description" value="${facet_description}"/>
                                 <dc:attribute name="ids" value="${facet_num}"/>
                                 <dc:attribute name="factory" value="winfo"/>
                                 <dc:attribute name="artifact-id" value="${a_gid}"/>
                                 <dc:attribute name="out" value="cross_section"/>
                               </dc:element>
                             </dc:elements>
                         </longitudinal_section_columns>
                       </dc:context>
                     </dc:elements>
                   </dc:context>
                 </dc:elements>
               </dc:context>
             </dc:elements>
          </waterlevels>
        </dc:if>


        <dc:if test="dc:contains($artifact-outs, 'longitudinal_section') or (dc:contains($artifact-outs, 'discharge_longitudinal_section') or (dc:contains($artifact-outs, 'w_differences')))">
          <waterlevels>
            <dc:elements>
              <dc:context>
                 <dc:statement>
                   SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                   FROM   master_artifacts m
                   WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                   AND EXISTS (
                       SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                 </dc:statement>
                 <dc:elements>
                   <dc:context>
                     <dc:statement>
                       SELECT id AS out_id
                       FROM outs
                       WHERE artifact_id = ${a_id} AND name = 'longitudinal_section'
                     </dc:statement>
                     <dc:elements>
                       <dc:context>
                         <dc:statement>
                           SELECT name AS facet_name, num as facet_num, description AS facet_description
                           FROM facets
                           WHERE out_id = ${out_id}
                           ORDER BY num ASC, name DESC
                         </dc:statement>
                         <longitudinal_section_columns>
                             <dc:attribute name="description" value="${river} ${a_creation}"/>
                             <dc:elements>
                               <dc:element name="${facet_name}">
                                 <dc:attribute name="description" value="${facet_description}"/>
                                 <dc:attribute name="ids" value="${facet_num}"/>
                                 <dc:attribute name="factory" value="winfo"/>
                                 <dc:attribute name="artifact-id" value="${a_gid}"/>
                                 <dc:attribute name="out" value="longitudinal_section"/>
                               </dc:element>
                             </dc:elements>
                         </longitudinal_section_columns>
                       </dc:context>
                     </dc:elements>
                   </dc:context>
                 </dc:elements>
               </dc:context>
             </dc:elements>
          </waterlevels>
        </dc:if>

        <dc:if test="dc:contains($artifact-outs, 'fix_longitudinal_section_curve')">
          <waterlevels>
            <dc:elements>
              <dc:context>
                 <dc:statement>
                   SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                   FROM   master_artifacts m
                   WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                   AND EXISTS (
                       SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                 </dc:statement>
                 <dc:elements>

                   <dc:context>
                   <dc:statement>
                     SELECT id AS out_id
                     FROM outs
                     WHERE artifact_id = ${a_id} AND name = 'fix_longitudinal_section_curve'
                   </dc:statement>
                   <dc:elements>
                     <dc:context>
                     <!-- average und deviation ls_0 . ls_1 ...-->
                       <dc:statement>
                         SELECT name AS facet_name, num as facet_num, description AS facet_description
                         FROM facets
                         WHERE out_id = ${out_id} AND ( name LIKE 'fix_deviation_ls%' OR name LIKE 'fix_sector_average_ls%' OR name LIKE 'fix_analysis_events_ls%' OR name LIKE 'fix_reference_events_ls%' )
                         ORDER BY num ASC, name DESC
                       </dc:statement>
                       <waterlevels>
                         <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/>
                         <dc:elements>
                           <dc:element name="${facet_name}">
                             <dc:attribute name="description" value="${facet_description}"/>
                             <dc:attribute name="ids"         value="${facet_num}"/>
                             <dc:attribute name="factory"     value="fixanalysis"/>
                             <dc:attribute name="artifact-id" value="${a_gid}"/>
                             <dc:attribute name="out"         value="fix_longitudinal_section_curve"/>
                           </dc:element>
                         </dc:elements>
                       </waterlevels>
                     </dc:context>
                   </dc:elements>
                  </dc:context>
                 </dc:elements>
                </dc:context>
             </dc:elements>
          </waterlevels>
        </dc:if>

        <dc:if test="dc:contains($artifact-outs, 'fix_deltawt_curve')">
          <waterlevels>
            <dc:elements>
              <dc:context>
                 <dc:statement>
                   SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                   FROM   master_artifacts m
                   WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                   AND EXISTS (
                       SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                 </dc:statement>
                 <dc:elements>

                   <dc:context>
                   <dc:statement>
                     SELECT id AS out_id
                     FROM outs
                     WHERE artifact_id = ${a_id} AND name = 'fix_deltawt_curve'
                   </dc:statement>
                   <dc:elements>
                     <dc:context>
                       <dc:statement>
                         SELECT name AS facet_name, num as facet_num, description AS facet_description
                         FROM facets
                         WHERE out_id = ${out_id} and ( name LIKE 'fix_sector_average_dwt%' OR name LIKE 'fix_deviation_dwt%' OR name = 'fix_analysis_events_dwt' OR name = 'fix_reference_events_dwt' OR name = 'fix_analysis_periods_dwt' )
                         ORDER BY num ASC, name DESC
                       </dc:statement>
                       <waterlevels>
                         <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/>
                         <dc:elements>
                           <dc:element name="${facet_name}">
                             <dc:attribute name="description" value="${facet_description}"/>
                             <dc:attribute name="ids"         value="${facet_num}"/>
                             <dc:attribute name="factory"     value="fixanalysis"/>
                             <dc:attribute name="artifact-id" value="${a_gid}"/>
                             <dc:attribute name="out"         value="fix_deltawt_curve"/>
                           </dc:element>
                         </dc:elements>
                       </waterlevels>
                     </dc:context>
                   </dc:elements>
                  </dc:context>
                 </dc:elements>
                </dc:context>
             </dc:elements>
          </waterlevels>
        </dc:if>

        <dc:if test="dc:contains($artifact-outs, 'fix_derivate_curve')">
          <waterlevels>
            <dc:elements>
              <dc:context>
                 <dc:statement>
                   SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                   FROM   master_artifacts m
                   WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                   AND EXISTS (
                       SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                 </dc:statement>
                 <dc:elements>

                   <dc:context>
                   <dc:statement>
                     SELECT id AS out_id
                     FROM outs
                     WHERE artifact_id = ${a_id} AND name = 'fix_derivate_curve'
                   </dc:statement>
                   <dc:elements>
                     <dc:context>
                       <dc:statement>
                         SELECT name AS facet_name, num as facet_num, description AS facet_description
                         FROM facets
                         WHERE out_id = ${out_id} and name = 'fix_derivate_curve'
                         ORDER BY num ASC, name DESC
                       </dc:statement>
                       <waterlevels>
                         <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/>
                         <dc:elements>
                           <dc:element name="${facet_name}">
                             <dc:attribute name="description" value="${facet_description}"/>
                             <dc:attribute name="ids"         value="${facet_num}"/>
                             <dc:attribute name="factory"     value="fixanalysis"/>
                             <dc:attribute name="artifact-id" value="${a_gid}"/>
                             <dc:attribute name="out"         value="fix_derivate_curve"/>
                           </dc:element>
                         </dc:elements>
                       </waterlevels>
                     </dc:context>
                   </dc:elements>
                  </dc:context>
                 </dc:elements>
                </dc:context>
             </dc:elements>
          </waterlevels>
        </dc:if>

        <dc:if test="dc:contains($artifact-outs, 'fix_wq_curve')">
          <waterlevels>
            <dc:elements>
              <dc:context>
                 <dc:statement>
                   SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                   FROM   master_artifacts m
                   WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                   AND EXISTS (
                       SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                 </dc:statement>
                 <dc:elements>

                   <dc:context>
                   <dc:statement>
                     SELECT id AS out_id
                     FROM outs
                     WHERE artifact_id = ${a_id} AND name = 'fix_wq_curve'
                   </dc:statement>
                   <dc:elements>
                     <dc:context>
                       <dc:statement>
                         SELECT name AS facet_name, num as facet_num, description AS facet_description
                         FROM facets
                         WHERE out_id = ${out_id} and ( name LIKE 'fix_sector_average_wq%' OR name = 'fix_wq_curve' OR name LIKE 'fix_analysis_events_wq%' OR name LIKE 'fix_reference_events_wq%' )
                         ORDER BY num ASC, name DESC
                       </dc:statement>
                       <waterlevels>
                         <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/>
                         <dc:elements>
                           <dc:element name="${facet_name}">
                             <dc:attribute name="description" value="${facet_description}"/>
                             <dc:attribute name="ids"         value="${facet_num}"/>
                             <dc:attribute name="factory"     value="fixanalysis"/>
                             <dc:attribute name="artifact-id" value="${a_gid}"/>
                             <dc:attribute name="out"         value="fix_wq_curve"/>
                           </dc:element>
                         </dc:elements>
                       </waterlevels>
                     </dc:context>
                   </dc:elements>
                  </dc:context>
                 </dc:elements>
                </dc:context>
             </dc:elements>
          </waterlevels>
        </dc:if>

        <dc:if test="dc:contains($artifact-outs, 'duration_curve')">
          <computed_discharge_curves>
            <dc:elements>
                <dc:context>
                  <dc:statement>
                    SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                    FROM   master_artifacts m
                    WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                    AND EXISTS (
                        SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                  </dc:statement>
                  <dc:elements>
                      <dc:context>
                        <dc:statement>
                          SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description
                          FROM outs as o, facets as f, artifacts as a
                          WHERE (f.name = 'duration_curve.q' or f.name = 'duration_curve.w') and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id}
                        </dc:statement>
                        <dc:elements>
                          <dc:element name="${facet_name}">
                            <dc:attribute name="description" value="${facet_description}"/>
                            <dc:attribute name="factory"     value="winfo"/>
                            <dc:attribute name="artifact-id" value="${aid}"/>
                            <dc:attribute name="ids"         value="${aid}"/>
                            <dc:attribute name="out"         value="duration_curve"/>
                          </dc:element>
                        </dc:elements>
                      </dc:context>
                  </dc:elements>
                </dc:context>
            </dc:elements>
          </computed_discharge_curves>
        </dc:if>
        <dc:comment>
           WATERLEVELS - ONLY SHOW Ws
        </dc:comment>

        <!-- TODO doesnt work nicely for fix/wq-diags. -->
        <dc:if test="dc:contains($artifact-outs, 'waterlevels') or (dc:contains($artifact-outs, 'fix_wq_curve'))"> 
          <waterlevels>
            <dc:elements>
              <dc:context>
                 <dc:statement>
                   SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                   FROM   master_artifacts m
                   WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                   AND EXISTS (
                       SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                 </dc:statement>
                 <dc:elements>

                   <dc:context>
                   <dc:statement>
                     SELECT id AS out_id
                     FROM outs
                     WHERE artifact_id = ${a_id} AND name = 'longitudinal_section'
                   </dc:statement>
                   <dc:elements>
                     <dc:context>
                       <dc:statement>
                         SELECT name AS facet_name, num as facet_num, description AS facet_description
                         FROM facets
                         WHERE out_id = ${out_id} and name = 'longitudinal_section.w'
                         ORDER BY num ASC, name DESC
                       </dc:statement>
                       <waterlevels>
                         <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/>
                         <dc:elements>
                           <dc:element name="${facet_name}">
                             <dc:attribute name="description" value="${facet_description}"/>
                             <dc:attribute name="ids"         value="${facet_num}"/>
                             <dc:attribute name="factory"     value="winfo"/>
                             <dc:attribute name="artifact-id" value="${a_gid}"/>
                             <dc:attribute name="out"         value="longitudinal_section"/>
                           </dc:element>
                         </dc:elements>
                       </waterlevels>
                     </dc:context>
                   </dc:elements>
                  </dc:context>
                 </dc:elements>
                </dc:context>
             </dc:elements>
          </waterlevels>
        </dc:if>

        <dc:comment>
          SHOW FLOODMAPS
        </dc:comment>

        <dc:if test="dc:contains($artifact-outs, 'floodmap') or dc:contains($artifact-outs, 'map')">
          <floodmap>
            <dc:elements>
                <dc:context>
                  <dc:statement>
                    SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                    FROM   master_artifacts m
                    WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                    AND EXISTS (
                        SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                  </dc:statement>
                  <dc:elements>
                      <dc:context>
                        <dc:statement>
                          SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description
                          FROM outs as o, facets as f, artifacts as a
                          WHERE f.name = 'floodmap.wsplgen' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id}
                        </dc:statement>
                        <dc:elements>
                          <dc:element name="${facet_name}">
                            <dc:attribute name="description" value="${facet_description}"/>
                            <dc:attribute name="factory"     value="winfo"/>
                            <dc:attribute name="artifact-id" value="${aid}"/>
                            <dc:attribute name="ids"         value="${aid}"/>
                            <dc:attribute name="out"         value="floodmap"/>
                          </dc:element>
                        </dc:elements>
                      </dc:context>
                  </dc:elements>
                </dc:context>
            </dc:elements>
          </floodmap>
        </dc:if>

        <dc:comment>
          MINFO bedheight difference
        </dc:comment>

        <dc:if test="dc:contains($artifact-outs, 'bed_difference_year') or dc:contains($artifact-outs, 'bed_difference_height_year')">
          <fix_longitudinal_section_curve>
            <dc:elements>
                <dc:context>
                  <dc:statement>
                    SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation
                    FROM   master_artifacts m
                    WHERE  m.collection_id = ${collection_id} AND m.gid &lt;&gt; CAST(${artifact-id} AS uuid)
                    AND EXISTS (
                        SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river})
                  </dc:statement>
                  <dc:elements>
                      <dc:context>
                        <dc:statement>
                          SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description
                          FROM outs as o, facets as f, artifacts as a
                          WHERE (f.name = 'fix_sector_average_ls_0' or f.name = 'fix_sector_average_ls_1' or f.name = 'fix_sector_average_ls_2'
                                 or f.name = 'fix_sector_average_ls_3' or f.name = 'fix_analysis_events_ls' or f.name = 'fix_reference_events_ls')
                                and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id}
                        </dc:statement>
                        <fix_longitudinal_section_curve>
                            <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/>
                            <dc:elements>
                            <dc:element name="${facet_name}">
                                <dc:attribute name="description" value="${facet_description}"/>
                                <dc:attribute name="factory"     value="fixanalysis"/>
                                <dc:attribute name="artifact-id" value="${aid}"/>
                                <dc:attribute name="ids"         value="${facet_num}"/>
                                <dc:attribute name="out"         value="fix_longitudinal_section_curve"/>
                            </dc:element>
                            </dc:elements>
                        </fix_longitudinal_section_curve>
                        </dc:context>
                    </dc:elements>
                </dc:context>
            </dc:elements>
          </fix_longitudinal_section_curve>
        </dc:if>

      </dc:context>
      </old_calculations>


      <dc:comment>
        Include System specific part when 'load-system' is in parameters.
        -----------------------------------------------------------------
      </dc:comment>
      <dc:choose>
        <dc:when test="dc:contains($parameters,'load-system')">
          <dc:call-macro name="load-system"/>
        </dc:when>
      </dc:choose>
    </dc:when>


    <dc:comment>
      Include System specific part only if no user ID is given.
      ---------------------------------------------------------
    </dc:comment>
    <dc:otherwise>
        <dc:call-macro name="load-system"/>
    </dc:otherwise>
  </dc:choose>
</datacage>
</dc:template>

http://dive4elements.wald.intevation.org