view flys-artifacts/doc/conf/artifacts/winfo.xml @ 2292:206353680254

Configuration for manualpoints for cross sections. flys-artifacts/trunk@3957 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 08 Feb 2012 09:52:52 +0000
parents 89ca1e8572e4
children 094b4abde10e
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8"?>
<artifact name="winfo">
    <states>

        <state id="state.winfo.river" description="state.winfo.river" state="de.intevation.flys.artifacts.states.RiverSelect">
            <data name="river" type="String" />
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.river"/>
            <to state="state.winfo.calculation_mode"/>
        </transition>

        <state id="state.winfo.calculation_mode" description="state.winfo.calculation_mode" state="de.intevation.flys.artifacts.states.CalculationSelect">
            <data name="calculation_mode" type="String" />
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
            <from state="state.winfo.calculation_mode"/>
            <to state="state.winfo.location_distance"/>
            <condition data="calculation_mode" value="calc.surface.curve" operator="equal"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
            <from state="state.winfo.calculation_mode"/>
            <to state="state.winfo.distance_only"/>
            <condition data="calculation_mode" value="calc.flood.map" operator="equal"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
            <from state="state.winfo.calculation_mode"/>
            <to state="state.winfo.location"/>
            <condition data="calculation_mode" value="calc.discharge.curve" operator="equal"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
            <from state="state.winfo.calculation_mode"/>
            <to state="state.winfo.location"/>
            <condition data="calculation_mode" value="calc.duration.curve" operator="equal"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
            <from state="state.winfo.calculation_mode"/>
            <to state="state.winfo.distance"/>
            <condition data="calculation_mode" value="calc.discharge.longitudinal.section" operator="equal"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
            <from state="state.winfo.calculation_mode"/>
            <to state="state.winfo.waterlevel_pair_select"/>
            <condition data="calculation_mode" value="calc.w.differences" operator="equal"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
            <from state="state.winfo.calculation_mode"/>
            <to state="state.winfo.historicalq.reference_gauge"/>
            <condition data="calculation_mode" value="calc.historical.discharge.curve" operator="equal"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.waterlevel_pair_select"/>
            <to state="state.winfo.w_differences"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
            <from state="state.winfo.calculation_mode"/>
            <to state="state.winfo.reference.curve.input.start"/>
            <condition data="calculation_mode" value="calc.reference.curve" operator="equal"/>
        </transition>

        <state id="state.winfo.location" description="state.winfo.location" state="de.intevation.flys.artifacts.states.LocationSelect">
            <data name="ld_locations" type="Double[]" />

            <outputmodes>
                <outputmode name="discharge_curve" description="output.discharge_curve" mime-type="image/png" type="chart">
                    <facets>
                        <facet name="discharge_curve.curve" description="facet.discharge_curve.curve"/>
                        <facet name="mainvalues.q" description="facet.computed_discharge_curve.mainvalues.q"/>
                        <facet name="discharge_curve.manualpoints" description="Manuelle Punkte"/>
                        <facet name="mainvalues.w" description="facet.computed_discharge_curve.mainvalues.w"/>
                    </facets>
                </outputmode>
                <!-- TODO: Do we want an error report? -->
            </outputmodes>
        </state>

        <state id="state.winfo.distance_only" description="state.winfo.distance_only" state="de.intevation.flys.artifacts.states.DistanceOnlySelect">
            <data name="ld_from" type="Double" />
            <data name="ld_to"   type="Double" />
        </state>

        <state id="state.winfo.distance" description="state.winfo.distance" state="de.intevation.flys.artifacts.states.DistanceSelect">
            <data name="ld_from" type="Double" />
            <data name="ld_to"   type="Double" />
            <data name="ld_step" type="Double" />

            <outputmodes>
                <outputmode name="discharge_curve" description="output.discharge_curve" mime-type="image/png" type="chart">
                    <facets>
                        <facet name="discharge_curve.curve" description="facet.discharge_curve.curve"/>
                        <facet name="mainvalues.q" description="facet.computed_discharge_curve.mainvalues.q"/>
                        <facet name="discharge_curve.manualpoints" description="Manuelle Punkte"/>
                        <facet name="mainvalues.w" description="facet.computed_discharge_curve.mainvalues.w"/>
                    </facets>
                </outputmode>
            </outputmodes>
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.distance_only"/>
            <to state="state.winfo.uesk.wsp"/>
        </transition>

        <state id="state.winfo.location_distance" description="state.winfo.location_distance" state="de.intevation.flys.artifacts.states.LocationDistanceSelect">
            <data name="ld_mode" type="String" />
            <data name="ld_locations" type="Double[]" />
            <data name="ld_from" type="Double" />
            <data name="ld_to" type="Double" />
            <data name="ld_step" type="Double" />

            <outputmodes>
                <outputmode name="discharge_curve" description="output.discharge_curve" mime-type="image/png" type="chart">
                    <facets>
                        <facet name="discharge_curve.curve" description="facet.discharge_curve.curve"/>
                        <facet name="mainvalues.q" description="facet.computed_discharge_curve.mainvalues.q"/>
                        <facet name="discharge_curve.manualpoints" description="Manuelle Punkte"/>
                        <facet name="mainvalues.w" description="facet.computed_discharge_curve.mainvalues.w"/>
                    </facets>
                </outputmode>
                <!-- TODO: Do we want an error report? -->
            </outputmodes>
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.distance"/>
            <to state="state.winfo.wq_adapted"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.location_distance"/>
            <to state="state.winfo.wq"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
            <from state="state.winfo.location"/>
            <to state="state.winfo.durationcurve"/>
            <condition data="calculation_mode" value="calc.duration.curve" operator="equal"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
            <from state="state.winfo.location"/>
            <to state="state.winfo.computeddischargecurve"/>
            <condition data="calculation_mode" value="calc.discharge.curve" operator="equal"/>
        </transition>

        <state id="state.winfo.wq" description="state.winfo.wq" state="de.intevation.flys.artifacts.states.WQSelect">
            <data name="wq_mode" type="String" />
            <data name="wq_free" type="Boolean" />
            <data name="wq_selection" type="String" />
            <data name="wq_from" type="Double" />
            <data name="wq_to" type="Double" />
            <data name="wq_step" type="Double" />
            <data name="wq_single" type="Double[]" />
        </state>

        <state id="state.winfo.wq_adapted" description="state.winfo.wq_adapted" state="de.intevation.flys.artifacts.states.WQAdapted">
            <!-- TODO Add data objects -->
            <data name="wq_mode"   type="String" />
            <data name="wq_values" type="WQTriple" />
        </state>

        <state id="state.winfo.waterlevel_pair_select" description="state.winfo.waterlevel_pair_select" state="de.intevation.flys.artifacts.states.WaterlevelPairSelectState">
            <data name="diffids" type="String" />
        </state>

        <state id="state.winfo.reference.curve.input.start" description="state.winfo.reference.curve.input (start)" state="de.intevation.flys.artifacts.states.EnterLocationState">
            <data name="reference.startpoint" type="Double[]"/>
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.reference.curve.input.start"/>
            <to   state="state.winfo.reference.curve.input.end"/>
        </transition>

        <state id="state.winfo.reference.curve.input.end" description="state.winfo.reference.curve.input (end)" state="de.intevation.flys.artifacts.states.EnterLocationState">
            <data name="reference.endpoint" type="Double[]"/>
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.reference.curve.input.end"/>
            <to state="state.winfo.reference.curve"/>
        </transition>

        <state id="state.winfo.reference.curve" description="state.winfo.reference.curve" state="de.intevation.flys.artifacts.states.ReferenceCurveState">
            <outputmodes>
                <outputmode name="reference_curve_normalized" mime-type="image/png" type="chart">
                    <facets>
                        <facet name="reference_curve_normalized" description="A normalized reference curve!"/>
                    </facets>
                </outputmode>
                <outputmode name="reference_curve" mime-type="image/png" type="chart">
                    <facets>
                        <facet name="reference_curve" description="A ... reference curve!"/>
                    </facets>
                </outputmode>
                <outputmode name="reference_curve_export" mime-type="text/plain" type="export">
                    <facets>
                        <facet name="csv" description="facet.reference_curve_export.csv" />
                    </facets>
                </outputmode>
                <outputmode name="reference_curve_report" description="output.reference_curve_report" mime-type="text/xml" type="report">
                    <facets>
                        <facet name="report" description="facet.reference_curve_export.report" />
                    </facets>
                </outputmode>
            </outputmodes>
        </state>

        <state id="state.winfo.w_differences" description="state.winfo.w_differences" state="de.intevation.flys.artifacts.states.WDifferencesState">

            <outputmodes>
                <outputmode name="w_differences" description="output.w_differences" mime-type="image/png" type="chart">
                    <facets>
                        <facet name="longitudinal_section.q" description="facet.longitudinal_section.q"/>
                        <facet name="longitudinal_section.w" description="facet.longitudinal_section.w"/>
                        <facet name="w_differences" description="facet.w_differences"/>
                        <facet name="other.wkms" description="facet.other.wkms"/>
                        <facet name="other.wqkms" description="facet.other.wqkms"/>
                        <facet name="heightmarks_points" description="facet.other.wkms.heightmarks_points"/>
                        <facet name="w_differences.manualpoints" description="Manuelle Punkte"/>
                        <facet name="longitudinal_section.annotations" description="facet.longitudinal_section.annotations"/>
                    </facets>
                </outputmode>
                <outputmode name="w_differences_export" description="output.w_differences.export" mime-type="text/plain" type="export">
                    <facets>
                        <facet name="csv" description="facet.w_differences.csv" />
                        <facet name="pdf" description="facet.w_differences.pdf" />
                    </facets>
                </outputmode>
            </outputmodes>
        </state>

        <state id="state.winfo.durationcurve" description="state.winfo.durationcurve" state="de.intevation.flys.artifacts.states.DurationCurveState">
            <outputmodes>
                <outputmode name="duration_curve" description="output.duration_curve" mime-type="image/png" type="chart">
                    <facets>
                        <facet name="duration_curve.w" description="facet.duration_curve.w"/>
                        <facet name="duration_curve.q" description="facet.duration_curve.q"/>
                        <facet name="duration_curve.mainvalues.q" description="Q Main Values at optional second axis"/>
                        <facet name="computed_discharge_curve.mainvalues.w" description="W Main Values"/>
                        <facet name="duration_curve.manualpoints" description="Manuelle Punkte"/>
                    </facets>
                </outputmode>
                <outputmode name="durationcurve_export" description="output.durationcurve_export" mime-type="text/plain" type="export">
                    <facets>
                        <facet name="csv" description="facet.durationcurve_export.csv" />
                        <facet name="pdf" description="facet.durationcurve_export.pdf" />
                    </facets>
                </outputmode>
                <outputmode name="durationcurve_report" description="output.durationcurve_report" mime-type="text/xml" type="report">
                    <facets>
                        <facet name="report" description="facet.durationcurve_export.report" />
                    </facets>
                </outputmode>
            </outputmodes>
        </state>

        <state id="state.winfo.computeddischargecurve" description="state.winfo.computeddischargecurve" state="de.intevation.flys.artifacts.states.ComputedDischargeCurveState">
            <outputmodes>
                <outputmode name="computed_discharge_curve" description="output.computed_discharge_curve" mime-type="image/png" type="chart">
                    <facets>
                        <facet name="computed_discharge_curve.q" description="facet.computed_discharge_curve.q"/>
                        <facet name="computed_discharge_curve.mainvalues.q" description="facet.computed_discharge_curve.mainvalues.q"/>
                        <facet name="computed_discharge_curve.mainvalues.w" description="facet.computed_discharge_curve.mainvalues.w"/>
                        <facet name="other.wqkms" description="facet.other.wqkms"/>
                        <facet name="other.wq"    description="Point-like data like fixations"/>
                        <facet name="other.wq"    description="Point-like data like fixations"/>
                        <facet name="other.wkms.interpol" description="Height over km, like flood protections."/>
                        <facet name="computed_discharge_curve.manualpoints" description="Manuelle Punkte"/>
                    </facets>
                </outputmode>
                <outputmode name="computed_dischargecurve_export" description="output.computed_dischargecurve_export" mime-type="text/plain" type="export">
                    <facets>
                        <facet name="csv" description="facet.computed_dischargecurve_export.csv" />
                        <facet name="pdf" description="facet.computed_dischargecurve_export.pdf" />
                    </facets>
                </outputmode>
                <outputmode name="computed_dischargecurve_report" description="output.computed_dischargecurve_report" mime-type="text/xml" type="report">
                    <facets>
                        <facet name="report" description="facet.computed_dischargecurve_export.report"/>
                    </facets>
                </outputmode>
                <outputmode name="computed_dischargecurve_at_export" description="output.computed_dischargecurve_at_export" mime-type="text/plain" type="export">
                    <facets>
                        <facet name="at" description="facet.computed_dischargecurve_export.at"/>
                    </facets>
                </outputmode>
            </outputmodes>
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.wq"/>
            <to state="state.winfo.waterlevel"/>
        </transition>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.wq_adapted"/>
            <to state="state.winfo.discharge_longitudinal_section"/>
        </transition>

        <state id="state.winfo.waterlevel" description="state.winfo.waterlevel" state="de.intevation.flys.artifacts.states.WaterlevelState">
            <outputmodes>
                <outputmode name="longitudinal_section" description="output.longitudinal_section" mime-type="image/png" type="chart">
                  <facets>
                    <facet name="longitudinal_section.w" description="facet.longitudinal_section.w"/>
                    <facet name="longitudinal_section.q" description="facet.longitudinal_section.q"/>
                    <facet name="w_differences"          description="facet.w_differences"/>
                    <facet name="other.wqkms.w"          description="W-Type of data" />
                    <facet name="other.wq"               description="WQ-Type of data" />
                    <facet name="other.wqkms.q"          description="Q-Type of data" />
                    <facet name="other.wkms"             description="facet.other.wkms"/>
                    <facet name="longitudinal_section.manualpoints" description="Manuelle Punkte"/>
                    <facet name="other.wqkms"            description="facet.other.wqkms"/>
                    <facet name="heightmarks_points"     description="facet.other.wkms.heightmarks_points"/>
                    <facet name="longitudinal_section.area"        description="an area"/>
                    <facet name="longitudinal_section.annotations" description="facet.longitudinal_section.annotations"/>
                  </facets>
                </outputmode>
                <outputmode name="waterlevel_export" description="output.waterlevel_export" mime-type="text/plain" type="export">
                  <facets>
                    <facet name="csv" description="facet.waterlevel_export.csv" />
                    <facet name="wst" description="facet.waterlevel_export.wst" />
                    <facet name="pdf" description="facet.waterlevel_export.pdf" />
                  </facets>
                </outputmode>
                <outputmode name="waterlevel_report" description="output.waterlevel_report" mime-type="text/xml" type="report">
                  <facets>
                    <facet name="report" description="facet.waterlevel_export.report"/>
                  </facets>
                </outputmode>
                <outputmode name="cross_section" description="output.cross_section" mime-type="image/png" type="chart">
                  <facets>
                    <facet name="cross_section_water_line" description="facet.cross_section_water_line"/>
                    <facet name="cross_section"            description="facet.cross_section"/>
                    <facet name="area"                     description="an area"/>
                    <facet name="cross_section.area"                     description="an area"/>
                    <facet name="cross_section.manualpoints" description="points"/>
                    <facet name="hyk"                      description="hyks"/>
                  </facets>
                </outputmode>
            </outputmodes>
        </state>

        <state id="state.winfo.discharge_longitudinal_section" description="state.winfo.discharge_longitudinal_section" state="de.intevation.flys.artifacts.states.DischargeLongitudinalSection">
            <outputmodes>
                <outputmode name="discharge_longitudinal_section" description="output.discharge_longitudinal_section" mime-type="image/png" type="chart">
                    <facets>
                        <facet name="discharge_longitudinal_section.w"/>
                        <facet name="discharge_longitudinal_section.q"/>
                        <facet name="discharge_longitudinal_section.c"/>
                        <facet name="discharge_longitudinal_section.manualpoints" description="Manuelle Punkte"/>
                        <facet name="other.wqkms.w"/>
                        <facet name="other.wq"/>
                        <facet name="other.wqkms.q"/>
                        <facet name="other.wqkms"/>
                        <facet name="other.wkms"/>
                        <facet name="heightmarks_points"/>
                        <facet name="longitudinal_section.annotations"/>
                        <facet name="longitudinal_section.w"/>
                    </facets>
                </outputmode>
                <outputmode name="discharge_longitudinal_section_export" description="output.discharge_longitudinal_section_export" mime-type="text/plain" type="export">
                    <facets>
                        <facet name="csv" description="facet.discharge_longitudinal_section_export.csv" />
                        <facet name="wst" description="facet.discharge_longitudinal_section_export.wst" />
                    </facets>
                </outputmode>
                <outputmode name="discharge_longitudinal_section_report" description="output.discharge_longitudinal_section_report" mime-type="text/xml" type="report">
                    <facets>
                        <facet name="report" description="facet.discharge_longitudinal_section_export.report"/>
                    </facets>
                </outputmode>
            </outputmodes>
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.waterlevel"/>
            <to state="state.winfo.uesk.dgm"/>
        </transition>

        <state id="state.winfo.uesk.wsp" description="state.winfo.uesk.wsp" state="de.intevation.flys.artifacts.states.WaterlevelSelectState">
            <data name="wsp" type="String" />
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.uesk.wsp"/>
            <to state="state.winfo.uesk.dgm"/>
        </transition>

        <state id="state.winfo.uesk.dgm" description="state.winfo.uesk.dgm" state="de.intevation.flys.artifacts.states.DGMSelect">
            <data name="dgm" type="String" />
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.uesk.dgm"/>
            <to state="state.winfo.uesk.profiles"/>
        </transition>

        <state id="state.winfo.uesk.profiles" description="state.winfo.uesk.profiles" state="de.intevation.flys.artifacts.states.ProfileDistanceSelect">
            <data name="profile_distance" type="String" />
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.uesk.profiles"/>
            <to state="state.winfo.uesk.floodplain"/>
        </transition>

        <state id="state.winfo.uesk.floodplain" description="state.winfo.uesk.floodplain.description" state="de.intevation.flys.artifacts.states.FloodplainChoice">
            <data name="use_floodplain" type="Boolean" />
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.uesk.floodplain"/>
            <to state="state.winfo.uesk.differences"/>
        </transition>

        <state id="state.winfo.uesk.differences" description="state.winfo.uesk.differences" state="de.intevation.flys.artifacts.states.WaterlevelGroundDifferences">
            <data name="diff_from" type="Double" />
            <data name="diff_to"   type="Double" />
            <data name="diff_diff" type="Double" />
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.uesk.differences"/>
            <to state="state.winfo.uesk.scenario"/>
        </transition>

        <state id="state.winfo.uesk.scenario" description="state.winfo.uesk.scenario" state="de.intevation.flys.artifacts.states.ScenarioSelect">
            <data name="scenario" type="String" />
            <data name="uesk.barriers" type="String" />
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.uesk.scenario"/>
            <to state="state.winfo.uesk.uesk"/>
        </transition>

        <state id="state.winfo.uesk.uesk" description="state.winfo.uesk.uesk" state="de.intevation.flys.artifacts.states.FloodMapState">
            <outputmodes>
                <outputmode name="floodmap" description="output.uesk.map.description" type="map">
                    <facets>
                        <facet name="floodmap.wsplgen"/>
                        <facet name="floodmap.barriers"/>
                        <facet name="floodmap.riveraxis"/>
                        <facet name="floodmap.wmsbackground"/>
                        <facet name="floodmap.kms"/>
                        <facet name="floodmap.qps"/>
                        <facet name="floodmap.hws"/>
                        <facet name="floodmap.catchment"/>
                        <facet name="floodmap.floodplain"/>
                        <facet name="floodmap.lines"/>
                        <facet name="floodmap.buildings"/>
                        <facet name="floodmap.fixpoints"/>
                        <facet name="floodmap.externalwms"/>
                    </facets>
                </outputmode>
                <outputmode name="wsplgen_report" description="output.wsplgen_report" mime-type="text/xml" type="report">
                    <facets>
                        <facet name="report" description="facet.wsplgen_export.report"/>
                    </facets>
                </outputmode>
            </outputmodes>
        </state>


        <!-- path for historical discharge curves -->
        <state id="state.winfo.historicalq.reference_gauge" description="state.winfo.historicalq.reference_gauge" state="de.intevation.flys.artifacts.states.ReferenceGaugeState">
            <data name="reference_gauge" type="Integer" />
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.historicalq.reference_gauge"/>
            <to state="state.winfo.historicalq.timerange"/>
        </transition>

        <state id="state.winfo.historicalq.timerange" description="state.winfo.historicalq.timerange" state="de.intevation.flys.artifacts.states.GaugeTimerangeState">
            <data name="year_range" type="intrange"/>
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.historicalq.timerange"/>
            <to state="state.winfo.historicalq.mode"/>
        </transition>

        <state id="state.winfo.historicalq.mode" description="state.winfo.historicalq.mode" state="de.intevation.flys.artifacts.states.HistoricalDischargeState">
            <data name="historical_mode" type="intoptions" />
            <data name="historical_values" type="doublearray" />
        </state>

        <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
            <from state="state.winfo.historicalq.mode"/>
            <to state="state.winfo.historicalq.compute"/>
        </transition>

        <state id="state.winfo.historicalq.compute" description="state.winfo.historicalq.compute" state="de.intevation.flys.artifacts.states.HistoricalDischargeComputeState">
            <outputmodes>
                <outputmode name="historical_discharge" description="output.historical_discharge.description" mime-type="image/png" type="chart">
                    <facets>
                        <facet name="historical_discharge.historicalq"/>
                    </facets>
                </outputmode>
                <outputmode name="historical_discharge_export" description="output.historical_discharge.export" mime-type="text/plain" type="export">
                    <facets>
                        <facet name="csv" description="facet.historical_discharge.csv" />
                        <facet name="pdf" description="facet.historical_discharge.pdf" />
                    </facets>
                </outputmode>
                <outputmode name="historical_discharge_report" description="output.historical_discharge_report" mime-type="text/xml" type="report">
                    <facets>
                        <facet name="report" description="facet.historical_discharge.report"/>
                    </facets>
                </outputmode>
            </outputmodes>
        </state>

    </states>
</artifact>

http://dive4elements.wald.intevation.org