p5ant-interface.Macrodef.xsl 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. xmlns:p5ant-interface="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/ant_interface/ant_interface.xsd"
  5. xmlns:p5dg="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd"
  6. xmlns:p5suis="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/system_ui_info_speech/system_ui_info_speech.xsd"
  7. exclude-result-prefixes="xs"
  8. version="2.0">
  9. <!--<xsl:include href="../documentation_generator/p5dg.filepath.xsl"/>-->
  10. <!--<xsl:include href="../ant/p5ant.create_new_WPS_Function.xsl"/>-->
  11. <xsl:output indent="yes"/>
  12. <xsl:strip-space elements="*"/>
  13. <xsl:param name="p5ant-interface.Macrodef.read.file.properties" />
  14. <xsl:param name="p5ant-interface.Macrodef.local.integrate.target.name" required="yes"/>
  15. <!--<xsl:param name="p5ant-interface.Macrodef.output_file.param.name" required="yes"/>-->
  16. <!-- <xsl:param name="p5ant-interface.Macrodef.thread.count.param" required="yes"/>
  17. <xsl:param name="p5ant-interface.Macrodef.thread.count.param.name" required="yes"/>
  18. <xsl:param name="p5ant-interface.Macrodef.thread.thread.no.param.name" required="yes"/>
  19. <xsl:param name="p5ant-interface.Macrodef.thread.thread.no.foreign.param.name" required="yes"/>
  20. <xsl:param name="p5ant-interface.Macrodef.thread.thread.no.merge.count.param.name" required="yes"/>
  21. <xsl:param name="p5ant-interface.Macrodef.thread.thread.no.merge.count.param" required="yes"/>
  22. <xsl:param name="p5ant-interface.Macrodef.thread.thread.no.merge.no.param.name" required="yes"/>-->
  23. <!--<xsl:param name="p5ant-interface.Macrodef.target.name" required="yes"/>-->
  24. <xsl:param name="p5ant-interface.Macrodef.new.ant.build.xml" required="yes"/>
  25. <xsl:param name="p5ant-interface.Macrodef.new.ant.project.name" required="yes"/>
  26. <xsl:param name="p5ant-interface.Macrodef.new.ant.target.name" required="yes"/>
  27. <xsl:param name="p5ant-interface.Macrodef.calling.build.xml" required="yes"/>
  28. <xsl:param name="p5ant-interface.Macrodef.calling.build.basedir" required="yes"/>
  29. <xsl:param name="p5ant-interface.Macrodef.calling.build.repository" required="yes"/>
  30. <xsl:param name="p5ant-interface.Macrodef.threadcount" select="'10'"/>
  31. <xsl:param name="p5ant.WPS_Functions.PRODUCT.name.input" required="yes"/>
  32. <xsl:param name="p5ant.WPS_Functions.PRODUCT.prefix.input" required="yes"/>
  33. <xsl:param name="p5suis.p5suis.say_to_queue.PL" required="yes"/>
  34. <xsl:param name="p5suis.build" required="yes"/>
  35. <!--<xsl:param name="p5ant-interface.build" required="yes"/>-->
  36. <!--<xsl:param name="p5ant-interface.Macrodef.thread.thread.no.merge.count.minimize.param" select="$p5ant-interface.Macrodef.thread.thread.no.merge.count.param"/>--><!-- to apply only part of loop - to achieve all database context but not full -->
  37. <xsl:param name="p5ant-interface.Macrodef.outfile.structure"/>
  38. <xsl:param name="p5dkp.repository" required="yes"/>
  39. <!-- -->
  40. <xsl:include href="p5ant-interface.Macrodef.calling.integrate.xsl"/>
  41. <xsl:include href="../ant_interface/p5ant-interface.basedir.xsl"/>
  42. <xsl:template mode="p5ant-interface:Macrodef.xml" match="*" > <!-- xpath-default-namespace="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd" -->
  43. <!--<project
  44. basedir="{$p5ant-interface.Macrodef.calling.build.basedir}"
  45. default="{$p5ant-interface.Macrodef.new.ant.target.name}"
  46. name="{$p5ant-interface.Macrodef.new.ant.project.name}">
  47. <xsl:copy-of select="namespace::*"/>
  48. <xsl:copy-of select=".//namespace::*"/>
  49. <xsl:copy-of select="namespace::node()"/>
  50. <xsl:apply-templates mode="#current"/>
  51. <loadproperties srcfile="{$p5ant-interface.Macrodef.read.file.properties}" />
  52. <include file="{$p5suis.build}" as="p5suis"/>
  53. <include file="{$p5ant-interface.build}" as="ant_interface"/>
  54. <include file="{$p5ant-interface.Macrodef.calling.build.xml}" as="include"/>
  55. <property name="p5dkp.repository" location="{$p5dkp.repository}"/>
  56. <xsl:apply-templates mode="p5ant-interface:Macrodef.xml.ant"/>
  57. </project>-->
  58. <project basedir="{$p5ant-interface:basedir}" name="{$p5ant-interface.Macrodef.new.ant.project.name}" default="{$p5ant-interface.Macrodef.new.ant.target.name}"> <!-- object_merge_ant_object.merge.try.build.xml -->
  59. <!--<include file="{$object_modeling_new.build.xml}" as="object_modeling_new"/>
  60. <include file="{$object_merge_ant_object.build.xml}" as="object_merge_ant_object"/>-->
  61. <xsl:copy-of select="namespace::*"/>
  62. <xsl:copy-of select=".//namespace::*"/>
  63. <xsl:copy-of select="namespace::node()"/>
  64. <loadproperties srcfile="{$p5ant-interface.Macrodef.read.file.properties}" />
  65. <import file="{$p5ant-interface.Macrodef.calling.integrate.build.xml}" />
  66. <include file="{$p5suis.build}" as="p5suis" />
  67. <!--<macrodef name="{$p5ant-interface.Macrodef.new.ant.project.name}">
  68. <attribute name="srcfile"/>
  69. <attribute name="dstfile" />
  70. <sequential>
  71. <move verbose="yes" failonerror="false">
  72. <xsl:attribute name="file">@{srcfile}</xsl:attribute>
  73. <xsl:attribute name="tofile">@{dstfile}</xsl:attribute>
  74. </move>
  75. </sequential>
  76. </macrodef>-->
  77. <!--<xsl:call-template name="p5ant-interface:Macrodef.calling.integrate.target.name.inputs"/>-->
  78. <macrodef name="{*[1]/p5ant-interface:Macrodef.cleanname(local-name())}"><!-- {$p5ant-interface.Macrodef.new.ant.project.name} -->
  79. <!--<xsl:apply-templates mode="p5ant-interface:Macrodef.struct" select="*/*@*"/>-->
  80. <!-- <sequential>-->
  81. <xsl:for-each-group select="*" group-by="local-name()">
  82. <!--<xsl:apply-templates mode="p5ant-interface:Macrodef.struct" select="." />-->
  83. <xsl:apply-templates mode="p5ant-interface:Macrodef.struct" select="@*"/>
  84. <sequential>
  85. <antcall target="{$p5ant-interface.Macrodef.calling.integrate.target.name}">
  86. <xsl:for-each select="@*">
  87. <param name="{name()}">
  88. <xsl:attribute name="value">@{<xsl:value-of select="p5ant-interface:Macrodef.cleanname(name())"/>}</xsl:attribute>
  89. </param>
  90. </xsl:for-each>
  91. </antcall>
  92. </sequential>
  93. </xsl:for-each-group>
  94. <!--</sequential>-->
  95. </macrodef>
  96. <target name="{$p5ant-interface.Macrodef.new.ant.target.name}">
  97. <parallel threadcount="{$p5ant-interface.Macrodef.threadcount}">
  98. <xsl:apply-templates mode="p5ant-interface:Macrodef.calls" select="*"/>
  99. </parallel>
  100. </target>
  101. <!--<target name="p5dkp.to.dtd.confirm.MacroDef.xml">
  102. <!-\-<p5dkptodtdconfirmMacroDef>-\->
  103. <xsl:for-each select="p5dkp:ditafiles.file[p5dkp:to.dtd]">
  104. <p5dkptodtdconfirmMacroDef srcfile="{p5dkp:to.dtd/@fixed_to.dtd}" dstfile="{p5dkp:to.dtd/@p5dkp:true.path}" />
  105. </xsl:for-each>
  106. <!-\-</p5dkptodtdconfirmMacroDef>-\->
  107. </target>-->
  108. </project>
  109. </xsl:template>
  110. <xsl:function name="p5ant-interface:Macrodef.cleanname">
  111. <xsl:param name="string"/>
  112. <xsl:value-of select="replace($string,'(_)|(\.)|(-)','')"/>
  113. </xsl:function>
  114. <xsl:template mode="p5ant-interface:Macrodef.struct" match="@*">
  115. <attribute name="{p5ant-interface:Macrodef.cleanname(local-name())}"/>
  116. </xsl:template>
  117. <!--<xsl:template mode="p5ant-interface:Macrodef.struct " match="*">
  118. <element name="{replace(local-name(),'\.','_')}">
  119. <xsl:variable name="local.struct">
  120. <local.struct>
  121. <xsl:apply-templates mode="p5ant-interface:Macrodef.struct" select="@*"/>
  122. </local.struct>
  123. </xsl:variable>
  124. <xsl:copy-of select="$local.struct/local.struct/*"/>
  125. <xsl:for-each-group select="*" group-by="local-name()">
  126. <xsl:apply-templates mode="p5ant-interface:Macrodef.struct" select="." />
  127. </xsl:for-each-group>
  128. <antcall target="{$p5ant-interface.Macrodef.calling.integrate.target.name}">
  129. <xsl:for-each select="$local.struct/local.struct/*">
  130. <param name="{@name}">
  131. <xsl:attribute name="value">@{<xsl:value-of select="@name"/>}</xsl:attribute>
  132. </param>
  133. </xsl:for-each>
  134. </antcall>
  135. </element>
  136. </xsl:template>-->
  137. <xsl:template mode="p5ant-interface:Macrodef.calls " match="*">
  138. <xsl:element name="{p5ant-interface:Macrodef.cleanname(local-name())}">
  139. <xsl:apply-templates mode="#current" select="@*"/>
  140. <xsl:apply-templates mode="#current"/>
  141. </xsl:element>
  142. </xsl:template>
  143. <xsl:template mode="p5ant-interface:Macrodef.calls" match="@*">
  144. <xsl:attribute name="{p5ant-interface:Macrodef.cleanname(local-name())}" select="."/>
  145. </xsl:template>
  146. <xsl:template match="text()|comment()" mode="p5ant-interface:Macrodef.struct p5ant-interface:Macrodef.calls"/>
  147. </xsl:stylesheet>