procesy5_config.folders.xsl 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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:p5build_SE="http://biuro.biall-net.pl/build_SE.xsd"
  5. exclude-result-prefixes="xs"
  6. version="2.0">
  7. <xsl:output indent="yes"/>
  8. <xsl:strip-space elements="*"/>
  9. <xsl:param name="basedir" required="yes"/>
  10. <xsl:param name="p5build_SE.build_procesy5_config.folders.properties"/>
  11. <xsl:template match="procesy5_config">
  12. <xsl:apply-templates/>
  13. </xsl:template>
  14. <xsl:template match="procesy5_config.folders.server">
  15. <p5build_SE:procesy5_config.folders.server>
  16. <xsl:variable name="procesy5_config.folders.server">
  17. <xsl:apply-templates/>
  18. </xsl:variable>
  19. <!--<xsl:copy-of select="$procesy5_config.folders.server"></xsl:copy-of>-->
  20. <xsl:apply-templates select="$procesy5_config.folders.server" mode="from_tokenize"/>
  21. </p5build_SE:procesy5_config.folders.server>
  22. </xsl:template>
  23. <xsl:template match="*"/>
  24. <xsl:template match="text()">
  25. <xsl:for-each select="tokenize(.,'\[')">
  26. <lev1><xsl:attribute name="pos" select="position()"/>
  27. <xsl:for-each select="tokenize(.,'\]')">
  28. <lev2><xsl:attribute name="pos" select="position()"/>
  29. <xsl:for-each select="tokenize(.,'\n')">
  30. <levbr><xsl:attribute name="pos" select="position()"/>
  31. <xsl:for-each select=" tokenize(.,'=')">
  32. <lev3><xsl:attribute name="pos" select="position()"/>
  33. <xsl:value-of select="."/>
  34. </lev3>
  35. </xsl:for-each>
  36. </levbr>
  37. </xsl:for-each>
  38. </lev2>
  39. </xsl:for-each>
  40. </lev1>
  41. </xsl:for-each>
  42. </xsl:template>
  43. <xsl:template mode="from_tokenize" match="lev1[@pos='1']"/>
  44. <xsl:template mode="from_tokenize" match="lev1">
  45. <xsl:element name="{lev2[@pos='1']/levbr[@pos='1']/lev3[@pos='1']/text()}">
  46. <xsl:for-each select="lev2[ number(@pos) &gt; 1]">
  47. <xsl:for-each select="levbr[number(@pos) &gt;1]">
  48. <xsl:for-each select="lev3">
  49. <xsl:if test="@pos div 2 mod 1 and not(contains(.,';'))">
  50. <xsl:element name="{text()}">
  51. <xsl:value-of select=" replace( normalize-space(../lev3[@pos= number(current()/@pos)+1]),'[&quot;;]','')"/>
  52. </xsl:element>
  53. </xsl:if>
  54. </xsl:for-each>
  55. </xsl:for-each>
  56. </xsl:for-each>
  57. </xsl:element>
  58. </xsl:template>
  59. <xsl:template match="p5build_SE:procesy5_config.folders.server" mode="p5build_SE:build_procesy5_config.folders.properties.xml">
  60. <project basedir="{$basedir}" name="p5build_SE.build_procesy5_config.folders.properties.xml"
  61. default="p5build_SE.build_procesy5_config.folders.properties.xml"
  62. xmlns:p5build_SE="http://biuro.biall-net.pl/build_SE.xsd">
  63. <xsl:comment>#77 This is generated by xsl:template match="p5build_SE:procesy5_config" mode="p5build_SE:build_procesy5_config.default_db.properties.xml"</xsl:comment>
  64. <xsl:apply-templates mode="#current"/>
  65. <target name="p5build_SE.build_procesy5_config.folders.properties.xml">
  66. <echoproperties destfile="{$p5build_SE.build_procesy5_config.folders.properties}" regex="p5build_SE.build_procesy5_config.folders.*"/>
  67. </target>
  68. </project>
  69. </xsl:template>
  70. <xsl:template match="*" mode="p5build_SE:build_procesy5_config.folders.properties.xml">
  71. <xsl:param name="path" select="'p5build_SE.build_procesy5_config.folders'"/>
  72. <xsl:apply-templates mode="#current">
  73. <xsl:with-param name="path" select="concat($path,'.',name())"/>
  74. </xsl:apply-templates>
  75. </xsl:template>
  76. <xsl:template match="text()" mode="p5build_SE:build_procesy5_config.folders.properties.xml">
  77. <xsl:param name="path" required="yes"/>
  78. <property name="{$path}" value="{.}"/>
  79. </xsl:template>
  80. </xsl:stylesheet>