[Mpuls-commits] r5907 - jmd/trunk/jmdweb/public/formed

scm-commit at wald.intevation.org scm-commit at wald.intevation.org
Tue Mar 13 13:09:24 CET 2012


Author: ludwig
Date: 2012-03-13 13:09:24 +0100 (Tue, 13 Mar 2012)
New Revision: 5907

Added:
   jmd/trunk/jmdweb/public/formed/convert-jmd-meta.xsl
Log:
Pre version of the jmd meta XSLT convert script.


Added: jmd/trunk/jmdweb/public/formed/convert-jmd-meta.xsl
===================================================================
--- jmd/trunk/jmdweb/public/formed/convert-jmd-meta.xsl	                        (rev 0)
+++ jmd/trunk/jmdweb/public/formed/convert-jmd-meta.xsl	2012-03-13 12:09:24 UTC (rev 5907)
@@ -0,0 +1,399 @@
+<?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" />
+
+    <!-- Basiert auf der mapping-jmd Datei von 12.3.2012
+	 Zu klärende Felder sind mit XXX markiert. -->
+    
+    <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:call-template name="name_programm"/>
+		    <xsl:apply-templates select="cases/case/master/jmd_name"/>
+		    <!-- XXX Bedeutung zu klären -->
+		    <xsl:call-template name="support_js"/>
+                    <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/geburtsland"/>
+		    <xsl:apply-templates select="cases/case/master/staatsangehoerigkeit"/>
+		    <xsl:apply-templates select="cases/case/master/muttersprache"/>
+		    <xsl:apply-templates select="cases/case/master/staatsangehoerigkeit_weitere"/>
+		    <!-- XXX zu prüfen -->
+		    <xsl:apply-templates select="cases/case/master/aufenthaltsstatus"/>
+		    <!-- XXX mapping unvollständig -->
+		    <xsl:apply-templates select="cases/case/master/zugang"/>
+		    <!-- XXX Klärungsbedarf -->
+		    <xsl:apply-templates select="cases/case/master/aktuelle_situation"/>
+		    <!-- XXX Klärungsbedarf -->
+		    <xsl:apply-templates select="cases/case/master/verbleib_jugendliche"/>
+
+		    <!-- XXX mapping fehlt.
+		    <xsl:apply-templates select="cases/case/master/schulpfl_a"/>
+		    <xsl:apply-templates select="cases/case/master/schulpfl_b"/>-->
+                    <xsl:apply-templates select="cases/case/master/hoechster_schulabschluss"/>
+                    <xsl:apply-templates select="cases/case/master/hoechster_berufsabschluss"/>
+		    <xsl:apply-templates select="cases/case/master/art_cm_ende"/>
+		    <xsl:apply-templates select="cases/case/master/abbruch_durch"/>
+		    <xsl:apply-templates select="cases/case/master/gruende_abbruch_cm"/>
+		    <!-- XXX Wird nicht gesetzt -->
+		    <xsl:call-template name="vorzeitig_durch"/>
+		    <!-- XXX Wird nicht gesetzt -->
+                    <xsl:call-template name="vorzeitig_grund"/>
+		    <xsl:apply-templates select="cases/case/master/phase"/>
+		    <!-- XXX Klärungsbedarf -->
+		    <xsl:call-template name="benachteiligung"/>
+		    <!-- XXX Unterstützung zu klären.
+		    <xsl:apply-templates select="cases/case/master/rg_hilfsmassnahmen"/>
+		    -->
+		    <!-- XXX Rechtskreis Eintritt Austritt: mapping fehlt -->
+                    </rg_einrichtung>
+                </master>
+            </case>
+        </cases>
+    </xsl:template>
+
+    <xsl:template match="jmd_name">
+        <name_einrichtung><xsl:value-of select="."/></name_einrichtung>
+        <model_place><xsl:value-of select="."/></model_place>
+    </xsl:template>
+
+    <xsl:template name="name_programm">
+        <name_programm>Jugendmigrationsdienste</name_programm>
+    </xsl:template>
+
+    <xsl:template name="support_js">
+	<!-- XXX zu klären siehe mapping-jmd.xls -->
+	<!--<support_js>0</support_js>-->
+    </xsl:template>
+
+    <xsl:template name="measure_name">
+        <measure_name>Jugendmigrationsdienste</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:value-of select="."/></geschlecht>
+    </xsl:template>
+
+    <xsl:template match="geburtsland">
+        <geburtsland><xsl:value-of select="."/></geburtsland>
+    </xsl:template>
+
+    <xsl:template match="staatsangehoerigkeit">
+        <staatsbuergerschaft><xsl:value-of select="."/></staatsbuergerschaft>
+    </xsl:template>
+
+    <xsl:template match="muttersprache">
+        <muttersprache><xsl:value-of select="."/></muttersprache>
+    </xsl:template>
+
+    <xsl:template match="staatsangehoerigkeit_weitere">
+        <staatsbuergerschaft_weitere>
+            <xsl:choose>
+                <xsl:when test=". = 199">999</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </staatsbuergerschaft_weitere>
+    </xsl:template>
+
+    <xsl:template match="aufenthaltsstatus">
+	<!-- XXX noch zu klären, siehe mapping-jmd.xls -->
+        <migrationshintergrund>
+	    <xsl:choose>
+		<xsl:when test=". = 1">1</xsl:when>
+		<xsl:when test=". = 2">1</xsl:when>
+		<xsl:when test=". = 4">1</xsl:when>
+		<xsl:when test=". = 5">1</xsl:when>
+		<xsl:when test=". = -3">-3</xsl:when>
+		<xsl:when test=". = -1">-1</xsl:when>
+                <xsl:otherwise>-3</xsl:otherwise>
+            </xsl:choose>
+        </migrationshintergrund>
+    </xsl:template>	
+
+    <xsl:template match="zugang">
+	    <!-- XXX noch zu klären. Fehlen 20 und 24-->
+	    <zugang>
+            <xsl:choose>
+                <xsl:when test=". = 10">3</xsl:when>
+		<xsl:when test=". = 11">6</xsl:when>
+                <xsl:when test=". = -1">-1</xsl:when>
+                <xsl:when test=". = 12">5</xsl:when>
+                <xsl:when test=". = 13">14</xsl:when>
+                <xsl:when test=". = 14">23</xsl:when>
+                <xsl:when test=". = 15">22</xsl:when>
+                <xsl:when test=". = 16">21</xsl:when>
+                <xsl:when test=". = 17">24</xsl:when>
+                <xsl:when test=". = 1">7</xsl:when>
+                <xsl:when test=". = 18">10</xsl:when>
+                <xsl:when test=". = 19">1</xsl:when>
+                <xsl:when test=". = 21">3</xsl:when>
+                <xsl:when test=". = -2">-2</xsl:when>
+                <xsl:when test=". = 22">88</xsl:when>
+		<xsl:when test=". = 23">88</xsl:when>
+		<xsl:when test=". = 25">88</xsl:when>
+		<xsl:when test=". = 26">88</xsl:when>
+		<xsl:when test=". = 27">88</xsl:when>
+		<xsl:when test=". = 28">88</xsl:when>
+                <xsl:when test=". = 2">8</xsl:when>
+		<xsl:when test=". = 29">13</xsl:when>
+		<xsl:when test=". = 30">88</xsl:when>
+                <xsl:when test=". = 3">15</xsl:when>
+                <xsl:when test=". = -3">-3</xsl:when>
+                <xsl:when test=". = 4">77</xsl:when>
+                <xsl:when test=". = 5">77</xsl:when>
+                <xsl:when test=". = 6">0</xsl:when>
+                <xsl:when test=". = 7">13</xsl:when>
+                <xsl:when test=". = 8">9</xsl:when>
+                <xsl:when test=". = 9">11</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </zugang>
+    </xsl:template>
+
+    <xsl:template match="aktuelle_situation">
+	<!-- XXX zu klären -->
+        <status_eintritt>
+            <xsl:choose>
+                <xsl:when test=". = 1">19</xsl:when>
+                <xsl:when test=". = 3">21</xsl:when>
+                <xsl:when test=". = 4">24</xsl:when>
+                <xsl:when test=". = 5">49</xsl:when>
+                <xsl:when test=". = 6">33</xsl:when>
+                <xsl:when test=". = 7">50</xsl:when>
+                <xsl:when test=". = 8">51</xsl:when>
+		<xsl:when test=". = 9">53</xsl:when>
+		<xsl:when test=". = 10">34</xsl:when>
+		<xsl:when test=". = 11">41</xsl:when>
+		<xsl:when test=". = 12">55</xsl:when>
+		<xsl:when test=". = 13">41</xsl:when>
+		<xsl:when test=". = 14">-2</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </status_eintritt>
+    </xsl:template>
+
+    <xsl:template match="verbleib_jugendliche">
+	<!-- XXX zu klären -->
+        <status_austritt>
+            <xsl:choose>
+                <xsl:when test=". = 1">19</xsl:when>
+                <xsl:when test=". = 2">11</xsl:when>
+                <xsl:when test=". = 3">11</xsl:when>
+                <xsl:when test=". = 4">11</xsl:when>
+                <xsl:when test=". = 5">21</xsl:when>
+                <xsl:when test=". = 6">24</xsl:when>
+                <xsl:when test=". = 7">33</xsl:when>
+                <xsl:when test=". = 8">49</xsl:when>
+                <xsl:when test=". = 9">51</xsl:when>
+                <xsl:when test=". = 10">52</xsl:when>
+                <xsl:when test=". = 11">53</xsl:when>
+                <xsl:when test=". = 12">52</xsl:when>
+                <xsl:when test=". = 12">55</xsl:when>
+                <xsl:when test=". = 14">55</xsl:when>
+                <xsl:when test=". = 15">-2</xsl:when>
+                <xsl:when test=". = 16">11</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </status_austritt>
+    </xsl:template>
+    
+    <!-- XXX zu klären
+    <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 match="hoechster_schulabschluss">
+	<hoechster_abschluss_schule>
+	    <xsl:choose>
+                <xsl:when test=". = 0">1</xsl:when>
+                <xsl:when test=". = 1">2</xsl:when>
+                <xsl:when test=". = 2">3</xsl:when>
+                <xsl:when test=". = 3">4</xsl:when>
+                <xsl:when test=". = 4">5</xsl:when>
+                <xsl:when test=". = 5">6</xsl:when>
+                <xsl:when test=". = 6">7</xsl:when>
+                <xsl:when test=". = 7">8</xsl:when>
+                <xsl:when test=". = 8">9</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+	    </xsl:choose>	
+	</hoechster_abschluss_schule>
+    </xsl:template>
+
+    <xsl:template match="hoechster_berufsabschluss">
+	<hoechster_abschluss_beruf>
+	    <xsl:choose>
+                <xsl:when test=". = 0">1</xsl:when>
+                <xsl:when test=". = 1">2</xsl:when>
+                <xsl:when test=". = 2">3</xsl:when>
+                <xsl:when test=". = 3">4</xsl:when>
+                <xsl:when test=". = 4">5</xsl:when>
+                <xsl:when test=". = 5">6</xsl:when>
+                <xsl:when test=". = 6">7</xsl:when>
+                <xsl:when test=". = 7">-2</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+	    </xsl:choose>	
+	</hoechster_abschluss_beruf>
+    </xsl:template>
+
+    <xsl:template match="art_cm_ende">
+        <art_beendigung>
+            <xsl:value-of select="."/>
+        </art_beendigung>
+    </xsl:template>
+
+    <xsl:template match="abbruch_durch">
+        <abbruch_durch>
+            <xsl:choose>
+                <xsl:when test=". = 1">1</xsl:when>
+                <xsl:when test=". = 2">2</xsl:when>
+		<xsl:when test=". = 3">4</xsl:when>
+		<xsl:when test=". = 4">-2</xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="."/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </abbruch_durch>
+    </xsl:template>
+
+    <xsl:template match="gruende_abbruch_cm">
+        <abbruch_grund>
+            <xsl:choose>
+                <xsl:when test=". = 1">10</xsl:when>
+                <xsl:when test=". = 2">4</xsl:when>
+                <xsl:when test=". = 3">5</xsl:when>
+                <xsl:when test=". = 4">6</xsl:when>
+                <xsl:when test=". = 5">2</xsl:when>
+                <xsl:when test=". = 6">3</xsl:when>
+                <xsl:when test=". = 7">7</xsl:when>
+                <xsl:when test=". = 8">-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 name="vorzeitig_grund">
+        <vorzeitig_grund>-3</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/datum_ea_start"/>
+                <xsl:with-param name="end" select="/cases/case/master/datum_ea_ende"/>
+            </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/datum_ber_start"/>
+                <xsl:with-param name="end" select="/cases/case/master/datum_ber_ende"/>
+            </xsl:call-template>
+        </xsl:if>
+    </xsl:template>
+
+    <xsl:template name="benachteiligung">
+	    <xsl:if test="//physische_beeintraechtugung = 1">
+            <rg_benachteiligung>
+                <benchteiligung_bereich>6</benchteiligung_bereich>
+            </rg_benachteiligung>
+        </xsl:if>
+	<xsl:if test="//psychische_beeintraechtigung = 1">
+            <rg_benachteiligung>
+                <benchteiligung_bereich>7</benchteiligung_bereich>
+            </rg_benachteiligung>
+        </xsl:if>
+    </xsl:template>
+
+    <!-- XXX zu klären
+    <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 < 0 or //hilfsmassnahmen_erreicht_2 < 0 or //hilfsmassnahmen_erreicht_3 < 0">
+            <ua_zielerreichung>-3</ua_zielerreichung>
+          </xsl:when>
+          <xsl:when test="(//hilfsmassnahmen_erreicht_1 + //hilfsmassnahmen_erreicht_2 + //hilfsmassnahmen_erreicht_3) <= 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