a.binder vor 7 Jahren
Ursprung
Commit
c18de39666

+ 275 - 0
SE/schema/default_db_xml_cache.public/default_db/Linear_regression/Linear_regression.xsl

@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
+    xmlns:system_cache__dita="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/dita.xsd"
+    xmlns:p5gnuplot="http://biuro.biall-net.pl/WPS_Functions/graph_gnuplot"
+    xmlns:default_db__x3A__BI_audit_ENERGA_RUM_UMOWY="https://biuro.biall-net.pl/wfs/default_db/BI_audit_ENERGA_RUM_UMOWY"
+    xmlns:default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA="https://biuro.biall-net.pl/wfs/default_db/ENERGA_RUM_KONTRAHENCI_POWIAZANIA"
+    xmlns:default_db__x3A__BI_audit_BENFORD="https://biuro.biall-net.pl/wfs/default_db/BI_audit_BENFORD"
+    xmlns:Linear_regression="https://en.wikipedia.org/wiki/Linear_regression"
+    exclude-result-prefixes="xs"
+    version="2.0">
+    
+    
+    <xsl:output indent="yes"/>
+    <xsl:strip-space elements="*"/>
+    
+    
+    
+    <xsl:template name="Linear_regression:init_dataset">
+        <Linear_regression:init_dataset>
+            
+        </Linear_regression:init_dataset>
+    </xsl:template>
+    
+    
+    <xsl:template name="Linear_regression:import_data">
+        
+    </xsl:template>
+    
+    
+    <xsl:template name="Linear_regression:calculate_data">
+        <xsl:param name="Linear_regression:X_attribute__x3A__set"/>
+        <xsl:param name="Linear_regression:X_element__x3A__set"/>
+        <xsl:param name="Linear_regression:Y_attribute__x3A__set"/>
+        <xsl:param name="Linear_regression:Y_element__x3A__set"/>
+        <xsl:param name="Linear_regression:dataset" required="yes"/>
+        <Linear_regression:calculate_data>
+            <xsl:attribute name="Linear_regression:X_attribute__x3A__set" select="$Linear_regression:X_attribute__x3A__set"/>
+            <xsl:attribute name="Linear_regression:Y_attribute__x3A__set" select="$Linear_regression:Y_attribute__x3A__set"/>
+            <xsl:attribute name="Linear_regression:X_element__x3A__set" select="$Linear_regression:X_element__x3A__set"/>
+            <xsl:attribute name="Linear_regression:Y_element__x3A__set" select="$Linear_regression:Y_element__x3A__set"/>
+            <xsl:attribute name="name" select="$Linear_regression:dataset[1]/name()"/>
+            <xsl:variable name="Linear_regression:calculate_data.XY">
+                <Linear_regression:calculate_data.XY>
+                    <xsl:apply-templates mode="Linear_regression:calculate_data.XY" select="$Linear_regression:dataset">
+                        <xsl:with-param name="Linear_regression:X_attribute__x3A__set" select="$Linear_regression:X_attribute__x3A__set"/>
+                        <xsl:with-param name="Linear_regression:Y_attribute__x3A__set" select="$Linear_regression:Y_attribute__x3A__set"/>
+                        <xsl:with-param name="Linear_regression:X_element__x3A__set" select="$Linear_regression:X_element__x3A__set"/>
+                        <xsl:with-param name="Linear_regression:Y_element__x3A__set" select="$Linear_regression:Y_element__x3A__set"/>
+                    </xsl:apply-templates>
+                </Linear_regression:calculate_data.XY>
+            </xsl:variable>
+            <!--<xsl:copy-of select="$Linear_regression:calculate_data.XY"/>-->
+            <xsl:variable name="Linear_regression:calculate_data.XYSUM">
+                <xsl:apply-templates mode="Linear_regression:calculate_data.XYSUM" select="$Linear_regression:calculate_data.XY"/>
+            </xsl:variable>
+            <!--<xsl:copy-of select="$Linear_regression:calculate_data.XYSUM"/>-->
+            <xsl:comment>#52</xsl:comment>
+            <xsl:variable name="Linear_regression:calculate_data.XY11">
+                <xsl:apply-templates mode="Linear_regression:calculate_data.XY11" select="$Linear_regression:calculate_data.XYSUM"/>
+            </xsl:variable>
+            <xsl:variable name="Linear_regression:calculate_data.XY14">
+                <xsl:apply-templates mode="Linear_regression:calculate_data.XY14" select="$Linear_regression:calculate_data.XY11"/>
+            </xsl:variable>
+            <xsl:variable name="Linear_regression:calculate_data.XY16">
+                <xsl:apply-templates mode="Linear_regression:calculate_data.XY16" select="$Linear_regression:calculate_data.XY14"/>
+            </xsl:variable>
+            <xsl:apply-templates mode="Linear_regression:calculate_data.XY16.y-int" select="$Linear_regression:calculate_data.XY16"/>
+            
+            
+        </Linear_regression:calculate_data>
+    </xsl:template>
+    
+    
+    
+    <xsl:template mode="Linear_regression:calculate_data__x3A__to_dita" match="Linear_regression:calculate_data.XY">
+        <xsl:param name="system_cache__dita:element__x3A__parent" select="'equation-inline'"/>
+        <xsl:element name="{$system_cache__dita:element__x3A__parent}">
+            <xsl:attribute name="props" select="'Linear_regression.calculate_data__x3A__to_dita'"/>
+            <ph>Obliczono Regresję liniową z następującymi wynikami </ph>
+            <ph>trend m : </ph> <tt><xsl:value-of select="Linear_regression:XY16/@Linear_regression:XY16.slope.m"/></tt>
+            <ph> y-int.b :  </ph><tt><xsl:value-of select="Linear_regression:XY16/@Linear_regression:XY16.y-int.b"/></tt>
+            <ph>przybliżony parametr r :  </ph><tt> <xsl:value-of select="Linear_regression:XY16/@Linear_regression:XY16.r-like"/></tt>
+            <ph>obliczenia wykonano dla <xsl:value-of select="Linear_regression:XY11/@Linear_regression:XY11.n"/> elementów </ph>
+        </xsl:element>
+    </xsl:template>
+    
+    
+    
+    <xsl:template mode="Linear_regression:calculate_data.XY16.y-int" match="Linear_regression:XY16">
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:attribute name="Linear_regression:XY16.y-int.b" select="( ../Linear_regression:XY11/@Linear_regression:XY11.Ey - @Linear_regression:XY16.slope.m  * ../Linear_regression:XY11/@Linear_regression:XY11.Ex )  div ../Linear_regression:XY11/@Linear_regression:XY11.n "/>
+            <xsl:attribute name="Linear_regression:XY16.r" select="( ../Linear_regression:XY11/@Linear_regression:XY11.n  *  ../Linear_regression:XY11/@Linear_regression:XY11.Exy  -   ../Linear_regression:XY11/@Linear_regression:XY11.Ex  *  ../Linear_regression:XY11/@Linear_regression:XY11.Ey )"/>
+            <xsl:attribute name="Linear_regression:XY16.r-sqrt" select="( (../Linear_regression:XY11/@Linear_regression:XY11.n * ../Linear_regression:XY11/@Linear_regression:XY11.Ex2 - ../Linear_regression:XY14/@Linear_regression:XY14.Ex2  )*( ../Linear_regression:XY11/@Linear_regression:XY11.n * ../Linear_regression:XY11/@Linear_regression:XY11.Ey2 -  ../Linear_regression:XY14/@Linear_regression:XY14.Ey2   )  ) "/>
+            <xsl:attribute name="Linear_regression:XY16.r-like" select="( ../Linear_regression:XY11/@Linear_regression:XY11.n  *  ../Linear_regression:XY11/@Linear_regression:XY11.Exy  -   ../Linear_regression:XY11/@Linear_regression:XY11.Ex  *  ../Linear_regression:XY11/@Linear_regression:XY11.Ey ) div ( ( (../Linear_regression:XY11/@Linear_regression:XY11.n * ../Linear_regression:XY11/@Linear_regression:XY11.Ex2 - ../Linear_regression:XY14/@Linear_regression:XY14.Ex2  )*( ../Linear_regression:XY11/@Linear_regression:XY11.n * ../Linear_regression:XY11/@Linear_regression:XY11.Ey2 -  ../Linear_regression:XY14/@Linear_regression:XY14.Ey2   )  )  )"/>
+        </xsl:copy>
+    </xsl:template>
+    
+    <xsl:template mode="Linear_regression:calculate_data.XY16.y-int" match="*">
+        <xsl:copy-of select="."></xsl:copy-of>
+    </xsl:template>
+    
+    <xsl:template mode="Linear_regression:calculate_data.XY16.y-int" match="Linear_regression:calculate_data.XY">
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+           <xsl:apply-templates mode="#current"/>
+        </xsl:copy>
+    </xsl:template>
+    
+    
+    
+    <xsl:template mode="Linear_regression:calculate_data.XY16" match="Linear_regression:calculate_data.XY">
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:copy-of select="*"/>
+            <Linear_regression:XY16>
+                <xsl:attribute name="Linear_regression:XY16.slope.m" select="((Linear_regression:XY11/@Linear_regression:XY11.n * Linear_regression:XY11/@Linear_regression:XY11.Exy )  - ( Linear_regression:XY11/@Linear_regression:XY11.Ex  * Linear_regression:XY11/@Linear_regression:XY11.Ey ) ) "/>
+                <!--  + (Linear_regression:XY11/@Linear_regression:XY11.n  * Linear_regression:XY11/@Linear_regression:XY11.Ex2 - Linear_regression:XY14/@Linear_regression:XY11.Ex2 ) -->
+                
+            </Linear_regression:XY16>
+        </xsl:copy>
+    </xsl:template>
+    
+    
+    <xsl:template mode="Linear_regression:calculate_data.XY14" match="Linear_regression:calculate_data.XY">
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:copy-of select="*"/>
+            <Linear_regression:XY14>
+                <xsl:attribute name="Linear_regression:XY14.Ex2" select="Linear_regression:XY11/@Linear_regression:XY11.Ex * Linear_regression:XY11/@Linear_regression:XY11.Ex"/>
+                <xsl:attribute name="Linear_regression:XY14.Ey2" select="Linear_regression:XY11/@Linear_regression:XY11.Ey * Linear_regression:XY11/@Linear_regression:XY11.Ey"/>
+            </Linear_regression:XY14>
+        </xsl:copy>
+    </xsl:template>
+    
+    
+    
+    
+    
+    
+    
+    <xsl:template mode="Linear_regression:calculate_data.XY Linear_regression:calculate_data.XYSUM " match="Linear_regression:calculate_data.XY">
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:apply-templates mode="#current"/>
+        </xsl:copy>
+    </xsl:template>
+    
+    
+    <xsl:template mode="Linear_regression:calculate_data.XY" match="*">
+        <xsl:param name="Linear_regression:Y_attribute__x3A__set" required="yes"/>
+        <xsl:param name="Linear_regression:X_attribute__x3A__set" required="yes"/>
+        <xsl:param name="Linear_regression:X_element__x3A__set" required="yes" />
+        <xsl:param name="Linear_regression:Y_element__x3A__set" required="yes" />
+        <Linear_regression:calculate_data.XY.row>
+            <xsl:attribute name="position" select="count(preceding::*)"/>
+            <xsl:attribute name="name" select="name()"/>
+            <xsl:attribute name="count" select="count(descendant::*)"/>
+            <xsl:choose>
+                <xsl:when test="string-length($Linear_regression:X_element__x3A__set)&gt;0">
+                    <xsl:choose>
+                        <xsl:when test="*/local-name()=$Linear_regression:X_element__x3A__set">
+                            <Linear_regression:X><xsl:value-of select="*[local-name()=$Linear_regression:X_element__x3A__set]/text()"/></Linear_regression:X>
+                        </xsl:when>
+                        <xsl:when test="local-name()=$Linear_regression:X_element__x3A__set">
+                            <Linear_regression:X><xsl:value-of select="text()"/></Linear_regression:X>
+                        </xsl:when>
+                        <xsl:when test="name()=$Linear_regression:X_element__x3A__set">
+                            <Linear_regression:X><xsl:value-of select="text()"/></Linear_regression:X>
+                        </xsl:when>
+                    </xsl:choose>
+                </xsl:when>
+                <xsl:otherwise>
+                    <xsl:apply-templates mode="#current" select="@*[name()=$Linear_regression:X_attribute__x3A__set]">
+                        <xsl:with-param name="Linear_regression:X_attribute__x3A__set" select="$Linear_regression:X_attribute__x3A__set"/>
+                        <xsl:with-param name="Linear_regression:Y_attribute__x3A__set" select="$Linear_regression:Y_attribute__x3A__set"/>
+                        <xsl:with-param name="Linear_regression:X_element__x3A__set" select="$Linear_regression:X_element__x3A__set"/>
+                        <xsl:with-param name="Linear_regression:Y_element__x3A__set" select="$Linear_regression:Y_element__x3A__set"/>
+                    </xsl:apply-templates>
+                </xsl:otherwise>
+            </xsl:choose>
+            <xsl:choose>
+                <xsl:when test="string-length($Linear_regression:Y_element__x3A__set)&gt;0">
+                    <xsl:choose>
+                        <xsl:when test="*/local-name()=$Linear_regression:Y_element__x3A__set">
+                            <Linear_regression:Y>
+                                <xsl:value-of select="*[local-name()=$Linear_regression:Y_element__x3A__set]/text()"/>
+                            </Linear_regression:Y>
+                        </xsl:when>
+                    </xsl:choose>
+                </xsl:when>
+                <xsl:otherwise>
+                    <xsl:apply-templates mode="#current" select="@*[name()=$Linear_regression:Y_attribute__x3A__set]">
+                        <xsl:with-param name="Linear_regression:X_attribute__x3A__set" select="$Linear_regression:X_attribute__x3A__set"/>
+                        <xsl:with-param name="Linear_regression:Y_attribute__x3A__set" select="$Linear_regression:Y_attribute__x3A__set"/>
+                        <xsl:with-param name="Linear_regression:X_element__x3A__set" select="$Linear_regression:X_element__x3A__set"/>
+                        <xsl:with-param name="Linear_regression:Y_element__x3A__set" select="$Linear_regression:Y_element__x3A__set"/>
+                    </xsl:apply-templates>
+                </xsl:otherwise>
+            </xsl:choose>
+            
+        </Linear_regression:calculate_data.XY.row>
+        
+    </xsl:template>
+    
+    <xsl:template mode="Linear_regression:calculate_data.XY" match="@*">
+        <xsl:param name="Linear_regression:Y_attribute__x3A__set" required="yes"/>
+        <xsl:param name="Linear_regression:X_attribute__x3A__set" required="yes"/>
+        <xsl:param name="Linear_regression:X_element__x3A__set" required="yes" />
+        <xsl:param name="Linear_regression:Y_element__x3A__set" required="yes" />
+        <xsl:choose>
+            <xsl:when test="*/name()=$Linear_regression:X_attribute__x3A__set">
+                <Linear_regression:X>
+                    <xsl:choose>
+                        <xsl:when test="$Linear_regression:X_attribute__x3A__set='default_db__x3A__BI_audit_BENFORD:FieldType'">
+                            <xsl:value-of select="../number(text())"/>
+                        </xsl:when>
+                        <xsl:otherwise>
+                            <xsl:value-of select="number(replace(replace(current(),'-',''),'\|',''))"/>
+                        </xsl:otherwise>
+                    </xsl:choose>
+                </Linear_regression:X>
+            </xsl:when>
+            <xsl:when test="name()=$Linear_regression:Y_attribute__x3A__set">
+                <Linear_regression:Y>
+                    <xsl:value-of select="number(replace(replace(current(),'-',''),'\|',''))"/>
+                </Linear_regression:Y>
+            </xsl:when>
+        </xsl:choose>
+        
+    </xsl:template>
+    
+    <xsl:template mode="Linear_regression:calculate_data.XY11" match="Linear_regression:calculate_data.XY">
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:copy-of select="*"/>
+            <Linear_regression:XY11>
+                <xsl:attribute name="Linear_regression:XY11.n" select="count(Linear_regression:calculate_data.XY.row)"/>
+                <xsl:attribute name="Linear_regression:XY11.Ex" select="sum(Linear_regression:calculate_data.XY.row/Linear_regression:X/text())"/>
+                <xsl:attribute name="Linear_regression:XY11.Ey" select="sum(Linear_regression:calculate_data.XY.row/Linear_regression:Y/text())"/>
+                <xsl:attribute name="Linear_regression:XY11.Exy" select="sum(Linear_regression:calculate_data.XY.row/Linear_regression:XYSUM/text())"/>
+                <xsl:attribute name="Linear_regression:XY11.Ex2" select="sum(Linear_regression:calculate_data.XY.row/Linear_regression:X2/text())"/>
+                <xsl:attribute name="Linear_regression:XY11.Ey2" select="sum(Linear_regression:calculate_data.XY.row/Linear_regression:Y2/text())"/>
+            </Linear_regression:XY11>
+        </xsl:copy>
+    </xsl:template>
+    
+    
+    <xsl:template mode="Linear_regression:calculate_data.XYSUM" match="Linear_regression:calculate_data.XY.row">
+        <xsl:copy>
+            <xsl:copy-of select="@*"/>
+            <xsl:copy-of select="Linear_regression:X"/>
+            <xsl:copy-of select="Linear_regression:Y"/>
+            <Linear_regression:XYSUM>
+                <xsl:value-of select="Linear_regression:X/text() * Linear_regression:Y/text()"/>
+            </Linear_regression:XYSUM>
+            <Linear_regression:X2>
+                <xsl:value-of select="Linear_regression:X/text() * Linear_regression:X/text()"/>
+            </Linear_regression:X2>
+            <Linear_regression:Y2>
+                <xsl:value-of select="Linear_regression:Y/text() * Linear_regression:Y/text()"/>
+            </Linear_regression:Y2>
+        </xsl:copy>
+    </xsl:template>
+    
+    
+    
+    
+    <xsl:template mode=" Linear_regression:calculate_data.XY16.y-int Linear_regression:calculate_data.XY14 Linear_regression:calculate_data.XY16 Linear_regression:calculate_data__x3A__to_dita Linear_regression:calculate_data.XY Linear_regression:calculate_data.XYSUM Linear_regression:calculate_data.XY11" match="text()|comment()"/>
+    
+    
+    
+</xsl:stylesheet>