| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- <?xml version="1.0" encoding="UTF-8"?>
- <xsl:stylesheet xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:p5bws="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/WPS_Functions.xsd"
- xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
- xmlns:p5dkp="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:p5suis="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/system_ui_info_speech/system_ui_info_speech.xsd"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:p5xsda="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/xsd_asserts/p5xsda.xsd"
- exclude-result-prefixes="xs"
- version="2.0">
- <xsl:output indent="yes"/>
- <xsl:strip-space elements="*"/>
- <xsl:param name="basedir"/>
-
- <xsl:param name="p5dkp:xsd" required="yes"/>
- <xsl:param name="p5dkp.map.etapy.xml" required="yes"/>
- <xsl:param name="debug"/>
-
- <xsl:include href="p5dkp.dita.xsl"/>
- <xsl:include href="../xsd_asserts/p5xsda.sort_elements.xsl"/>
-
- <xsl:variable name="map.etapy" select="doc($p5dkp.map.etapy.xml)"/>
-
- <xsl:template match="p5dkp:map.keys.xml" mode="p5dkp:map.wymagania.xml">
- <xsl:variable name="map.keys" select="root()"/>
- <p5dkp:map.wymagania.xml xsi:schemaLocation="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd {$p5dkp:xsd}">
- <xsl:for-each select=".//topicref[ contains(@keyscope,'wymagania.') ]"> <!-- keydef[@keys='map.etap'] -->
- <xsl:variable name="etap" select="$map.etapy/map.etapy/topicref[map.keys.eval[keys[@map.keys.eval=current()/keydef[@keys='map.etap']/@keyref]]]"/>
- <xsl:variable name="tools" select="$map.keys//topicref[keydef[map.keys.eval[keys[ @map.keys.eval=current()/keydef[@keys='map.tools']/@keyref]]]]"/>
- <!--<xsl:variable name="tools" select="$map.keys//topicref[keydef[map.keys.eval[keys[ @map.keys.eval='tools.master_server.product_no']]]]"/>-->
- <xsl:variable name="map.taskid" select="keydef[@keys='map.taskid']//keyword"/>
- <p5dkp:wymagania > <!-- xmlns="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd" -->
- <xsl:copy-of select="@*"/>
- <xsl:copy-of select="keydef/map.keys.eval"/>
- <xsl:variable name="p5dkp:dita">
- <xsl:apply-templates mode="p5dkp:dita">
- <xsl:with-param name="keyscope" select="@keyscope"/>
- <xsl:with-param name="type" select="'wymagania_no'"/>
- </xsl:apply-templates>
- </xsl:variable>
-
- <xsl:call-template name="p5xsda:sort_elements">
- <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
- <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='wymagania']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
- </xsl:call-template>
- <xsl:call-template name="p5xsda:missing_elements">
- <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
- <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='wymagania']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
- </xsl:call-template>
-
- <!--<xsl:call-template name="p5xsda:sort_elements">
- <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
- <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='etap.map']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
- </xsl:call-template>-->
-
- <!--<xsl:call-template name="p5xsda:sort_elements">
- <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
- <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"/>
- </xsl:call-template>-->
- <!--<p5dkp:dita>
- <xsl:copy-of select="$p5dkp:dita"/>
- </p5dkp:dita>-->
- <xsl:comment>#62 </xsl:comment>
- <xsl:call-template name="p5xsda:sort_elements">
- <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
- <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='etap_role.map']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
- </xsl:call-template>
- <xsl:comment>EOF #62</xsl:comment>
- <xsl:call-template name="p5xsda:sort_elements">
- <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
- <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='worker.map']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
- </xsl:call-template>
-
- <xsl:call-template name="p5xsda:sort_elements">
- <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
- <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='product.map']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
- </xsl:call-template>
-
- <xsl:call-template name="p5xsda:sort_elements">
- <xsl:with-param name="p5xsda:elements.local" select="$p5dkp:dita"/>
- <xsl:with-param name="p5xsda:xs.sequence" select="doc($p5dkp:xsd)//group[@name='services.map']/sequence" xpath-default-namespace="http://www.w3.org/2001/XMLSchema"/>
- </xsl:call-template>
-
- </p5dkp:wymagania>
- <!--<topicref>
- <xsl:copy-of select="@*"/>
- <map.role><xsl:value-of select="keydef[@keys='map.role']/@keyref"/><!-\-<xref keyref="{keydef[@keys='map.role']/@keyref}"/>-\-></map.role>
- <map.tools><xsl:value-of select="keydef[@keys='map.tools']/@keyref"/></map.tools>
- <map.etap><xsl:value-of select="keydef[@keys='map.etap']/@keyref"/><!-\-<xref keyref="{keydef[@keys='map.etap']/@keyref}"/>-\-><!-\-<xref keyref="etap.etap1.etap_numer"/>-\-></map.etap>
- <map.price><xsl:value-of select="keydef[@keys='map.price']//keyword"/><!-\-<ph keyref="{keydef[@keys='map.price']/@keyref}"/>-\-></map.price>
- <map.price_recur><xsl:value-of select="keydef[@keys='map.price_recur']//keyword"/><!-\-<ph keyref="{keydef[@keys='map.price_recur']/@keyref}"/>-\-></map.price_recur>
- <map.time><xsl:value-of select="keydef[@keys='map.time']//keyword"/><!-\-<ph keyref="{keydef[@keys='map.time']/@keyref}"/>-\-></map.time>
- <map.descr><xsl:value-of select="keydef[@keys='map.descr']//keyword"/><!-\-<ph keyref="{keydef[@keys='map.descr']/@keyref}"/>-\-></map.descr>
- <map.taskid><xsl:value-of select="keydef[@keys='map.taskid']//keyword"/><!-\-<ph keyref="{keydef[@keys='map.descr']/@keyref}"/>-\-></map.taskid>
- <map.title><xsl:value-of select="$map.keys//keydef[@keys=concat($map.taskid,'.map.title')]//keyword"/><!-\-<ph keyref="{keydef[@keys='map.descr']/@keyref}"/>-\-></map.title>
- <xsl:choose>
- <xsl:when test=" matches(keydef[@keys='map.role']/@keyref,'tool.*')">
- <tool/>
- </xsl:when>
- <xsl:otherwise>
- <person/>
- </xsl:otherwise>
- </xsl:choose>
- <sum.price_recur_etap_len>
- <xsl:choose>
- <xsl:when test="matches(keydef[@keys='map.price_recur']//keyword, 'm.*c')">
- <xsl:value-of select="keydef[@keys='map.price']//keyword * number($etap//etap_dlugosc)"/>
- </xsl:when>
- <xsl:when test="keydef[@keys='map.price_recur']//keyword=''">
- <xsl:value-of select="keydef[@keys='map.price']//keyword"/>
- </xsl:when>
- <xsl:when test="keydef[@keys='map.price_recur']//keyword='0'"><xsl:value-of select="keydef[@keys='map.price']//keyword"/></xsl:when>
- <xsl:when test="number(keydef[@keys='map.price_recur']//keyword) >0">
- <xsl:value-of select="keydef[@keys='map.price']//keyword * number($etap//etap_dlugosc) div number(keydef[@keys='map.price_recur']//keyword)" />
- </xsl:when>
- </xsl:choose>
- </sum.price_recur_etap_len>
- <map.etapy><xsl:copy-of select="$etap"/></map.etapy>
- <xsl:if test="$tools/*">
- <map.tools.obj>
- <product_no>
- <xsl:value-of select="$tools//keydef[@keys='product_no']/topicmeta//keyword/text()"/>
- </product_no>
- <product_desc>
- <xsl:value-of select="$tools//keydef[@keys='product_desc']/topicmeta//keyword/text()"/>
- </product_desc>
- <product_price>
- <xsl:value-of select="$tools//keydef[@keys='product_price']/topicmeta//keyword/text()"/>
- </product_price>
- <product_price_curr>
- <xsl:value-of select="$tools//keydef[@keys='product_price_curr']/topicmeta//keyword/text()"/>
- </product_price_curr>
- <product_type>
- <xsl:value-of select="$tools//keydef[@keys='product_type']/topicmeta//keyword/text()"/>
- </product_type>
- </map.tools.obj>
- <!-\-<xsl:copy-of select="$tools"></xsl:copy-of>-\->
-
- <!-\-<xsl:apply-templates mode="map.tools.obj" select="$tools"/>-\->
- </xsl:if>
-
- </topicref>-->
- </xsl:for-each>
- </p5dkp:map.wymagania.xml>
- </xsl:template>
-
- <xsl:template match="p5dkp:map.keys.xml" mode="p5dkp:map.zadanie.xml">
- <xsl:variable name="map.keys" select="root()"/>
- <p5dkp:map.zadanie.xml xsi:schemaLocation="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd {$p5dkp:xsd}">
- <xsl:for-each select=".//topicref[contains(@keyscope,'zadanie.') ]">
- <xsl:variable name="etap" select="$map.etapy/map.etapy/topicref[map.keys.eval[keys[@map.keys.eval=current()/keydef[@keys='map.etap']/@keyref]]]"/>
- <xsl:variable name="tools" select="$map.keys//topicref[keydef[map.keys.eval[keys[ @map.keys.eval=current()/keydef[@keys='map.tools']/@keyref]]]]"/>
- <!--<xsl:variable name="tools" select="$map.keys//topicref[keydef[map.keys.eval[keys[ @map.keys.eval='tools.master_server.product_no']]]]"/>-->
- <xsl:variable name="map.taskid" select="keydef[@keys='map.taskid']//keyword"/>
- <p5dkp:zadanie > <!-- xmlns="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd" -->
- <xsl:copy-of select="@*"/>
- <xsl:copy-of select="keydef/map.keys.eval"/>
- <xsl:if test="$debug"><DEBUG><xsl:copy-of select="."/></DEBUG></xsl:if>
- <xsl:apply-templates mode="p5dkp:dita">
- <xsl:with-param name="keyscope" select="@keyscope"/>
- <xsl:with-param name="type" select="'zadanie_no'"/>
- </xsl:apply-templates>
- </p5dkp:zadanie>
- </xsl:for-each>
- </p5dkp:map.zadanie.xml>
- </xsl:template>
-
- <xsl:template mode="p5dkp:map.zadanie.xml" match="topicref">
- <xsl:message terminate="yes">#124 error - not allowed to be topicref structurized at the moment</xsl:message>
- </xsl:template>
-
- <xsl:template mode="p5dkp:map.zadanie.xml" match="keydef">
- <xsl:element name="{@keys}">
- <xsl:value-of select="topicmeta//keyword/text()"/>
- </xsl:element>
- </xsl:template>
-
-
- <xsl:template mode="p5dkp:map.zadanie.xml" match="text()|comment()"/>
-
-
-
- </xsl:stylesheet>
|