| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- <?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:p5dkp="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita_kosztorys_projektowy/p5dkp.xsd"
- 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:d2a="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/dita-to-ant/d2a.xsd"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:p5dg="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/documentation_generator/documentation_generator.xsd"
- exclude-result-prefixes="xs d2a system_cache__appinfo vc p5dkp p5bws p5dg"
- version="2.0">
-
-
-
- <xsl:include href="d2a.keyref.element.root.xsl"/>
-
- <xsl:output indent="yes"/>
- <xsl:strip-space elements="*"/>
-
- <xsl:param name="d2a:debug" select="'0'"/>
-
- <xsl:function name="d2a:keyref.element.loop">
- <xsl:param name="d2a:keyref.element.loop"/>
- <xsl:param name="keyref"/>
- <xsl:choose>
- <xsl:when test="count($d2a:keyref.element.loop//*[@keyref = $keyref]) >1">
- <xsl:message>#23 LOOPPP for <xsl:value-of select="$keyref"/></xsl:message>
- </xsl:when>
- <xsl:otherwise>
- <xsl:message>#27 count <xsl:value-of select="count($d2a:keyref.element.loop//*)"/></xsl:message>
- <d2a:keyref.element.loop>
- <xsl:for-each select="$d2a:keyref.element.loop//keyref">
- <xsl:copy-of select="."/>
- </xsl:for-each>
- <keyref keyref="{$keyref}"/>
- </d2a:keyref.element.loop>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:function>
-
-
-
-
- <xsl:function name="d2a:keyref.element"> <!-- to detect main basedir -->
- <xsl:param name="p5dkp:ditafiles.xml"/>
- <xsl:param name="keyref"/>
- <xsl:variable name="d2a:keyref.element.loop">
- <d2a:keyref.element.loop/>
- </xsl:variable>
- <xsl:copy-of select="d2a:keyref.element($p5dkp:ditafiles.xml,$keyref,$d2a:keyref.element.loop)"></xsl:copy-of>
- </xsl:function>
-
- <xsl:function name="d2a:keyref.element"> <!-- to detect main basedir -->
- <xsl:param name="p5dkp:ditafiles.xml"/>
- <xsl:param name="keyref"/>
- <xsl:param name="d2a:keyref.element.loop"/>
- <xsl:message>#51 analyzing for @keyref = <xsl:value-of select="$keyref"/></xsl:message>
- <xsl:variable name="d2a:keyref.element.loop" select="d2a:keyref.element.loop($d2a:keyref.element.loop,$keyref)"/>
- <xsl:choose>
- <xsl:when test="d2a:keyref.element.loop($d2a:keyref.element.loop,$keyref)">
- <xsl:for-each select="$p5dkp:ditafiles.xml/descendant-or-self::*[map.keys.eval[keys[@map.keys.eval=$keyref]]][1]">
- <xsl:choose>
- <xsl:when test="position()=1">
- <xsl:call-template name="d2a:keyref.element">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- <xsl:with-param name="keyref" select="$keyref"/>
- <xsl:with-param name="d2a:keyref.element.loop" select="$d2a:keyref.element.loop"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:message>#72 unintended another d2a:basedir <xsl:value-of select="@*"/></xsl:message>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <LOOP_58 keyref="{$keyref}" debug="raczej prostujemy output na docelowy">
-
- </LOOP_58>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:function>
-
-
-
- <xsl:template name="d2a:keyref.element">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:param name="keyref" required="yes"/>
- <xsl:param name="d2a:keyref.element.loop" required="yes"/>
- <d2a:keyref.element>
- <xsl:choose>
- <xsl:when test="p5dkp:ditafiles.file/keyword/text() and ( p5dkp:ditafiles.file/data or p5dkp:ditafiles.file/varname ) ">
- <xsl:comment>#87 when test="p5dkp:ditafiles.file/keyword/text() and ( p5dkp:ditafiles.file/data or p5dkp:ditafiles.file/varname ) </xsl:comment>
- <xsl:value-of select="p5dkp:ditafiles.file/keyword/text() and ( p5dkp:ditafiles.file/data or p5dkp:ditafiles.file/varname ) "/>
- </xsl:when>
- <xsl:when test="descendant-or-self::synph ">
- <PRIORYTET_WARTOSCI_SYNPH searched.keyref="{$keyref}">
- <!-- priorytet skladania wartosci -->
- <xsl:if test="number($d2a:debug) > 3"><debug><xsl:copy-of select="."></xsl:copy-of></debug></xsl:if>
- <xsl:apply-templates mode="d2a:keyref.element.synph" select=".">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- <xsl:with-param name="d2a:keyref.element.loop" select="$d2a:keyref.element.loop"/>
- </xsl:apply-templates>
- </PRIORYTET_WARTOSCI_SYNPH>
- </xsl:when>
- <xsl:when test="descendant-or-self::synblk">
- <PRIORYTET_WARTOSCI_SYNBLK searched.keyref="{$keyref}">
- <!-- priorytet skladania wartosci -->
- <!--<debug><xsl:copy-of select="."></xsl:copy-of></debug>-->
- <xsl:apply-templates mode="d2a:keyref.element.synph">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- <xsl:with-param name="d2a:keyref.element.loop" select="$d2a:keyref.element.loop"/>
- </xsl:apply-templates>
- </PRIORYTET_WARTOSCI_SYNBLK>
- </xsl:when>
- <!--<xsl:when test=""></xsl:when>-->
- <xsl:otherwise>
- <OTHERWISE_SSS searched.keyref="{$keyref}">
- <xsl:apply-templates mode="d2a:keyref.element.synph">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- <xsl:with-param name="d2a:keyref.element.loop" select="$d2a:keyref.element.loop"/>
- </xsl:apply-templates>
- </OTHERWISE_SSS>
- </xsl:otherwise>
- </xsl:choose>
-
- </d2a:keyref.element>
-
- </xsl:template>
-
-
- <xsl:template mode="d2a:keyref.element.synph" match="map.keys.keyscope|map.keys.eval|map.keys.audience"/>
-
- <xsl:template mode="d2a:keyref.element.synph" match="topicmeta|glossentry|glossterm|keywords">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:param name="d2a:keyref.element.loop" required="yes"/>
- <xsl:apply-templates mode="d2a:keyref.element.synph">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- <xsl:with-param name="d2a:keyref.element.loop" select="$d2a:keyref.element.loop"/>
- </xsl:apply-templates>
- </xsl:template>
-
-
- <xsl:template mode="d2a:keyref.element.synph" match="data">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:param name="d2a:keyref.element.loop" required="yes"/>
- <xsl:comment>#68 todo weryfikacja wzajemnych zaleznosci elementow w data - varname / synph - skladamy synph</xsl:comment>
- <xsl:choose>
- <xsl:when test="synph">
- <xsl:apply-templates mode="#current" select="synph">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- <xsl:with-param name="d2a:keyref.element.loop" select="$d2a:keyref.element.loop"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates mode="#current">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- <xsl:with-param name="d2a:keyref.element.loop" select="$d2a:keyref.element.loop"/>
- </xsl:apply-templates>;
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
-
- <xsl:template match="kwd[@keyref]" mode="d2a:keyref.element.synph">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:param name="d2a:keyref.element.loop" required="yes"/>
- <kwd___keyref keyref="{@keyref}">
-
- <xsl:message>#98 looking recurse for @keyref <xsl:value-of select="@keyref"/></xsl:message>
- <child_search>
- <xsl:copy-of select="d2a:keyref.element($p5dkp:ditafiles.xml/ancestor-or-self::*,@keyref,$d2a:keyref.element.loop)" copy-namespaces="no"/>
- </child_search>
- </kwd___keyref>
- </xsl:template>
-
-
- <xsl:template match="var[text()]" mode="d2a:keyref.element.synph">
- <xsl:copy-of select="text()"/>
- </xsl:template>
-
-
- <xsl:template mode="d2a:keyref.element.synph" match="*">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:param name="d2a:keyref.element.loop" required="yes"/>
- <xsl:copy copy-namespaces="no">
- <xsl:apply-templates mode="#current" select="@*">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- <xsl:with-param name="d2a:keyref.element.loop" select="$d2a:keyref.element.loop"/>
- </xsl:apply-templates>
- <xsl:apply-templates mode="#current">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- <xsl:with-param name="d2a:keyref.element.loop" select="$d2a:keyref.element.loop"/>
- </xsl:apply-templates>
- </xsl:copy>
- </xsl:template>
-
- <xsl:template mode="d2a:keyref.element.synph" match="@*"/>
-
- <xsl:template mode="d2a:keyref.element.synph" match="@keyref">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:param name="d2a:keyref.element.loop" required="yes"/>
- <xsl:variable name="keyref" select="."/>
- <d2a:keyref.element.synph debug="#139wyjasniamy klucz" klucz="{.}">
- <DEBUG140>
- <xsl:copy-of select="d2a:keyref.element($p5dkp:ditafiles.xml/ancestor-or-self::*,.,$d2a:keyref.element.loop)" copy-namespaces="no"/>
- </DEBUG140>
- <xsl:if test="number($d2a:debug) > 3"><DEBUG145>
- <xsl:for-each select="$p5dkp:ditafiles.xml/ancestor-or-self::*">
- <name name="{name()}">
- <xsl:for-each select="descendant-or-self::*">
- <xsl:choose>
- <xsl:when test="*[@map.keys.eval=$keyref]">
- <OOOKS150>
- <xsl:copy-of select="."/>
- </OOOKS150>
- </xsl:when>
- </xsl:choose>
- </xsl:for-each>
- </name>
- </xsl:for-each>
- </DEBUG145></xsl:if>
-
- </d2a:keyref.element.synph>
- </xsl:template>
-
- <xsl:template mode="d2a:keyref.element.synph" match="text()[parent::keyword]">
- <xsl:copy-of select="."/>
- </xsl:template>
-
- <xsl:template mode="d2a:keyref.element.synph" match="text()|comment()"/>
-
- </xsl:stylesheet>
|