view gnv/src/main/webapp/WEB-INF/config/templates/describe-ui-static.xsl @ 409:df78178e1180

Moved user interface creation to an own action. This makes avoids code duplication and makes it easier to write new action to handle special interactions, because there is no need for parsing the describe document and creating the user interface after this. gnv/trunk@599 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 22 Jan 2010 11:28:25 +0000
parents b5733f9f386b
children 8e39c74f9fb6
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
                xmlns="http://www.w3.org/2002/xforms" 
                xmlns:xform="http://www.w3.org/2002/xforms" 
                xmlns:art="http://www.intevation.de/2009/artifacts"
                exclude-result-prefixes="xform art">

    <xsl:output
        method="html" version="1.0" encoding="UTF-8" omit-xml-declaration="no" />

    <xsl:param name="back-url"/>
    <xsl:param name="selectfis"/>
    <xsl:param name="edit">bearbeiten</xsl:param>

    <!-- start parsing document -->
    <xsl:template match="*">
        <div id="down">
            <table class="static">
                <xsl:apply-templates />
            </table>
        </div>
    </xsl:template>

    
    <!-- match multi select boxes -->
    <xsl:template match="xform:select">
        <xsl:variable name="state" select="@art:state" />
        <tr>
            <th class="parameter"><xsl:value-of select="xform:label" /></th>
            <td><xsl:apply-templates select="xform:choices" /></td>
            <td class="historyback">
            <!--
                <xsl:if test="$state != ''">
                    <a href="{$back-url}?target={$state}">
                        <img title="{$edit}" alt="{$edit}" src="images/back_button.png"/>
                    </a>
                </xsl:if>
            -->
            </td>
        </tr>
    </xsl:template>


    <!-- match select boxes -->
    <xsl:template match="xform:select1">
        <xsl:variable name="state" select="@art:state" />
        <xsl:variable name="fis" select="@art:fis" />
        <tr>
            <th class="parameter"><xsl:value-of select="xform:label" /></th>
            <td><xsl:apply-templates select="xform:choices" /></td>
            <td class="historyback">
                <!--
                <xsl:if test="$state != ''">
                    <a href="{$back-url}?target={$state}">
                        <img title="{$edit}" alt="{$edit}" src="images/back_button.png"/>
                    </a>
                </xsl:if>
                -->
                <xsl:if test="$fis">
                    <a href="{$selectfis}"><img title="{$edit}" alt="{$edit}" src="images/back_button.png"/></a>
                </xsl:if>
            </td>
        </tr>
    </xsl:template>

    
    <!-- match item list of select boxes or multi select boxes -->
    <xsl:template match="xform:choices">
        <table class="choices"><xsl:apply-templates select="xform:item" /></table>
    </xsl:template>


    <!-- match item of select boxes or multi select boxes -->
    <xsl:template match="xform:item">
        <tr>
            <td class="value"><xsl:value-of select="xform:label" /></td>
        </tr>
    </xsl:template>


    <!-- match group items -->
    <xsl:template match="xform:group">
        <xsl:variable name="state" select="@art:state" />
        <tr>
            <th class="parameter"><xsl:value-of select="xform:label" /></th>
            <td>
                <table><xsl:apply-templates select="xform:input" /></table>
            </td>
            <td class="historyback">
                <!--
                <xsl:if test="$state != ''">
                    <a href="{$back-url}?target={$state}"><img title="{$edit}" alt="{$edit}" src="images/back_button.png"/></a>
                </xsl:if>
                -->
            </td>
        </tr>
    </xsl:template>


    <!-- match single group item -->
    <xsl:template match="xform:input">
        <tr>
            <td class="value"><xsl:value-of select="xform:label" />&#160;<xsl:value-of select="xform:value" /></td>
        </tr>
    </xsl:template>

</xsl:stylesheet>

http://dive4elements.wald.intevation.org