p5dkp.map.xsl 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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:p5bws="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/WPS_Functions.xsd"
  5. xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
  6. xmlns:p5dkp="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd"
  7. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  8. xmlns:p5suis="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/system_ui_info_speech/system_ui_info_speech.xsd"
  9. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  10. xmlns:p5xsda="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/xsd_asserts/p5xsda.xsd"
  11. exclude-result-prefixes="xs"
  12. version="2.0">
  13. <xsl:output indent="yes"/>
  14. <xsl:strip-space elements="*"/>
  15. <xsl:param name="basedir"/>
  16. <xsl:param name="p5dkp:xsd" required="yes"/>
  17. <xsl:include href="p5dkp.dita.xsl"/>
  18. <xsl:include href="../xsd_asserts/p5xsda.sort_elements.xsl"/>
  19. <xsl:param name="debug"/>
  20. <xsl:template match="p5dkp:map.keys.xml" mode="p5dkp:map.etapy.xml">
  21. <p5dkp:map.etap.xml xsi:schemaLocation="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd {$p5dkp:xsd}">
  22. <xsl:for-each select=".//topicref[ contains(@keyscope,'etap.') ]"> <!-- keydef[@keys='etap_no'] and -->
  23. <p5dkp:etap > <!-- xmlns="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd" -->
  24. <xsl:copy-of select="@*"/>
  25. <xsl:copy-of select="keydef/map.keys.eval"/>
  26. <!--<etap_numer><xsl:value-of select=".//keydef[@keys='etap_numer']//keyword"/><!-\-<xref keyref="{keydef[@keys='map.role']/@keyref}"/>-\-></etap_numer>
  27. <etap_opis><xsl:value-of select=".//keydef[@keys='etap_opis']//keyword"/><!-\-<xref keyref="{keydef[@keys='map.etap']/@keyref}"/>-\-><!-\-<xref keyref="etap.etap1.etap_numer"/>-\-></etap_opis>
  28. <etap_dlugosc><xsl:value-of select=".//keydef[@keys='etap_dlugosc']//keyword"/><!-\-<ph keyref="{keydef[@keys='map.price']/@keyref}"/>-\-></etap_dlugosc>-->
  29. <xsl:if test="$debug"><DEBUG><xsl:copy-of select="."/></DEBUG></xsl:if>
  30. <xsl:variable name="p5dkp:dita">
  31. <xsl:apply-templates mode="p5dkp:dita">
  32. <xsl:with-param name="keyscope" select="@keyscope"/>
  33. <xsl:with-param name="type" select="'etap_no'"/>
  34. </xsl:apply-templates>
  35. </xsl:variable>
  36. <xsl:call-template name="p5xsda:sort_elements">
  37. <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
  38. <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='etap']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  39. </xsl:call-template>
  40. <xsl:call-template name="p5xsda:missing_elements">
  41. <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
  42. <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='etap']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  43. </xsl:call-template>
  44. </p5dkp:etap>
  45. </xsl:for-each>
  46. </p5dkp:map.etap.xml>
  47. </xsl:template>
  48. <xsl:template match="p5dkp:map.keys.xml" mode="p5dkp:map.worker.xml">
  49. <p5dkp:map.worker.xml xsi:schemaLocation="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd {$p5dkp:xsd}">
  50. <xsl:for-each select=".//topicref[ contains(@keyscope,'worker.') ]"> <!-- keydef[@keys='map.etap'] -->
  51. <!--<xsl:variable name="etap" select="$map.etapy/map.etapy/topicref[map.keys.eval[keys[@map.keys.eval=current()/keydef[@keys='map.etap']/@keyref]]]"/>-->
  52. <!--<xsl:variable name="tools" select="$map.keys//topicref[keydef[map.keys.eval[keys[ @map.keys.eval=current()/keydef[@keys='map.tools']/@keyref]]]]"/>-->
  53. <!--<xsl:variable name="tools" select="$map.keys//topicref[keydef[map.keys.eval[keys[ @map.keys.eval='tools.master_server.product_no']]]]"/>-->
  54. <!--<xsl:variable name="map.taskid" select="keydef[@keys='map.taskid']//keyword"/>-->
  55. <p5dkp:worker >
  56. <xsl:copy-of select="@*"/>
  57. <xsl:copy-of select="keydef/map.keys.eval"/>
  58. <xsl:variable name="p5dkp:dita">
  59. <xsl:apply-templates mode="p5dkp:dita">
  60. <xsl:with-param name="keyscope" select="@keyscope"/>
  61. <xsl:with-param name="type" select="'worker_no'"/>
  62. </xsl:apply-templates>
  63. </xsl:variable>
  64. <xsl:call-template name="p5xsda:sort_elements">
  65. <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
  66. <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='worker']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  67. </xsl:call-template>
  68. <xsl:call-template name="p5xsda:missing_elements">
  69. <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
  70. <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='worker']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  71. </xsl:call-template>
  72. <xsl:call-template name="p5xsda:sort_elements">
  73. <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
  74. <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='role.map']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  75. </xsl:call-template>
  76. </p5dkp:worker>
  77. </xsl:for-each>
  78. </p5dkp:map.worker.xml>
  79. </xsl:template>
  80. <xsl:template match="p5dkp:map.keys.xml" mode="p5dkp:map.product.xml">
  81. <p5dkp:map.product.xml xsi:schemaLocation="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd {$p5dkp:xsd}">
  82. <xsl:for-each select=".//topicref[ contains(@keyscope,'product.') ]"> <!-- keydef[@keys='map.etap'] -->
  83. <p5dkp:product > <!-- xmlns="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd" -->
  84. <xsl:copy-of select="@*"/>
  85. <xsl:copy-of select="keydef/map.keys.eval" copy-namespaces="no"/>
  86. <xsl:variable name="p5dkp:dita">
  87. <xsl:apply-templates mode="p5dkp:dita">
  88. <xsl:with-param name="keyscope" select="@keyscope"/>
  89. <xsl:with-param name="type" select="'product_no'"/>
  90. </xsl:apply-templates>
  91. </xsl:variable>
  92. <xsl:call-template name="p5xsda:sort_elements">
  93. <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
  94. <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='product']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  95. </xsl:call-template>
  96. <xsl:call-template name="p5xsda:missing_elements">
  97. <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
  98. <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='product']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  99. </xsl:call-template>
  100. </p5dkp:product>
  101. </xsl:for-each>
  102. </p5dkp:map.product.xml>
  103. </xsl:template>
  104. <xsl:template match="p5dkp:map.keys.xml" mode="p5dkp:map.role.xml">
  105. <p5dkp:map.role.xml xsi:schemaLocation="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd {$p5dkp:xsd}">
  106. <xsl:for-each select=".//topicref[ contains(@keyscope,'role.') ]"> <!-- keydef[@keys='map.etap'] -->
  107. <!--<xsl:variable name="etap" select="$map.etapy/map.etapy/topicref[map.keys.eval[keys[@map.keys.eval=current()/keydef[@keys='map.etap']/@keyref]]]"/>
  108. <xsl:variable name="tools" select="$map.keys//topicref[keydef[map.keys.eval[keys[ @map.keys.eval=current()/keydef[@keys='map.tools']/@keyref]]]]"/>-->
  109. <!--<xsl:variable name="tools" select="$map.keys//topicref[keydef[map.keys.eval[keys[ @map.keys.eval='tools.master_server.product_no']]]]"/>-->
  110. <!--<xsl:variable name="map.taskid" select="keydef[@keys='map.taskid']//keyword"/>-->
  111. <p5dkp:role > <!-- xmlns="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd" -->
  112. <xsl:copy-of select="@*"/>
  113. <xsl:copy-of select="keydef/map.keys.eval" copy-namespaces="no"/>
  114. <xsl:variable name="p5dkp:dita">
  115. <xsl:apply-templates mode="p5dkp:dita">
  116. <xsl:with-param name="keyscope" select="@keyscope"/>
  117. <xsl:with-param name="type" select="'role_no'"/>
  118. </xsl:apply-templates>
  119. </xsl:variable>
  120. <xsl:call-template name="p5xsda:sort_elements">
  121. <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
  122. <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='role']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  123. </xsl:call-template>
  124. <xsl:call-template name="p5xsda:missing_elements">
  125. <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
  126. <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='role']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
  127. </xsl:call-template>
  128. </p5dkp:role>
  129. </xsl:for-each>
  130. </p5dkp:map.role.xml>
  131. </xsl:template>
  132. </xsl:stylesheet>