a.binder 9 лет назад
Родитель
Сommit
dadb199894

+ 15 - 2
SE/dev/php-cli/edge_joins_filled_paths_make.xsl

@@ -18,6 +18,8 @@
     <xsl:param name="joins2ways_z_ID_Way.xml" select="'joins2ways_z_ID_Way.xml'"/>
     <xsl:variable name="joins2ways_z_ID_Way" select="doc($joins2ways_z_ID_Way.xml)"/>
     
+    <xsl:param name="edge_joins_filled_paths" select="'edge_joins_filled_paths'"/> <!-- katalog do zapisywania sciezek -->
+    
     <xsl:param name="debug" /> <!-- set 1 to debug -->
     
     <xsl:output indent="yes"/>
@@ -180,7 +182,7 @@
                     <!--<asText_XMl>
                             <xsl:copy-of select="$LineString"/>
                     </asText_XMl>-->
-                       <xsl:result-document href="edge_joins_filled_paths/edge_joins_filled_paths.{$ID_Way}.xml">
+                       <xsl:result-document href="{$edge_joins_filled_paths}/edge_joins_filled_paths.{$ID_Way}.xml">
                            <edge_joins_filled_paths_xml>
                                <xsl:attribute name="id" select="$ID_Way"/>
                                <xsl:attribute name="Points_cnt" select="count($LineString/LineString/Points)"/>
@@ -235,12 +237,23 @@
                    
                     <xsl:variable name="X" select="@Way_X2"/>
                     <xsl:variable name="Y" select="@Way_Y2"/>
+                    
+                    <xsl:for-each select="$ways2joins/ways2joins/item[@id= current()/@id]/item"> <!-- musi byc wczesniej bo atrybut sie nie doda drugi raz-->
+                        <xsl:for-each select="$joins_asText_xml/joins_asText_xml/item[@id= current()/text()]/bp:Path_Point">
+                            <xsl:if test="@X=$X and @Y=$Y">
+                                <xsl:variable name="ID_Join" select="parent::node()/@id"/>
+                                    <xsl:attribute name="ID_Join" select="$ID_Join"/>
+                            </xsl:if>
+                        </xsl:for-each>
+                    </xsl:for-each>
+                    
+                    
                     <xsl:for-each select="$ways2joins/ways2joins/item[@id= current()/@id]/item">
                         <xsl:for-each select="$joins_asText_xml/joins_asText_xml/item[@id= current()/text()]/bp:Path_Point">
                             <xsl:if test="@X=$X and @Y=$Y">
                                 
                                 <xsl:variable name="ID_Join" select="parent::node()/@id"/>
-                                <xsl:attribute name="ID_Join" select="$ID_Join"/>
+                                <!--<xsl:attribute name="ID_Join" select="$ID_Join"/>-->
                                 <!-- punkty podpiete -->
                                 <xsl:copy-of select="$joins2ways_z_ID_Way/joins2ways_z_ID_Way/item[@id=$ID_Join]/Points"/>
                                 <!-- wyszukanie drog wychodzacych innych niz nasza z punktu -->

+ 23 - 2
SE/dev/php-cli/edge_paths_with_PE_controll.xsl

@@ -29,6 +29,27 @@
     
     
     
+    <xsl:template match="edge_joins_filled_paths_xml"><!-- w przypadku wyzwolenia dla pojedynczego pliku -->
+        <xsl:message>Running script for params:
+            PE_Price=<xsl:value-of select="$PE_Price"/>
+            Cable_Price=<xsl:value-of select="$Cable_Price"/>
+            max_combinate_groups_elements=<xsl:value-of select="$max_combinate_groups_elements"/>
+            logic=<xsl:value-of select="$logic"/> .EOF
+        </xsl:message>
+        
+        
+        <edge_paths_with_PE_controll>
+                <xsl:attribute name="logic" select="$logic"/>
+                  <!--  <xsl:attribute name="id" select="@id"/>
+                    <xsl:attribute name="len" select="@len"/>
+                    <xsl:attribute name="Points_cnt" select="@Points_cnt"/>-->
+                    <xsl:apply-templates mode="PointMatrixGroup">
+                        <xsl:with-param name="edge_joins_filled_path" select="parent::node()"/><!-- jak lecimy natywnie dla pliku  edge_joins_filled_paths_xml to dane sa w node()-->
+                    </xsl:apply-templates>
+        </edge_paths_with_PE_controll>
+        
+    </xsl:template>
+    
     <xsl:template match="edge_joins_filled_paths">
         <xsl:message>Running script for params:
             PE_Price=<xsl:value-of select="$PE_Price"/>
@@ -59,9 +80,9 @@
     
     
     
-       <xsl:template match="Path" mode="PointMatrixGroup">
+    <xsl:template match="Path|asText_XMl" mode="PointMatrixGroup">
+           <xsl:param name="edge_joins_filled_path" select=" doc(concat('edge_joins_filled_paths/edge_joins_filled_paths.',@id,'.xml'))"/>
         <Path>
-            <xsl:variable name="edge_joins_filled_path" select=" doc(concat('edge_joins_filled_paths/edge_joins_filled_paths.',@id,'.xml'))"/>
             <xsl:attribute name="id" select="@id"/>
             <xsl:variable name="ID_Way" select="@id"/>
             <xsl:attribute name="Points_cnt" select="@Points_cnt"/>