[Mpuls-commits] r5671 - wasko/trunk/waskoweb/public/formed

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Mon Nov 28 15:50:58 CET 2011


Author: ludwig
Date: 2011-11-28 15:50:57 +0100 (Mon, 28 Nov 2011)
New Revision: 5671

Added:
   wasko/trunk/waskoweb/public/formed/convert-wasko_mp-meta.xsl
Log:
Wasko Meta: insert convert for wasko model program.
It diffs in support_js and measure_name from the default convert XSLT script.


Added: wasko/trunk/waskoweb/public/formed/convert-wasko_mp-meta.xsl
===================================================================
--- wasko/trunk/waskoweb/public/formed/convert-wasko_mp-meta.xsl	2011-11-28 14:42:07 UTC (rev 5670)
+++ wasko/trunk/waskoweb/public/formed/convert-wasko_mp-meta.xsl	2011-11-28 14:50:57 UTC (rev 5671)
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet
+    version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+    <xsl:output method="xml" encoding="UTF-8" />
+    <!-- For Wasko model places 
+         changes in support_js and measure_name -->
+    <xsl:template match="/">
+        <cases formed-type="http://mpuls.intevation.de/formed/air-case/2011-09-16/15:00:00" version="5">
+            <case>
+                <master>
+                    <rg_einrichtung>
+                    <xsl:apply-templates select="cases/case/master/ks"/>
+                    <xsl:call-template name="measure_name"/>
+                    <xsl:apply-templates select="cases/case/master/geburtsdatum"/>
+                    <xsl:apply-templates select="cases/case/master/geschlecht"/>
+                    <xsl:apply-templates select="cases/case/master/nat_land"/>
+                    <xsl:apply-templates select="cases/case/master/nat_staat"/>
+                    <xsl:apply-templates select="cases/case/master/nat_muspra"/>
+                    <xsl:apply-templates select="cases/case/master/nat_staat"/>
+                    <xsl:call-template name="migrationshintergrund"/>
+                    <xsl:apply-templates select="cases/case/master/zugang"/>
+                    <xsl:apply-templates select="cases/case/master/schulform"/>
+                    <xsl:apply-templates select="cases/case/master/cm_end_schul"/>
+                    <xsl:apply-templates select="cases/case/master/schulpfl_a"/>
+                    <xsl:apply-templates select="cases/case/master/schulpfl_b"/>
+                    <xsl:call-template name="hoechster_abschluss_schule"/>
+                    <xsl:call-template name="hoechster_abschluss_beruf"/>
+                    <xsl:apply-templates select="cases/case/master/cm_end_art"/>
+                    <xsl:apply-templates select="cases/case/master/cm_end_ab"/>
+                    <xsl:apply-templates select="cases/case/master/cm_end_abgr"/>
+                    <xsl:call-template name="vorzeitig_durch"/>
+                    <xsl:apply-templates select="cases/case/master/cm_end_sonst"/>
+                    <xsl:apply-templates select="cases/case/master/phase"/>
+                    <xsl:call-template name="benachteiligung"/>
+                    <xsl:apply-templates select="cases/case/master/rg_hilfsmassnahmen"/>
+                    </rg_einrichtung>
+                </master>
+            </case>
+        </cases>
+    </xsl:template>
+
+    <xsl:template match="ks">
+        <name_einrichtung><xsl:value-of select="."/></name_einrichtung>
+        <model_place><xsl:value-of select="."/></model_place>
+    </xsl:template>
+
+    <xsl:template name="measure_name">
+        <measure_name>Modellprogramm Aktiv in der Region</measure_name>
+    </xsl:template>
+
+    <xsl:template match="geburtsdatum">
+        <geburtsdatum><xsl:value-of select="substring(.,1,4)"/>-01-01</geburtsdatum>
+    </xsl:template>
+    <xsl:template match="geschlecht">
+        <geschlecht>
+            <xsl:choose>
+                <xsl:when test=". = -3">-3</xsl:when>
+                <xsl:when test=". = 0">1</xsl:when>
+                <xsl:when test=". = 1">0</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </geschlecht>
+    </xsl:template>
+
+    <xsl:template match="nat_land">
+        <geburtsland><xsl:value-of select="."/></geburtsland>
+    </xsl:template>
+
+    <xsl:template match="nat_staat">
+        <staatsbuergerschaft>
+            <xsl:choose>
+                <xsl:when test=". = -3">-3</xsl:when>
+                <xsl:when test=". = 2">-2</xsl:when>
+                <xsl:when test=". = 1">29</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </staatsbuergerschaft>
+    </xsl:template>
+
+    <xsl:template match="nat_muspra">
+        <muttersprache><xsl:value-of select="."/></muttersprache>
+    </xsl:template>
+
+    <xsl:template match="nat_staat">
+        <staatsbuergerschaft>
+            <xsl:choose>
+                <xsl:when test=". = -3">-3</xsl:when>
+                <xsl:when test=". = 2">-2</xsl:when>
+                <xsl:when test=". = 1">29</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </staatsbuergerschaft>
+    </xsl:template>
+
+    <!--
+         Migrationshintergrund. Diskussion dazu siehe
+         http://support.intevation.de/mpuls/issue2352
+    -->
+    <xsl:template name="migrationshintergrund">
+        <xsl:variable name="sprache" select="cases/case/master/nat_muspra"/>
+        <xsl:variable name="staat" select="cases/case/master/nat_staat"/>
+        <xsl:variable name="gl_mutter" select="cases/case/master/mutter_land"/>
+        <xsl:variable name="gl_vater" select="cases/case/master/vater_land"/>
+        <migrationshintergrund>
+            <xsl:choose>
+                <!-- Zuerst die einfachen Fälle: Wenn eines der Felder,
+                     die in den Migrationshintergrund einfließen
+                     eindeutig auf einen MHG hinweist, also
+                     z.B. definitiv eine andere Sprache als Deutsch
+                     angibt, liegt ein MHG vor. Die Werte "unbekannt"
+                     und "keine Angabe" sind nicht eindeutig. Der Wert
+                     "Sonstiges" aber schon.
+                -->
+                <xsl:when test="$sprache = -2 or ($sprache >= 0 and $sprache != 18)">1</xsl:when>
+                <xsl:when test="$staat = -2 or ($staat >= 0 and $staat != 29)">1</xsl:when>
+                <xsl:when test="$gl_mutter = -2 or ($gl_mutter >= 0 and $gl_mutter != 29)">1</xsl:when>
+                <xsl:when test="$gl_vater = -2 or ($gl_vater >= 0 and $gl_vater != 29)">1</xsl:when>
+                <!-- Ab hier gilt:
+                     sprache in (18, -1, -3)
+                     staat in (29, -1, -3)
+                     gl_mutter in (29, -1, -3)
+                     gl_vater in (29, -1, -3)
+                -->
+                <!-- Spezialfall: alles "keine Angabe"
+                     -> MHG auch "keine Angabe -->
+                <xsl:when test="$sprache = -1 and $staat = -1 and $gl_mutter = -1 and $gl_vater = -1">-1</xsl:when>
+
+                <!-- Kein MHG -->
+                <xsl:when test="$sprache = 18 and $staat = 29 and $gl_mutter = 29 and $gl_vater = 29">2</xsl:when>  
+
+                <!-- Ab hier gilt: es konnte nicht definitiv
+                     festgestellt werden, ob ein MHG vorliegt oder
+                     nicht. Daher als Default "Unbekannt"
+                -->
+                <xsl:otherwise>-3</xsl:otherwise>
+            </xsl:choose>
+        </migrationshintergrund>
+    </xsl:template>	
+
+    <xsl:template match="zugang">
+        <zugang>
+            <xsl:choose>
+                <xsl:when test=". = 19">1</xsl:when>
+                <xsl:when test=". = 20">2</xsl:when>
+                <xsl:when test=". = 6">4</xsl:when>
+                <xsl:when test=". = 9">5</xsl:when>
+                <xsl:when test=". = 1">7</xsl:when>
+                <xsl:when test=". = 2">8</xsl:when>
+                <xsl:when test=". = 12">77</xsl:when>
+                <xsl:when test=". = 7">9</xsl:when>
+                <xsl:when test=". = 17">10</xsl:when>
+                <xsl:when test=". = 8">11</xsl:when>
+                <xsl:when test=". = -1">-1</xsl:when>
+                <xsl:when test=". = 21">20</xsl:when>
+                <xsl:when test=". = 14">21</xsl:when>
+                <xsl:when test=". = 13">22</xsl:when>
+                <xsl:when test=". = 15">23</xsl:when>
+                <xsl:when test=". = 16">24</xsl:when>
+                <xsl:when test=". = -2">-2</xsl:when>
+                <xsl:when test=". = 18">12</xsl:when>
+                <xsl:when test=". = 10">13</xsl:when>
+                <xsl:when test=". = -3">-3</xsl:when>
+                <xsl:when test=". = 11">15</xsl:when>
+                <xsl:when test=". = 5">16</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </zugang>
+    </xsl:template>
+
+    <xsl:template match="schulform">
+        <status_eintritt>
+            <xsl:choose>
+                <xsl:when test=". = -2">-2</xsl:when>
+                <xsl:when test=". = -1">-1</xsl:when>
+                <xsl:when test=". = 1">10</xsl:when>
+                <xsl:when test=". = 2">10</xsl:when>
+                <xsl:when test=". = 3">10</xsl:when>
+                <xsl:when test=". = 4">10</xsl:when>
+                <xsl:when test=". = 5">10</xsl:when>
+                <xsl:when test=". = 6">10</xsl:when>
+                <xsl:when test=". = 7">10</xsl:when>
+                <xsl:when test=". = 8">10</xsl:when>
+                <xsl:when test=". = 9">12</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </status_eintritt>
+    </xsl:template>
+
+    <xsl:template match="cm_end_schul">
+        <status_austritt>
+            <xsl:choose>
+                <xsl:when test=". = -2">-2</xsl:when>
+                <xsl:when test=". = -1">-1</xsl:when>
+                <xsl:when test=". = 1">10</xsl:when>
+                <xsl:when test=". = 2">10</xsl:when>
+                <xsl:when test=". = 3">10</xsl:when>
+                <xsl:when test=". = 4">10</xsl:when>
+                <xsl:when test=". = 5">10</xsl:when>
+                <xsl:when test=". = 6">10</xsl:when>
+                <xsl:when test=". = 7">10</xsl:when>
+                <xsl:when test=". = 8">10</xsl:when>
+                <xsl:when test=". = 9">12</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </status_austritt>
+    </xsl:template>
+
+    <xsl:template match="schulpfl_a">
+        <allgemeinschulpflicht><xsl:value-of select="."/></allgemeinschulpflicht>
+    </xsl:template>
+
+    <xsl:template match="schulpfl_b">
+        <berufsschulpflicht><xsl:value-of select="."/></berufsschulpflicht>
+    </xsl:template>
+
+    <xsl:template name="hoechster_abschluss_schule">
+        <hoechster_abschluss_schule>-3</hoechster_abschluss_schule>
+    </xsl:template>
+
+    <xsl:template name="hoechster_abschluss_beruf">
+        <hoechster_abschluss_beruf>-3</hoechster_abschluss_beruf>
+    </xsl:template>
+
+    <xsl:template match="cm_end_art">
+        <art_beendigung>
+            <xsl:choose>
+                <xsl:when test=". = -1">-1</xsl:when>
+                <xsl:when test=". = 2">2</xsl:when>
+                <xsl:when test=". = 3">0</xsl:when>
+                <xsl:when test=". = 1">1</xsl:when>
+                <xsl:when test=". = 4">1</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </art_beendigung>
+    </xsl:template>
+
+    <xsl:template match="cm_end_ab">
+        <abbruch_durch>
+            <xsl:choose>
+                <xsl:when test=". = -1">-1</xsl:when>
+                <xsl:when test=". = 1">1</xsl:when>
+                <xsl:when test=". = 2">2</xsl:when>
+                <xsl:when test=". = 3">4</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </abbruch_durch>
+    </xsl:template>
+
+    <xsl:template match="cm_end_abgr">
+        <abbruch_grund>
+            <xsl:choose>
+                <xsl:when test=". = -1">-1</xsl:when>
+                <xsl:when test=". = -2">-2</xsl:when>
+                <xsl:when test=". = 1">10</xsl:when>
+                <xsl:when test=". = 2">2</xsl:when>
+                <xsl:when test=". = 3">3</xsl:when>
+                <xsl:when test=". = 4">-2</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </abbruch_grund>
+    </xsl:template>
+
+    <xsl:template name="vorzeitig_durch">
+        <vorzeitig_durch>-3</vorzeitig_durch>
+    </xsl:template>
+
+    <xsl:template match="cm_end_sonst">
+        <vorzeitig_grund>
+            <xsl:choose>
+                <xsl:when test=". = -1">-1</xsl:when>
+                <xsl:when test=". = -2">-2</xsl:when>
+                <xsl:when test=". = 2">1</xsl:when>
+                <xsl:when test=". = 1">2</xsl:when>
+                <xsl:when test=". = 3">3</xsl:when>
+                <xsl:when test=". = 5">5</xsl:when>
+                <xsl:when test=". = 4">-2</xsl:when>
+                <xsl:when test=". = 15">20</xsl:when>
+                <xsl:when test=". = 11">-2</xsl:when>
+                <xsl:when test=". = 12">-2</xsl:when>
+                <xsl:when test=". = 13">-2</xsl:when>
+                <xsl:when test=". = 14">-2</xsl:when>
+                <xsl:when test=". = 7">-2</xsl:when>
+                <xsl:when test=". = 8">-2</xsl:when>
+                <xsl:when test=". = 9">-2</xsl:when>
+                <xsl:when test=". = 10">-2</xsl:when>
+                <xsl:when test=". = 6">-2</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </vorzeitig_grund>
+    </xsl:template>
+
+    <xsl:template name="zeitraum">
+        <xsl:param name="title"/>
+        <xsl:param name="finished"/>
+        <xsl:param name="start"/>
+        <xsl:param name="end"/>
+        <rg_zeitraum>
+            <zeitraum_phase><xsl:value-of select="$title"/></zeitraum_phase>
+            <datum_zeitraum_start><xsl:value-of select="$start"/></datum_zeitraum_start>
+            <xsl:if test="$end != '' and $finished">
+                <datum_zeitraum_ende><xsl:value-of select="$end"/></datum_zeitraum_ende>
+            </xsl:if>
+        </rg_zeitraum>
+    </xsl:template>
+
+    <xsl:template match="phase">
+        <xsl:variable name="phase" select="."/>
+        <xsl:if test=". >= 0">
+            <xsl:call-template name="zeitraum">
+                <xsl:with-param name="title" select="'Eingangsanamnese'"/>
+                <xsl:with-param name="finished" select=". > 0"/>
+                <xsl:with-param name="start" select="/cases/case/master/erstgespraech"/>
+                <xsl:with-param name="end" select="/cases/case/master/datum_cm_start"/>
+            </xsl:call-template>
+        </xsl:if>
+        <xsl:if test=". >= 2">
+            <xsl:call-template name="zeitraum">
+                <xsl:with-param name="title" select="'Case-Management'"/>
+                <xsl:with-param name="finished" select=". > 2"/>
+                <xsl:with-param name="start" select="/cases/case/master/datum_cm_start"/>
+                <xsl:with-param name="end" select="/cases/case/master/datum_cm_ende"/>
+            </xsl:call-template>
+        </xsl:if>
+        <xsl:if test=". >= 4">
+            <xsl:call-template name="zeitraum">
+                <xsl:with-param name="title" select="'Nachbetreuung'"/>
+                <xsl:with-param name="finished" select=". > 4"/>
+                <xsl:with-param name="start" select="/cases/case/master/nbetr_start"/>
+                <xsl:with-param name="end" select="/cases/case/master/nbetr_ende"/>
+            </xsl:call-template>
+        </xsl:if>
+    </xsl:template>
+
+    <xsl:template name="benachteiligung">
+        <xsl:if test="//problfam_a &gt; 4 or //problfam_b &gt; 4 or //problfam_c &gt; 4">
+            <rg_benachteiligung>
+                <benchteiligung_bereich>2</benchteiligung_bereich>
+            </rg_benachteiligung>
+        </xsl:if>
+        <xsl:if test="//problfam_d &gt; 4">
+            <rg_benachteiligung>
+                <benchteiligung_bereich>1</benchteiligung_bereich>
+            </rg_benachteiligung>
+        </xsl:if>
+        <xsl:if test="//problfam_e &gt; 4 or //problfam_f &gt; 4 or //problfam_g &gt; 4 or //problfam_h &gt; 4 or //problfam_i &gt; 4 or //problfam_j &gt; 4 or //problfam_k &gt; 4 or //problfam_l &gt; 4">
+            <rg_benachteiligung>
+                <benchteiligung_bereich>0</benchteiligung_bereich>
+            </rg_benachteiligung>
+        </xsl:if>
+    </xsl:template>
+
+    <xsl:template match="rg_hilfsmassnahmen">
+    <rg_ua>
+        <xsl:apply-templates select="hilfsmassnahmen_art"/>
+        <ua_art>1</ua_art>
+        <xsl:apply-templates select="hilfsmassnahmen_start"/>
+        <xsl:apply-templates select="hilfsmassnahmen_ende"/>
+        <xsl:choose>
+          <xsl:when test="//hilfsmassnahmen_erreicht_1 &lt; 0 or //hilfsmassnahmen_erreicht_2 &lt; 0 or //hilfsmassnahmen_erreicht_3 &lt; 0">
+            <ua_zielerreichung>-3</ua_zielerreichung>
+          </xsl:when>
+          <xsl:when test="(//hilfsmassnahmen_erreicht_1 + //hilfsmassnahmen_erreicht_2 + //hilfsmassnahmen_erreicht_3) &lt;= 10.5">
+            <ua_zielerreichung>1</ua_zielerreichung>
+          </xsl:when>
+          <xsl:otherwise>
+            <ua_zielerreichung>2</ua_zielerreichung>
+          </xsl:otherwise>
+        </xsl:choose>
+    </rg_ua>
+    </xsl:template>
+
+    <xsl:template match="hilfsmassnahmen_art">
+        <ua_titel><xsl:value-of select="."/></ua_titel>
+    </xsl:template>
+
+    <xsl:template match="hilfsmassnahmen_start">
+        <datum_ua_start><xsl:value-of select="."/></datum_ua_start>
+    </xsl:template>
+
+    <xsl:template match="hilfsmassnahmen_ende">
+        <datum_ua_ende><xsl:value-of select="."/></datum_ua_ende>
+    </xsl:template>
+
+    <xsl:template match="node()"/>
+</xsl:stylesheet>



More information about the Mpuls-commits mailing list