bcgtht.tree_to_dita.clousure.analys.merge.apply.xsl 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. xmlns:gml="http://www.opengis.net/gml"
  5. xmlns:p5bws="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/WPS_Functions.xsd"
  6. xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
  7. xmlns:bcgtht="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/bocian-graph-to-html/bcgtht.xsd"
  8. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  9. xmlns:default_db__x3A__BI_audit_ENERGA_PRACOWNICY="https://biuro.biall-net.pl/wfs/default_db/BI_audit_ENERGA_PRACOWNICY"
  10. xmlns:p5="https://biuro.biall-net.pl/wfs"
  11. xmlns:default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object="https://biuro.biall-net.pl/wfs/default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object"
  12. xmlns:default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row="https://biuro.biall-net.pl/wfs/default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row"
  13. xmlns:default_db__x3A__BI_audit_KRS="https://biuro.biall-net.pl/wfs/default_db/BI_audit_KRS"
  14. xmlns:default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI="https://biuro.biall-net.pl/wfs/default_db/BI_audit_ENERGA_RUM_KONTRAHENCI"
  15. xmlns:p5suis="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/system_ui_info_speech/system_ui_info_speech.xsd"
  16. xmlns:default_db__x3A__BI_audit_MSIG="https://biuro.biall-net.pl/wfs/default_db/BI_audit_MSIG"
  17. xmlns:default_db__x3A__BI_audit_CEIDG="https://biuro.biall-net.pl/wfs/default_db/BI_audit_CEIDG"
  18. xmlns:system_cache__dita="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/dita.xsd"
  19. xmlns:default_db__x3A__BI_audit_KRS_person="https://biuro.biall-net.pl/wfs/default_db/BI_audit_KRS_person"
  20. xmlns:default_db__x3A__BI_audit_taxpayer="https://biuro.biall-net.pl/wfs/default_db/BI_audit_taxpayer"
  21. xmlns:default_db__x3A__BI_audit_KRS_company="https://biuro.biall-net.pl/wfs/default_db/BI_audit_KRS_company"
  22. xmlns:default_db__x3A__BI_audit_MSIG_company="https://biuro.biall-net.pl/wfs/default_db/BI_audit_MSIG_company"
  23. xmlns:default_db__x3A__TERYT_adresy="https://biuro.biall-net.pl/wfs/default_db/TERYT_adresy"
  24. xmlns:default_db__x3A__BI_audit_MSIG_person="https://biuro.biall-net.pl/wfs/default_db/BI_audit_MSIG_person"
  25. xmlns:default_db__x3A__BI_audit_operational_raport_note="https://biuro.biall-net.pl/wfs/default_db/BI_audit_operational_raport_note"
  26. xmlns:default_db__x3A__BI_audit_MSIG_address="https://biuro.biall-net.pl/wfs/default_db/BI_audit_MSIG_address"
  27. xmlns:p5yed="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/yed/p5yed.xsd"
  28. xmlns:p5xmli="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/xmlschema_interface/p5xmli.xsd"
  29. exclude-result-prefixes="xs"
  30. version="2.0">
  31. <xsl:output indent="yes"/>
  32. <xsl:strip-space elements="*"/>
  33. <!-- <xsl:key name="bcgtht:clousure.node.unique.descriptor.test.against.test" match="/bcgtht:clousure.analys.merge/*[@bcgtht:clousure.node.unique.descriptor.group]/bcgtht:clousure.node.unique.descriptor.test.against.test/path.included" use="concat( local-name(),'|',@bcgtht:clousure.node)"/>
  34. <xsl:key name="bcgtht:clousure.node.unique.descriptor.test" match="/bcgtht:clousure.analys.merge/path.clousure.following" use="@bcgtht:clousure.node"/>
  35. <xsl:key name="bcgtht:clousure.node.unique.descriptor.test_incl" match="/bcgtht:clousure.analys.merge/path.included" use="@bcgtht:clousure.node"/>
  36. <xsl:key name="bcgtht:clousure.node.unique.descriptor" match="//bcgtht:clousure.node.unique.descriptor.test" use="@bcgtht:clousure.node"/>
  37. <!-\-<xsl:key name="bcgtht:clousure.current.txt" match="/bcgtht:clousure.analys.merge/bcgtht:clousure.node.unique.descriptor" use="concat(@bcgtht:clousure.node,':',@bcgtht:clousure.node.unique.descriptor.group,':',local-name())"/>-\->
  38. <xsl:key name="bcgtht:clousure.current.txt" match="/bcgtht:clousure.analys.merge/bcgtht:clousure.node.unique.descriptor" use="@bcgtht:clousure.node"/>
  39. <xsl:key name="bcgtht:clousure.current.txt.prec" match="/bcgtht:clousure.analys.merge/bcgtht:clousure.node.unique.descriptor" use="preceding-sibling::node()"/>
  40. <xsl:key name="bcgtht:clousure.current.txt.loc" match="/bcgtht:clousure.analys.merge/bcgtht:clousure.node.unique.descriptor/*" use="local-name()"/>
  41. <xsl:key name="bcgtht:clousure.current.txt.loc.txt" match="/bcgtht:clousure.analys.merge/bcgtht:clousure.node.unique.descriptor/*" use="text()"/>
  42. <xsl:key name="bcgtht:clousure.current.txt.2" match="/bcgtht:clousure.analys.merge/bcgtht:clousure.node.unique.descriptor/*" use="parent::* [@bcgtht:clousure.node]"/>
  43. <xsl:key name="bcgtht:clousure.node.unique.descriptor.group" match="*" use="@bcgtht:clousure.node.unique.descriptor.group"/>
  44. <xsl:key name="bcgtht:preceding-sibling.clousure.node.unique.descriptor" match="bcgtht:clousure.analys.merge/bcgtht:clousure.node.unique.descriptor/*[@bcgtht:clousure.node.unique.descriptor.group]" use="parent::bcgtht:clousure.node.unique.descriptor/following-sibling::bcgtht:clousure.node.unique.descriptor[@bcgtht:clousure.node.unique.descriptor.group]/*[local-name() = current()/local-name()]/generate-id()"/>--><!-- [not(@bcgtht:clousure.node = current()/parent::bcgtht:clousure.node.unique.descriptor/@bcgtht:clousure.node)] --><!-- /preceding-sibling::bcgtht:clousure.node.unique.descriptor) --><!-- [ *[ text() = current()/text() and local-name() = current()/local-name()] ] -->
  45. <!--<xsl:key name="bcgtht:clousure.current.txt.pos" match="/bcgtht:clousure.analys.merge/bcgtht:clousure.node.unique.descriptor" use="concat(@bcgtht:clousure.node,':', count( *))"/>-->
  46. <!-- Merging p5yed:node.unique.descriptor -->
  47. <xsl:template mode="bcgtht:clousure.analys.merge.apply" match="bcgtht:clousure.analys.merge">
  48. <bcgtht:clousure.analys.merge.apply>
  49. <xsl:copy-of select="p5xmli:xsi.schemaLocation($bcgtht.clousure.xsd,'http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/bocian-graph-to-html/bcgtht.xsd')"/>
  50. <xsl:message>#37 template mode="bcgtht:clousure.analys.merge.apply"</xsl:message>
  51. <xsl:apply-templates mode="bcgtht:clousure.analys.merge.apply.test" >
  52. <!--<xsl:with-param name="bcgtht:clousure.node.unique.descriptor.group" select="@bcgtht:clousure.node.unique.descriptor.id"/>-->
  53. <!--<xsl:with-param name="bcgtht:clousure.node.unique.descriptor.id" select="@bcgtht:clousure.node.unique.descriptor.id"/>-->
  54. </xsl:apply-templates>
  55. </bcgtht:clousure.analys.merge.apply>
  56. </xsl:template>
  57. <xsl:template mode="bcgtht:clousure.analys.merge.apply.test" match="bcgtht:clousure.node.unique.descriptor">
  58. <!--<xsl:apply-templates mode="bcgtht:clousure.analys.merge.apply.test" >
  59. <!-\-<xsl:with-param name="bcgtht:clousure.node.unique.descriptor.group" select="@bcgtht:clousure.node.unique.descriptor.id"/>-\->
  60. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor.id" select="@bcgtht:clousure.node.unique.descriptor.id"/>
  61. </xsl:apply-templates>-->
  62. </xsl:template>
  63. <xsl:function name="bcgtht:clousure.node.unique.descriptor.group.oper.and.count">
  64. <xsl:param name="bcgtht:clousure.node.unique.descriptor.child"/>
  65. <xsl:value-of select="count($bcgtht:clousure.node.unique.descriptor.child/ancestor::bcgtht:clousure.node.unique.descriptor/*[ @bcgtht:clousure.node.unique.descriptor.group = $bcgtht:clousure.node.unique.descriptor.child/@bcgtht:clousure.node.unique.descriptor.group and @bcgtht:clousure.node.unique.descriptor.group.oper='and' ])"/>
  66. </xsl:function>
  67. <xsl:function name="bcgtht:clousure.node.unique.descriptor.to_rename">
  68. <xsl:param name="bcgtht:clousure.node.unique.descriptor.current"/>
  69. <bcgtht:clousure.node.unique.descriptor.to_rename>
  70. <xsl:for-each select="$bcgtht:clousure.node.unique.descriptor.current/preceding-sibling::bcgtht:clousure.node.unique.descriptor[1]/*[@bcgtht:clousure.node.unique.descriptor.group = $bcgtht:clousure.node.unique.descriptor.current/@bcgtht:clousure.node.unique.descriptor.group]" > <!-- group-by="@bcgtht:clousure.node.unique.descriptor.group.oper.arg" --> <!-- select="preceding-sibling::bcgtht:clousure.node.unique.descriptor[1]/*[@bcgtht:clousure.node.unique.descriptor.group=current()/@bcgtht:clousure.node.unique.descriptor.group]" -->
  71. <xsl:copy>
  72. <xsl:copy-of select="@*"/>
  73. <xsl:variable name="current_node_txt" select="."/>
  74. <bcgtht:clousure.node.unique.descriptor.to_rename.checking_against_preceding > <!-- --> <!-- -->
  75. <xsl:attribute name="bcgtht:clousure.node.unique.descriptor.to_rename.dest.text" select="@xs:id"/>
  76. <xsl:attribute name="bcgtht:clousure.node.unique.descriptor.to_rename.source.text" select="$current_node_txt/@xs:id"/>
  77. <xsl:attribute name="bcgtht:clousure.node.unique.descriptor.to_rename.source.local-name" select="$current_node_txt/local-name()"/>
  78. <xsl:attribute name="bcgtht:clousure.node.unique.descriptor.to_rename.source.clousure.node" select="$bcgtht:clousure.node.unique.descriptor.current/@bcgtht:clousure.node"/>
  79. <!-- key('bcgtht:preceding-sibling.clousure.node.unique.descriptor',generate-id($current_node_txt)) -->
  80. <xsl:for-each-group select="$bcgtht:clousure.node.unique.descriptor.current/ancestor::bcgtht:clousure.analys.merge/bcgtht:clousure.node.unique.descriptor[ not(@bcgtht:clousure.node = $bcgtht:clousure.node.unique.descriptor.current/@bcgtht:clousure.node) ]/*[ @xs:id=$current_node_txt/@xs:id ] " group-by="@bcgtht:clousure.node"> <!-- @bcgtht:clousure.node.unique.descriptor.group.oper.arg.eva = $bcgtht:clousure.node.unique.descriptor.current/@bcgtht:clousure.node.unique.descriptor.group.oper.arg.eva --> <!-- and local-name()=$current_node_txt/local-name() --> <!-- $current_node/preceding-sibling::bcgtht:clousure.node.unique.descriptor[ not(@bcgtht:clousure.node = $current_node/@bcgtht:clousure.node) ]/*[@bcgtht:clousure.node.unique.descriptor.group = $current_node/@bcgtht:clousure.node.unique.descriptor.group and text()=$current_node_txt/text() and local-name()=$current_node_txt/local-name()] -->
  81. <bcgtht:clousure.node.unique.descriptor.to_rename.do_rename>
  82. <xsl:attribute name="bcgtht:clousure.node.unique.descriptor.to_rename.dest.text" select="text()"/>
  83. <xsl:attribute name="bcgtht:node.from.nodegraphics.text"><xsl:value-of select="bcgtht:clousure.node.name.from.fid($bcgtht:clousure.node.unique.descriptor.current/@bcgtht:clousure.node)"/><xsl:text> </xsl:text><xsl:for-each select="parent::*/*[@bcgtht:clousure.node.unique.descriptor.text]"><xsl:if test="position()=1"><xsl:value-of select="@bcgtht:clousure.node.unique.descriptor.group"/><xsl:text> </xsl:text></xsl:if><xsl:if test="not(position()=1)"><xsl:text>
  84. </xsl:text></xsl:if><xsl:value-of select="text()"/><xsl:text> </xsl:text></xsl:for-each></xsl:attribute><!-- name=<xsl:value-of select="name()"/> ; parent=<xsl:value-of select="parent::*/name()"/> --><!-- <xsl:value-of select="local-name()"/><xsl:text> </xsl:text> -->
  85. <xsl:attribute name="bcgtht:clousure.node.unique.descriptor.to_rename.target.clousure.node" select="ancestor::bcgtht:clousure.node.unique.descriptor/@bcgtht:clousure.node"/>
  86. <!--<xsl:attribute name="bcgtht:clousure.node.unique.descriptor.to_rename.target.clousure.node" select="ancestor::bcgtht:clousure.node.unique.descriptor/@bcgtht:clousure.node"/>-->
  87. <!--<xsl:apply-templates mode="bcgtht:clousure.analys.merge.apply.test.merge" select="ancestor::bcgtht:clousure.node.unique.descriptor/following-sibling::path.clousure.following[1]"><!-\- todo jak sie zachowa dla warunku teryt skladanego? czy parametr spelnienia wystarczy? -\->
  88. <xsl:with-param name="bcgtht:clousure.node.merge" select="@bcgtht:clousure.node.name"/>
  89. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor.test.against.test.attr" select="bcgtht:clousure.node.unique.descriptor.test.against.test[1]/*/@bcgtht:clousure.node.unique.descriptor.test.against.test.attr[1]"/>
  90. <!-\-<xsl:with-param name="bcgtht:clousure.node.unique.descriptor" select="preceding-sibling::bcgtht:clousure.node.unique.descriptor[1]"/>-\->
  91. </xsl:apply-templates>-->
  92. </bcgtht:clousure.node.unique.descriptor.to_rename.do_rename>
  93. </xsl:for-each-group>
  94. </bcgtht:clousure.node.unique.descriptor.to_rename.checking_against_preceding>
  95. </xsl:copy>
  96. </xsl:for-each>
  97. </bcgtht:clousure.node.unique.descriptor.to_rename>
  98. </xsl:function>
  99. <xsl:function name="bcgtht:clousure.node.unique.descriptor.to_rename.test">
  100. <xsl:param name="bcgtht:clousure.node.unique.descriptor.current"/>
  101. <xsl:param name="bcgtht:clousure.node.unique.descriptor.to_rename"/>
  102. <xsl:choose>
  103. <xsl:when test="bcgtht:clousure.node.unique.descriptor.group.oper.and.count($bcgtht:clousure.node.unique.descriptor.current) &gt; 0">
  104. <xsl:choose>
  105. <xsl:when test="$bcgtht:clousure.node.unique.descriptor.to_rename//bcgtht:clousure.node.unique.descriptor.to_rename.do_rename[ bcgtht:clousure.node.unique.descriptor.group.oper.and.count($bcgtht:clousure.node.unique.descriptor.current) ]">
  106. <xsl:message>#147 verified against bcgtht:clousure.node.unique.descriptor.group.oper.and.count </xsl:message>
  107. <xsl:value-of select="count($bcgtht:clousure.node.unique.descriptor.to_rename//bcgtht:clousure.node.unique.descriptor.to_rename.do_rename)"/>
  108. </xsl:when>
  109. </xsl:choose>
  110. </xsl:when>
  111. <xsl:otherwise>
  112. <xsl:choose>
  113. <xsl:when test="$bcgtht:clousure.node.unique.descriptor.to_rename//bcgtht:clousure.node.unique.descriptor.to_rename.do_rename">
  114. <xsl:value-of select="count($bcgtht:clousure.node.unique.descriptor.to_rename//bcgtht:clousure.node.unique.descriptor.to_rename.do_rename)"/>
  115. </xsl:when>
  116. </xsl:choose>
  117. </xsl:otherwise>
  118. </xsl:choose>
  119. </xsl:function>
  120. <xsl:template mode="bcgtht:clousure.analys.merge.apply.test" match="path.clousure.following"> <!-- SS29 @bcgtht:clousure.node.unique.descriptor.text -->
  121. <xsl:param name="bcgtht:clousure.node.unique.descriptor.group" select="@bcgtht:clousure.node.unique.descriptor.group"/>
  122. <xsl:param name="bcgtht:clousure.node.unique.descriptor.id" select="@bcgtht:clousure.node.unique.descriptor.id"/>
  123. <xsl:variable name="current" select="."/>
  124. <xsl:choose>
  125. <!-- -->
  126. <xsl:when test="preceding-sibling::path.clousure.following[ @bcgtht:clousure.from and @bcgtht:clousure.from = current()/@bcgtht:clousure.from ][1]">
  127. <xsl:comment>#124-AA-GGXX NOT PLACING @id=<xsl:value-of select="@bcgtht:clousure.node.unique.descriptor.id"/>; @txt=<xsl:value-of select="@bcgtht:clousure.node.unique.descriptor.text"/>; local=<xsl:value-of select="local-name()"/>; @bcgtht:clousure.node=<xsl:value-of select="@bcgtht:clousure.node"/>; @bcgtht:clousure.node=<xsl:value-of select="@bcgtht:clousure.node"/>; </xsl:comment>
  128. <xsl:message>#124-AA-GGXX NOT PLACING </xsl:message>
  129. <!--<xsl:copy-of select="$test_preceding"/>-->
  130. </xsl:when>
  131. <xsl:when test="1 = 2"/>
  132. <xsl:otherwise>
  133. <!--<xsl:variable name="bcgtht:clousure.node.unique.descriptor.group.oper.and.count"/>--><!-- ile elementow w grupie and ma dany operator -->
  134. <!--<xsl:variable name="bcgtht:clousure.node.unique.descriptor.to_rename" select="bcgtht:clousure.node.unique.descriptor.to_rename( current() )"/>-->
  135. <!--<xsl:choose>-->
  136. <!--<xsl:when test="bcgtht:clousure.node.unique.descriptor.to_rename.test(current() , $bcgtht:clousure.node.unique.descriptor.to_rename )">
  137. <xsl:comment>#202 AAA-TEST_MULTI BYPASS <xsl:value-of select="$bcgtht:clousure.node.unique.descriptor.group"/> - res <xsl:value-of select="bcgtht:clousure.node.unique.descriptor.to_rename.test(current() , $bcgtht:clousure.node.unique.descriptor.to_rename )"/> | test2 <xsl:value-of select="count($bcgtht:clousure.node.unique.descriptor.to_rename//bcgtht:clousure.node.unique.descriptor.to_rename.do_rename)"/></xsl:comment>
  138. <xsl:message>#202 AAA-TEST_MULTI BYPASS <xsl:value-of select="$bcgtht:clousure.node.unique.descriptor.group"/> </xsl:message>
  139. <xsl:copy copy-namespaces="no">
  140. <xsl:copy-of select="@*"/>
  141. <xsl:copy-of select="bcgtht:clousure.node.unique.descriptor.to_rename( current() )"/>
  142. </xsl:copy>
  143. </xsl:when>-->
  144. <!--<xsl:otherwise>-->
  145. <xsl:comment>#124 XXXX OK OK OK PLACING DDDD parent=<xsl:value-of select="parent::*/name()"/> bcgtht:clousure.node.unique.descriptor.group.oper.and.count(<xsl:value-of select="bcgtht:clousure.node.unique.descriptor.group.oper.and.count(.)"/>) $bcgtht:clousure.node.unique.descriptor.group = <xsl:value-of select="$bcgtht:clousure.node.unique.descriptor.group"/></xsl:comment>
  146. <xsl:message>#124 XXXX OK OK OK PLACING DDDD <xsl:value-of select="$bcgtht:clousure.node.unique.descriptor.id"/> <xsl:value-of select="@bcgtht:clousure.node"/> </xsl:message>
  147. <!--<KEYDEBUG>
  148. <xsl:copy-of select="key('bcgtht:preceding-sibling.clousure.node.unique.descriptor',generate-id(preceding-sibling::bcgtht:clousure.node.unique.descriptor[1]/pesel))"/>
  149. </KEYDEBUG>-->
  150. <xsl:copy copy-namespaces="no">
  151. <xsl:copy-of select="@*"/>
  152. <xsl:attribute name="bcgtht:clousure.node.unique.descriptor.id" select="$bcgtht:clousure.node.unique.descriptor.id"/>
  153. <xsl:attribute name="bcgtht:clousure.node" select="@bcgtht:clousure.node"/>
  154. <xsl:attribute name="p5yed:debug">rename in next flow descendant nodes associated <xsl:value-of select="@bcgtht:clousure.node"/> for all <xsl:value-of select="bcgtht:clousure.node.unique.descriptor.test.against.test[1]/*/@bcgtht:clousure.node.unique.descriptor.test.against.test.attr[1]"/> </xsl:attribute>
  155. <!-- <xsl:attribute name="parent" select="parent::*/name()"/>
  156. <xsl:attribute name="child" select="child::*/name()"/>-->
  157. <!--<xsl:apply-templates mode="bcgtht:clousure.analys.merge.apply.test.merge">
  158. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor" select="preceding-sibling::bcgtht:clousure.node.unique.descriptor[1]"/>
  159. <xsl:with-param name="bcgtht:clousure.node.merge" select="@bcgtht:clousure.node.name"/>
  160. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor.id" select="$bcgtht:clousure.node.unique.descriptor.id"/>
  161. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor.test.against.test.attr" select="bcgtht:clousure.node.unique.descriptor.test.against.test[1]/*/@bcgtht:clousure.node.unique.descriptor.test.against.test.attr[1]"/>
  162. </xsl:apply-templates>-->
  163. <xsl:apply-templates mode="bcgtht:clousure.analys.merge.apply.test.merge.path.included"/>
  164. <!--<xsl:copy-of select="parent::bcgtht:clousure.node.unique.descriptor"/>-->
  165. <!--<xsl:copy-of select="following-sibling::path.clousure.following[1]"/>-->
  166. <xsl:variable name="current_node" select="."/>
  167. <!--<xsl:for-each select="following-sibling::path.clousure.following[1]">
  168. <xsl:copy>
  169. <xsl:copy-of select="@*"/>
  170. <xsl:copy-of select="$current_node/parent::bcgtht:clousure.node.unique.descriptor"/>
  171. </xsl:copy>
  172. </xsl:for-each>-->
  173. </xsl:copy>
  174. <!--</xsl:otherwise>-->
  175. <!--</xsl:choose>-->
  176. </xsl:otherwise>
  177. </xsl:choose>
  178. <!--<xsl:choose>
  179. <xsl:when test="following::*[@bcgtht:clousure.node.unique.descriptor.text = current()/@bcgtht:clousure.node.unique.descriptor.text]">
  180. <xsl:attribute name="following.true">jest preceding</xsl:attribute>
  181. </xsl:when>
  182. </xsl:choose>-->
  183. </xsl:template>
  184. <xsl:template mode="bcgtht:clousure.analys.merge.apply.test.merge.path.included" match="path.clousure.following">
  185. <xsl:copy copy-namespaces="no">
  186. <xsl:copy-of select="@*"/>
  187. <!--<xsl:apply-templates mode="bcgtht:clousure.analys.merge.apply.test.merge.path.included.path.clousure.following"/>-->
  188. </xsl:copy>
  189. </xsl:template>
  190. <!--<xsl:template mode="bcgtht:clousure.analys.merge.apply.test.merge.path.included.path.clousure.following" match="path.included">
  191. <xsl:message terminate="yes">#332 unantended mode="bcgtht:clousure.analys.merge.apply.test.merge.path.included" match="path.included</xsl:message>
  192. </xsl:template>-->
  193. <xsl:template mode="bcgtht:clousure.analys.merge.apply.test.merge.path.included " match="*|text()|comment()"/>
  194. <!--XXXX <xsl:template mode="bcgtht:clousure.analys.merge.apply.test" match="*[@bcgtht:clousure.node.unique.descriptor.text]">
  195. <xsl:param name="bcgtht:clousure.node.unique.descriptor.group" required="yes"/>
  196. <xsl:variable name="bcgtht:clousure.node.unique.descriptor.id" select="ancestor::bcgtht:clousure.node.unique.descriptor.test/@bcgtht:clousure.node.unique.descriptor.id"/>
  197. <xsl:variable name="current" select="."/>
  198. <xsl:variable name="test_preceding">
  199. <test_preceding bcgtht:clousure.node.unique.descriptor.id="{$bcgtht:clousure.node.unique.descriptor.id}" bcgtht:clousure.node.unique.descriptor.group="{$bcgtht:clousure.node.unique.descriptor.group}">
  200. <xsl:for-each select="preceding::bcgtht:clousure.node.unique.descriptor[parent::*/@bcgtht:clousure.node.unique.descriptor.id and not(ancestor::bcgtht:clousure.node.unique.descriptor.test[@bcgtht:clousure.node.unique.descriptor.id = $bcgtht:clousure.node.unique.descriptor.id])]/*[@bcgtht:clousure.node.unique.descriptor.group = $bcgtht:clousure.node.unique.descriptor.group]">
  201. <xsl:variable name="current.text" select="text()"/>
  202. <xsl:variable name="current.node" select="local-name()"/>
  203. <current.test current.text="{$current.text}" current.node="{$current.node}" bcgtht:clousure.node.unique.descriptor.id="{ancestor::bcgtht:clousure.node.unique.descriptor.test/@bcgtht:clousure.node.unique.descriptor.id}">
  204. <xsl:for-each select="$current/preceding-sibling::bcgtht:clousure.node.unique.descriptor/*[@bcgtht:clousure.node.unique.descriptor.group = $bcgtht:clousure.node.unique.descriptor.group]">
  205. <xsl:choose>
  206. <xsl:when test="local-name() = $current.node and text() = $current.text">
  207. <child.test name="{local-name()}" text="{ text()}"/>
  208. </xsl:when>
  209. </xsl:choose>
  210. </xsl:for-each>
  211. </current.test>
  212. </xsl:for-each>
  213. <!-\-<xsl:for-each select="preceding-sibling::bcgtht:clousure.node.unique.descriptor[ancestor::bcgtht:clousure.node.unique.descriptor.test[@bcgtht:clousure.node.unique.descriptor.id = $bcgtht:clousure.node.unique.descriptor.id]]/*[@bcgtht:clousure.node.unique.descriptor.group = $bcgtht:clousure.node.unique.descriptor.group]">
  214. <xsl:variable name="current.text" select="text()"/>
  215. <xsl:variable name="current.node" select="local-name()"/>
  216. <current.test_self not_node="{$current/@bcgtht:clousure.node}" not_name="{$current/local-name()}" current.text="{$current.text}" current.node="{$current.node}" bcgtht:clousure.node.unique.descriptor.id="{ancestor::bcgtht:clousure.node.unique.descriptor.test/@bcgtht:clousure.node.unique.descriptor.id}" bcgtht:clousure.node.unique.descriptor.group="{$bcgtht:clousure.node.unique.descriptor.group}">
  217. <xsl:for-each select="$current/preceding-sibling::bcgtht:clousure.node.unique.descriptor/*[@bcgtht:clousure.node.unique.descriptor.group = $bcgtht:clousure.node.unique.descriptor.group ]">
  218. <xsl:choose>
  219. <xsl:when test="local-name() = $current.node and text() = $current.text and not( local-name() = $current/local-name()) and not( $current/@bcgtht:clousure.node = following::path.clousure.following[1]/@bcgtht:clousure.node)">
  220. <child.test name="{local-name()}" text="{ text()}" current.local-name="{$current/local-name()}" bcgtht:clousure.node="{following::path.clousure.following[1]/@bcgtht:clousure.node}"/>
  221. </xsl:when>
  222. </xsl:choose>
  223. </xsl:for-each>
  224. </current.test_self>
  225. </xsl:for-each>-\->
  226. </test_preceding>
  227. </xsl:variable>
  228. <xsl:choose>
  229. <!-\-<xsl:when test="preceding::bcgtht:clousure.node.unique.descriptor[parent::*/@bcgtht:clousure.node.unique.descriptor.id]/*[@bcgtht:clousure.node.unique.descriptor.text = current()/@bcgtht:clousure.node.unique.descriptor.text]">
  230. <xsl:copy copy-namespaces="no">
  231. <xsl:attribute name="preceding.true">bypassing jest preceding <xsl:value-of select="@bcgtht:clousure.node.unique.descriptor.text"/></xsl:attribute>
  232. <!-\\-<xsl:copy-of select="@bcgtht:clousure.node.unique.descriptor.text"/>-\\->
  233. </xsl:copy>
  234. </xsl:when>-\->
  235. <xsl:when test="preceding-sibling::*[@bcgtht:clousure.node.unique.descriptor.group and parent::*/@bcgtht:clousure.node.unique.descriptor.id = $bcgtht:clousure.node.unique.descriptor.id]">
  236. <!-\-<xsl:copy copy-namespaces="no">
  237. <xsl:attribute name="child.test">bypassing duplicate preceding-sibling:: <xsl:value-of select="@bcgtht:clousure.node.unique.descriptor.text"/></xsl:attribute>
  238. <!-\\-<xsl:copy-of select="@bcgtht:clousure.node.unique.descriptor.text"/>-\\->
  239. <xsl:if test="$bcgtht:clousure.node.unique.descriptor.group = 'company'">
  240. <!-\\-<xsl:copy-of select="$test_preceding"/>-\\->
  241. </xsl:if>
  242. </xsl:copy>-\->
  243. <xsl:comment>#124-AA NOT PLACING </xsl:comment>
  244. <xsl:message>#124-AA NOT PLACING </xsl:message>
  245. <!-\-<xsl:copy-of select="$test_preceding"/>-\->
  246. </xsl:when>
  247. <xsl:when test="$test_preceding//child.test">
  248. <!-\-<xsl:copy copy-namespaces="no">
  249. <xsl:attribute name="child.test">bypassing duplicate child.test <xsl:value-of select="@bcgtht:clousure.node.unique.descriptor.text"/></xsl:attribute>
  250. <!-\\-<xsl:copy-of select="@bcgtht:clousure.node.unique.descriptor.text"/>-\\->
  251. <xsl:if test="$bcgtht:clousure.node.unique.descriptor.group = 'company'">
  252. <xsl:copy-of select="$test_preceding"/>
  253. </xsl:if>
  254. </xsl:copy>-\->
  255. <xsl:comment>#124-BB NOT NOT NOT PLACING </xsl:comment>
  256. <xsl:message>#124-BB NOT NOT NOT PLACING </xsl:message>
  257. </xsl:when>
  258. <xsl:otherwise>
  259. <xsl:comment>#124 OK OK OK PLACING DDDD $$bcgtht:clousure.node.unique.descriptor.group = <xsl:value-of select="$bcgtht:clousure.node.unique.descriptor.group"/></xsl:comment>
  260. <xsl:message>#124 OK OK OK PLACING DDDD <xsl:value-of select="$bcgtht:clousure.node.unique.descriptor.id"/> <xsl:value-of select="@bcgtht:clousure.node"/> </xsl:message>
  261. <xsl:copy copy-namespaces="no">
  262. <xsl:copy-of select="@*"/>
  263. <xsl:attribute name="bcgtht:clousure.node.unique.descriptor.id" select="$bcgtht:clousure.node.unique.descriptor.id"/>
  264. <xsl:attribute name="bcgtht:clousure.node.merge" select="@bcgtht:clousure.node"/>
  265. <xsl:attribute name="p5yed:debug">rename in next flow descendant nodes associated <xsl:value-of select="@bcgtht:clousure.node"/> for all <xsl:value-of select="bcgtht:clousure.node.unique.descriptor.test.against.test[1]/*/@bcgtht:clousure.node.unique.descriptor.test.against.test.attr[1]"/> </xsl:attribute>
  266. <!-\- <xsl:attribute name="parent" select="parent::*/name()"/>
  267. <xsl:attribute name="child" select="child::*/name()"/>-\->
  268. <!-\-DDDD <xsl:apply-templates mode="bcgtht:clousure.analys.merge.apply.test.merge">
  269. <xsl:with-param name="bcgtht:clousure.node.merge" select="@bcgtht:clousure.node.name"/>
  270. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor.test.against.test.attr" select="bcgtht:clousure.node.unique.descriptor.test.against.test[1]/*/@bcgtht:clousure.node.unique.descriptor.test.against.test.attr[1]"/>
  271. </xsl:apply-templates>-\->
  272. <xsl:if test="$bcgtht:clousure.node.unique.descriptor.group = 'company'">
  273. <xsl:copy-of select="$test_preceding"/>
  274. </xsl:if>
  275. <!-\-<xsl:for-each select="preceding::bcgtht:clousure.node.unique.descriptor[parent::*/@bcgtht:clousure.node.unique.descriptor.id]">
  276. <DEBUG bcgtht:clousure.node.unique.descriptor.id="{parent::*/@bcgtht:clousure.node.unique.descriptor.id}">
  277. </DEBUG>
  278. </xsl:for-each>-\->
  279. <!-\-<xsl:copy-of select="$test_preceding"/>-\->
  280. <!-\-<xsl:copy-of select="$test_preceding"/>-\->
  281. </xsl:copy>
  282. </xsl:otherwise>
  283. </xsl:choose>
  284. <!-\-<xsl:choose>
  285. <xsl:when test="following::*[@bcgtht:clousure.node.unique.descriptor.text = current()/@bcgtht:clousure.node.unique.descriptor.text]">
  286. <xsl:attribute name="following.true">jest preceding</xsl:attribute>
  287. </xsl:when>
  288. </xsl:choose>-\->
  289. </xsl:template>-->
  290. <xsl:template mode="bcgtht:clousure.analys.merge.apply.test.merge" match="bcgtht:clousure.node.unique.descriptor.test.against.test">
  291. <xsl:param name="bcgtht:clousure.node.merge" required="yes"/>
  292. <xsl:param name="bcgtht:clousure.node.unique.descriptor.test.against.test.attr" required="yes"/>
  293. <xsl:param name="bcgtht:clousure.node.unique.descriptor.id" required="yes"/>
  294. <xsl:param name="bcgtht:clousure.node.unique.descriptor" />
  295. <!-- <xsl:copy copy-namespaces="no">
  296. <xsl:copy-of select="@*"/>-->
  297. <!--SSS<xsl:apply-templates mode="#current">
  298. <xsl:with-param name="bcgtht:clousure.node.merge" select="$bcgtht:clousure.node.merge"/>
  299. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor.test.against.test.attr" select="$bcgtht:clousure.node.unique.descriptor.test.against.test.attr"/>
  300. </xsl:apply-templates>-->
  301. <!--</xsl:copy>-->
  302. <xsl:for-each-group select="path.clousure.following|path.included" group-by="concat(@bcgtht:clousure.node,':',@bcgtht:clousure.from)"> <!-- FIX29 -->
  303. <xsl:apply-templates mode="#current" select=".">
  304. <xsl:with-param name="bcgtht:clousure.node.merge" select="$bcgtht:clousure.node.merge"/>
  305. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor.id" select="$bcgtht:clousure.node.unique.descriptor.id"/>
  306. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor.test.against.test.attr" select="$bcgtht:clousure.node.unique.descriptor.test.against.test.attr"/>
  307. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor" select="$bcgtht:clousure.node.unique.descriptor"/>
  308. <xsl:with-param name="bcgtht:clousure.analys.merge.apply.test.merge.delete" select="true()"/>
  309. </xsl:apply-templates>
  310. </xsl:for-each-group>
  311. </xsl:template>
  312. <xsl:template mode="bcgtht:clousure.analys.merge.apply.test.merge" match="path.clousure.following|path.included">
  313. <xsl:param name="bcgtht:clousure.node.merge" required="yes"/>
  314. <xsl:param name="bcgtht:clousure.node.unique.descriptor.test.against.test.attr" required="yes"/>
  315. <xsl:param name="bcgtht:clousure.node.unique.descriptor.id"/>
  316. <xsl:param name="bcgtht:clousure.node.unique.descriptor" />
  317. <xsl:param name="bcgtht:clousure.analys.merge.apply.test.merge.delete" />
  318. <xsl:copy copy-namespaces="no">
  319. <xsl:if test="$bcgtht:clousure.node.unique.descriptor.id">
  320. <xsl:attribute name="bcgtht:clousure.node.unique.descriptor.id" select="$bcgtht:clousure.node.unique.descriptor.id"/>
  321. </xsl:if>
  322. <xsl:choose>
  323. <xsl:when test="$bcgtht:clousure.analys.merge.apply.test.merge.delete">
  324. <xsl:apply-templates mode="bcgtht:clousure.analys.merge.apply.test.merge.delete" select="@*"/>
  325. </xsl:when>
  326. <xsl:otherwise><xsl:copy-of select="@*"/></xsl:otherwise>
  327. </xsl:choose>
  328. <xsl:if test="$bcgtht:clousure.node.unique.descriptor">
  329. <xsl:copy-of select="$bcgtht:clousure.node.unique.descriptor"/>
  330. </xsl:if>
  331. <xsl:apply-templates mode="#current">
  332. <xsl:with-param name="bcgtht:clousure.node.merge" select="$bcgtht:clousure.node.merge"/>
  333. <xsl:with-param name="bcgtht:clousure.node.unique.descriptor.test.against.test.attr" select="$bcgtht:clousure.node.unique.descriptor.test.against.test.attr"/>
  334. </xsl:apply-templates>
  335. </xsl:copy>
  336. </xsl:template>
  337. <!--<xsl:template mode="bcgtht:clousure.analys.merge.apply" match="bcgtht:clousure.node.unique.descriptor.test">
  338. </xsl:template>-->
  339. <xsl:template mode="bcgtht:clousure.analys.merge.apply.test.merge bcgtht:clousure.analys.merge.apply bcgtht:clousure.analys.merge.apply.test" match="text()|comment()|*"/>
  340. </xsl:stylesheet>