[Mpuls-commits] r5751 - waska/branches/waska3/waskaweb/public/formed

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Fri Jan 6 14:16:57 CET 2012


Author: torsten
Date: 2012-01-06 14:16:56 +0100 (Fri, 06 Jan 2012)
New Revision: 5751

Added:
   waska/branches/waska3/waskaweb/public/formed/convert-waska3-meta.xsl
Log:
Konvertierungsscript f?\195?\188r die ?\195?\156bertragung der Daten von WASKU kopiert und in
WASKA3 abgelegt.


Added: waska/branches/waska3/waskaweb/public/formed/convert-waska3-meta.xsl
===================================================================
--- waska/branches/waska3/waskaweb/public/formed/convert-waska3-meta.xsl	2012-01-05 09:56:48 UTC (rev 5750)
+++ waska/branches/waska3/waskaweb/public/formed/convert-waska3-meta.xsl	2012-01-06 13:16:56 UTC (rev 5751)
@@ -0,0 +1,329 @@
+<?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" />
+
+    <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/einrichtung_name"/>
+                    <xsl:apply-templates select="cases/case/master/geburtsland"/>
+                    <xsl:apply-templates select="cases/case/master/muttersprache"/>
+                    <xsl:apply-templates select="cases/case/master/staatsangehoerigkeit"/>
+                    <xsl:apply-templates select="cases/case/master/staatsangehoerigkeit_weitere"/>
+                    <xsl:call-template name="migrationshintergrund"/>
+                    <xsl:apply-templates select="cases/case/master/geburtsdatum"/>
+                    <xsl:apply-templates select="cases/case/master/geschlecht"/>
+                    <xsl:apply-templates select="cases/case/master/allgeimeinschulpflicht"/>
+                    <xsl:apply-templates select="cases/case/master/berufsschulpflicht"/>
+                    <xsl:apply-templates select="cases/case/master/einrichtung_zugang"/>
+                    <xsl:apply-templates select="cases/case/master/model_place"/>
+                    <xsl:apply-templates select="cases/case/master/measure_name"/>
+                    <xsl:apply-templates select="cases/case/master/support_js"/>
+                    <xsl:call-template name="fallart"/>
+                    <xsl:apply-templates select="cases/case/master/status_eintritt"/>
+                    <xsl:apply-templates select="cases/case/master/rechtskreis_eintritt"/>
+                    <xsl:apply-templates select="cases/case/master/hoechst_schulabschluss"/>
+                    <xsl:apply-templates select="cases/case/master/berufsabschluss"/>
+                    <xsl:apply-templates select="cases/case/master/cm_beendigung_art"/>
+                    <xsl:apply-templates select="cases/case/master/cm_abbruch_durch"/>
+                    <xsl:apply-templates select="cases/case/master/cm_gruende_abbruch"/>
+                    <xsl:apply-templates select="cases/case/master/cm_vorzeitige_beendigung_durch"/>
+                    <xsl:apply-templates select="cases/case/master/cm_vorzeitige_beendigung_gruende"/>
+                    <xsl:apply-templates select="cases/case/master/cm_status_austritt"/>
+                    <xsl:apply-templates select="cases/case/master/rechtskreis_austritt"/>
+                    <xsl:apply-templates select="cases/case/master/phase"/>
+                    <xsl:apply-templates select="cases/case/master/rg_benachteiligung"/>
+                    <xsl:apply-templates select="cases/case/master/rg_unterstuetzungsangebote"/>
+                    </rg_einrichtung>
+                </master>
+            </case>
+        </cases>
+    </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/datum_ea_start"/>
+                <xsl:with-param name="end" select="/cases/case/master/datum_ea_ende2"/>
+            </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_ea_ende2"/>
+                <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/datum_cm_ende"/>
+                <xsl:with-param name="end" select="/cases/case/master/datum_nb_ende"/>
+            </xsl:call-template>
+        </xsl:if>
+    </xsl:template>
+
+    <xsl:template match="rg_unterstuetzungsangebote">
+        <rg_ua>
+            <ua_titel><xsl:value-of select="rg_unterstuetzungsangebot_name"/></ua_titel>
+            <ua_art>
+            <xsl:choose>
+                <xsl:when test="rg_unterstuetzungsangebot_bereich = 0">1</xsl:when>
+                <xsl:when test="rg_unterstuetzungsangebot_bereich = 2">3</xsl:when>
+                <xsl:when test="rg_unterstuetzungsangebot_bereich = 3">4</xsl:when>
+                <xsl:when test="rg_unterstuetzungsangebot_bereich = 4">5</xsl:when>
+                <xsl:when test="rg_unterstuetzungsangebot_bereich = 5">6</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="rg_unterstuetzungsangebot_bereich"/>
+                </xsl:otherwise>
+            </xsl:choose>
+            </ua_art>
+            <xsl:choose>
+                <xsl:when test="rg_unterstuetzungsangebot_datum_von != ''">
+                    <datum_ua_start><xsl:value-of select="rg_unterstuetzungsangebot_datum_von"/></datum_ua_start>
+                </xsl:when>
+            </xsl:choose>
+            <xsl:choose>
+                <xsl:when test="rg_unterstuetzungsangebot_datum_bis != ''">
+                    <datum_ua_ende><xsl:value-of select="rg_unterstuetzungsangebot_datum_bis"/></datum_ua_ende>
+                </xsl:when>
+            </xsl:choose>
+            <ua_zielerreichung>
+            <xsl:choose>
+                <xsl:when test="rg_unterstuetzungsangebot_beendigung = 3">2</xsl:when>
+                <xsl:when test="rg_unterstuetzungsangebot_beendigung = 1 or rg_unterstuetzungsangebot_beendigung = 2">1</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="rg_unterstuetzungsangebot_beendigung"/>
+                </xsl:otherwise>
+            </xsl:choose>
+            </ua_zielerreichung>
+        </rg_ua>
+    </xsl:template>
+
+    <xsl:template match="rg_benachteiligung">
+        <rg_benachteiligung>
+            <benachteiligung_bereich>
+                    <xsl:value-of select="rg_benachteiligung_bereich"/>
+            </benachteiligung_bereich>
+        </rg_benachteiligung>
+    </xsl:template>
+
+    <xsl:template match="einrichtung_name">
+        <name_einrichtung><xsl:value-of select="."/></name_einrichtung>
+    </xsl:template>
+
+    <xsl:template match="geburtsland">
+        <geburtsland><xsl:value-of select="."/></geburtsland>
+    </xsl:template>
+
+    <xsl:template match="muttersprache">
+        <muttersprache><xsl:value-of select="."/></muttersprache>
+    </xsl:template>
+
+    <xsl:template match="staatsangehoerigkeit">
+        <staatsbuergerschaft><xsl:value-of select="."/></staatsbuergerschaft>
+    </xsl:template>
+
+    <xsl:template match="staatsangehoerigkeit_weitere">
+        <staatsbuergerschaft_weitere><xsl:value-of select="."/></staatsbuergerschaft_weitere>
+    </xsl:template>
+
+    <!--
+         Migrationshintergrund. Diskussion dazu siehe
+         http://support.intevation.de/mpuls/issue2352
+    -->
+    <xsl:template name="migrationshintergrund">
+        <xsl:variable name="sprache" select="cases/case/master/muttersprache"/>
+        <xsl:variable name="staat" select="cases/case/master/staatsangehoerigkeit"/>
+        <xsl:variable name="staat_weitere" select="cases/case/master/staatsangehoerigkeit_weitere"/>
+        <xsl:variable name="gl_mutter" select="cases/case/master/geburtsland_mutter"/>
+        <xsl:variable name="gl_vater" select="cases/case/master/geburtsland_vater"/>
+        <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="$staat_weitere = -2 or ($staat_weitere >= 0 and $staat_weitere != 999 and $staat_weitere != 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)
+                     staat_weitere in (29, 0, -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 $staat_weitere = -1 and $gl_mutter = -1 and $gl_vater = -1">-1</xsl:when>
+                <!-- Spezialfall: alles "Deutsch", "Deutschland" oder
+                     "keine weitere Staatsbürgerschaft"
+                     -> kein MHG -->
+                <xsl:when test="$sprache = 18 and $staat = 29 and ($staat_weitere = 999 or $staat_weitere = 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 name="fallart">
+        <xsl:variable name="phase" select="cases/case/master/phase"/>
+        <xsl:variable name="fall_weiterbetreuung" select="cases/case/master/fall_weiterbetreuung"/>
+        <xsl:variable name="cmfall" select="cases/case/master/cmfall"/>
+        <fallart>
+            <xsl:choose>
+                <xsl:when test="$phase = 0">In Klärung</xsl:when>
+                <xsl:when test="$phase &gt;= 1 and $fall_weiterbetreuung = 0">Beratungsfall</xsl:when>
+                <xsl:when test="$phase &gt;= 1 and $fall_weiterbetreuung = 1 and  $cmfall = 1">Beratungsfall</xsl:when>
+                <xsl:when test="$phase &gt;= 1 and $fall_weiterbetreuung = 1 and $cmfall = 2">Case Work</xsl:when>
+                <xsl:when test="$phase &gt;= 1 and $fall_weiterbetreuung = 1 and $cmfall = 3">Case Management</xsl:when>
+                <xsl:otherwise>Unbekannt</xsl:otherwise>
+            </xsl:choose>
+        </fallart>
+    </xsl:template>
+
+    <xsl:template match="geburtsdatum">
+        <geburtsdatum><xsl:value-of select="concat(substring-before(., '-'), '-01-01')"/></geburtsdatum>
+    </xsl:template>
+
+    <xsl:template match="allgeimeinschulpflicht">
+        <allgemeinschulpflicht><xsl:value-of select="."/></allgemeinschulpflicht>
+    </xsl:template>
+
+    <xsl:template match="berufsschulpflicht">
+      <berufsschulpflicht><xsl:value-of select="."/></berufsschulpflicht>
+    </xsl:template>
+
+    <xsl:template match="geschlecht">
+        <geschlecht><xsl:value-of select="."/></geschlecht>
+    </xsl:template>
+
+    <xsl:template match="einrichtung_zugang">
+        <zugang>
+            <xsl:choose>
+                <xsl:when test=". = 6">0</xsl:when>
+                <xsl:when test=". = 23">1</xsl:when>
+                <xsl:when test=". = 5">77</xsl:when>
+                <xsl:when test=". = 21">2</xsl:when>
+                <xsl:when test=". = 14">3</xsl:when>
+                <xsl:when test=". = 11">4</xsl:when>
+                <xsl:when test=". = 12">5</xsl:when>
+                <xsl:when test=". = 19">6</xsl:when>
+                <xsl:when test=". = 0">7</xsl:when>
+                <xsl:when test=". = 1">8</xsl:when>
+                <xsl:when test=". = 3">77</xsl:when>
+                <xsl:when test=". = 8">9</xsl:when>
+                <xsl:when test=". = 18">10</xsl:when>
+                <xsl:when test=". = 9">11</xsl:when>
+                <xsl:when test=". = -1">-1</xsl:when>
+                <xsl:when test=". = 24">20</xsl:when>
+                <xsl:when test=". = 22">21</xsl:when>
+                <xsl:when test=". = 20">22</xsl:when>
+                <xsl:when test=". = 16">23</xsl:when>
+                <xsl:when test=". = 17">24</xsl:when>
+                <xsl:when test=". = -2">-2</xsl:when>
+                <xsl:when test=". = 15">12</xsl:when>
+                <xsl:when test=". = 7">13</xsl:when>
+                <xsl:when test=". = -3">-3</xsl:when>
+                <xsl:when test=". = 13">14</xsl:when>
+                <xsl:when test=". = 2">15</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </zugang>
+    </xsl:template>
+
+    <xsl:template match="model_place">
+        <model_place><xsl:value-of select="."/></model_place>
+    </xsl:template>
+
+    <xsl:template match="measure_name">
+        <measure_name><xsl:value-of select="."/></measure_name>
+    </xsl:template>
+
+    <xsl:template match="support_js">
+        <support_js><xsl:value-of select="."/></support_js>
+    </xsl:template>
+
+    <xsl:template match="status_eintritt">
+        <status_eintritt><xsl:value-of select="."/></status_eintritt>
+    </xsl:template>
+
+    <xsl:template match="rechtskreis_eintritt">
+        <rechtskreis_eintritt><xsl:value-of select="."/></rechtskreis_eintritt>
+    </xsl:template>
+
+    <xsl:template match="hoechst_schulabschluss">
+        <hoechster_abschluss_schule><xsl:value-of select="."/></hoechster_abschluss_schule>
+    </xsl:template>
+
+    <xsl:template match="berufsabschluss">
+        <hoechster_abschluss_beruf><xsl:value-of select="."/></hoechster_abschluss_beruf>
+    </xsl:template>
+
+    <xsl:template match="cm_beendigung_art">
+        <art_beendigung><xsl:value-of select="."/></art_beendigung>
+    </xsl:template>
+
+    <xsl:template match="cm_abbruch_durch">
+        <abbruch_durch><xsl:value-of select="."/></abbruch_durch>
+    </xsl:template>
+
+    <xsl:template match="cm_gruende_abbruch">
+        <abbruch_grund><xsl:value-of select="."/></abbruch_grund>
+    </xsl:template>
+
+    <xsl:template match="cm_vorzeitige_beendigung_durch">
+        <vorzeitig_durch><xsl:value-of select="."/></vorzeitig_durch>
+    </xsl:template>
+
+    <xsl:template match="cm_vorzeitige_beendigung_gruende">
+        <vorzeitig_grund><xsl:value-of select="."/></vorzeitig_grund>
+    </xsl:template>
+
+    <xsl:template match="cm_status_austritt">
+        <status_austritt><xsl:value-of select="."/></status_austritt>
+    </xsl:template>
+
+    <xsl:template match="rechtskreis_austritt">
+        <rechtskreis_austritt><xsl:value-of select="."/></rechtskreis_austritt>
+    </xsl:template>
+
+    <xsl:template match="node()"/>
+</xsl:stylesheet>



More information about the Mpuls-commits mailing list