view flys-artifacts/doc/conf/meta-data-template.xml @ 976:d830c398c8f4

Improved XPath handling for absent flags. flys-artifacts/trunk@2402 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 25 Jul 2011 14:12:14 +0000
parents 0fd335b4b21b
children
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:context>
    <dc:statement>
      SELECT id AS river_id, name as river_name FROM rivers
      WHERE name ILIKE ${river}
    </dc:statement>
    <dc:elements>
      <river>
        <dc:attribute name="name" value="${river_name}"/>
        <dc:attribute name="db-id" value="${river_id}"/>
        <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve')">
            <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: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="from" value="${g_start}"/>
                            <dc:attribute name="to" value="${g_stop}"/>
                            <dc:attribute name="db-id" value="${discharge_id}"/></historical>
                        </dc:elements>
                      </dc:context>
                    </gauge>
                  </dc:elements>
                </dc:context>
              </discharge-table-gauge>
              <fixations>
                <dc:attribute name="id" value="fixations-${river_id}"/>
                <dc:context>
                  <dc:statement>
                    SELECT id          AS fix_id,
                           description AS fix_description
                    FROM wsts WHERE kind = 2 AND river_id = ${river_id}
                  </dc:statement>
                  <dc:elements>
                    <fixation>
                      <dc:attribute name="name" value="${fix_description}"/>
                      <dc:attribute name="db-id" value="${fix_id}"/>
                      <columns>
                        <dc:context>
                          <dc:statement>
                            SELECT id   AS fix_column_id,
                                   name AS fix_column_name
                            FROM wst_columns WHERE wst_id = ${fix_id}
                            ORDER by position
                          </dc:statement>
                          <dc:elements>
                            <column>
                              <dc:attribute name="name" value="${fix_column_name}"/>
                              <dc:attribute name="db-id" value="${fix_column_id}"/></column>
                          </dc:elements>
                        </dc:context>
                      </columns>
                    </fixation>
                  </dc:elements>
                </dc:context>
              </fixations>
              <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}"/>
                      <columns>
                        <dc:context>
                          <dc:statement>
                            SELECT id   AS prot_column_id,
                                   name AS prot_column_name
                            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="db-id" value="${prot_column_id}"/></column>
                          </dc:elements>
                        </dc:context>
                      </columns>
                    </flood-protection>
                  </dc:elements>
                </dc:context>
              </flood-protections>
              <flood-water-marks>
                <dc:attribute name="id" value="flood-water-marks-${river_id}"/>
                <dc:context>
                  <dc:statement>
                    SELECT id          AS fw_id,
                           description AS fw_description
                    FROM wsts WHERE kind = 4 AND river_id = ${river_id}
                  </dc:statement>
                  <dc:elements>
                    <flood-water-mark>
                      <dc:attribute name="name" value="${fw_description}"/>
                      <dc:attribute name="db-id" value="${fw_id}"/>
                      <columns>
                        <dc:context>
                          <dc:statement>
                            SELECT id   AS fw_column_id,
                                   name AS fw_column_name
                            FROM wst_columns WHERE wst_id = ${fw_id}
                            ORDER by position
                          </dc:statement>
                          <dc:elements>
                            <column>
                              <dc:attribute name="name" value="${fw_column_name}"/>
                              <dc:attribute name="db-id" value="${fw_column_id}"/></column>
                          </dc:elements>
                        </dc:context>
                      </columns>
                    </flood-water-mark>
                  </dc:elements>
                </dc:context>
              </flood-water-marks>
              <water-levels>
                <dc:attribute name="id" value="water-levels-${river_id}"/>
                <dc:context>
                  <dc:statement>
                    SELECT id          AS wl_id,
                           description AS wl_description
                    FROM wsts WHERE kind = 0 AND river_id = ${river_id}
                  </dc:statement>
                  <dc:elements>
                    <water-level>
                      <dc:attribute name="name" value="${wl_description}"/>
                      <dc:attribute name="db-id" value="${wl_id}"/>
                      <columns>
                        <dc:context>
                          <dc:statement>
                            SELECT id   AS wl_column_id,
                                   name AS wl_column_name
                            FROM wst_columns WHERE wst_id = ${wl_id}
                            ORDER by position
                          </dc:statement>
                          <dc:elements>
                            <column>
                              <dc:attribute name="name" value="${wl_column_name}"/>
                              <dc:attribute name="db-id" value="${wl_column_id}"/></column>
                          </dc:elements>
                        </dc:context>
                      </columns>
                    </water-level>
                  </dc:elements>
                </dc:context>
              </water-levels>
              <extra-longitudinal-sections>
                <dc:attribute name="id" value="extra-longitudinal-sections-${river_id}"/>
                <dc:context>
                  <dc:statement>
                    SELECT id          AS els_id,
                           description AS els_description
                    FROM wsts WHERE kind = 1 AND river_id = ${river_id}
                  </dc:statement>
                  <dc:elements>
                    <extra-longitudinal-section>
                      <dc:attribute name="name" value="${els_description}"/>
                      <dc:attribute name="db-id" value="${els_id}"/>
                      <columns>
                        <dc:context>
                          <dc:statement>
                            SELECT id   AS els_column_id,
                                   name AS els_column_name
                            FROM wst_columns WHERE wst_id = ${els_id}
                            ORDER by position
                          </dc:statement>
                          <dc:elements>
                            <column>
                                <dc:attribute name="name" value="${els_column_name}"/>
                                <dc:attribute name="db-id" value="${els_column_id}"/></column>
                          </dc:elements>
                        </dc:context>
                      </columns>
                    </extra-longitudinal-section>
                  </dc:elements>
                </dc:context>
              </extra-longitudinal-sections>
            </discharge-table-nn>
        </dc:if>
        <dc:if test="dc:contains($artifact-outs, 'longitudinal_section')">
            <longitudinal-section>
              <fixations><dc:attribute name="ref" value="fixations-${river_id}"/></fixations>
              <flood-protections><dc:attribute name="ref" value="flood-protections-${river_id}"/></flood-protections>
              <flood-water-marks><dc:attribute name="ref" value="flood-water-marks-${river_id}"/></flood-water-marks>
              <water-levels><dc:attribute name="ref" value="water-levels-${river_id}"/></water-levels>
              <extra-longitudinal-sections><dc:attribute name="ref" value="extra-longitudinal-sections-${river_id}"/></extra-longitudinal-sections>
            </longitudinal-section>
        </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:otherwise>
                  <dc:call-macro name="flood-map-complete"/>
                </dc:otherwise>
            </dc:choose>
            </floodmap>
            <dc:macro name="flood-map-recommended">
                <kilometrage>
                    <riveraxis>
                        <dc:attribute name="factory" value="riveraxis"/>
                        <dc:attribute name="db-ids" value="${river_id}"/>
                    </riveraxis>
                </kilometrage>
                <rastermap>
                    <background>
                        <dc:attribute name="factory" value="wmsbackground"/>
                        <dc:attribute name="db-ids" value="${river_id}"/>
                    </background>
                </rastermap>
            </dc:macro>
            <dc:macro name="flood-map-complete">
                <kilometrage>
                    <riveraxis>
                        <dc:attribute name="factory" value="riveraxis"/>
                        <dc:attribute name="db-ids" value="${river_id}"/>
                    </riveraxis>
                </kilometrage>
                <rastermap>
                    <background>
                        <dc:attribute name="factory" value="wmsbackground"/>
                        <dc:attribute name="db-ids" value="${river_id}"/>
                    </background>
                </rastermap>
            </dc:macro>
        </dc:if>
      </river>
    </dc:elements>
  </dc:context>
</datacage>
</dc:template>

http://dive4elements.wald.intevation.org