| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446 |
- <?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"
- xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/"
- xmlns:p5ant="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache.public/ant/ant.xsd"
- exclude-result-prefixes="xs d2a"
- version="2.0">
-
- <!-- ROOT STYLE -->
-
- <xsl:include href="../documentation_generator/p5dg.filepath.xsl"/>
- <xsl:include href="d2a.ditamap.PRODUCT.xsl"/>
- <xsl:include href="d2a.new_ant_project.child.task.xsl"/>
- <xsl:include href="d2a.keyref.element.xsl"/>
-
- <xsl:output indent="yes" /> <!-- use-character-maps="myChars" -->
- <xsl:strip-space elements="*"/>
- <xsl:param name="d2a:basedir"/>
- <xsl:param name="d2a:repository"/>
-
- <xsl:param name="d2a.ditamap.INPUT" required="yes"/>
- <xsl:param name="d2a.new_module.INPUT" required="yes"/>
-
- <xsl:param name="d2a:basedir_ROOT_DITA_KEYREF" select="'basedir_ROOT_DITA_KEYREF'"/>
-
- <xsl:param name="d2a:ditaarch.keys.p5ant"> <!-- just to increase resolve speed -->
- <d2a:ditaarch.keys.p5ant keyref="platform.ant.project.element">
- <project keyref="platform.ant.project.element"/>
- <target keyref="platform.ant.project.target.ant.target">
- <exec keyref="platform.ant.project.target.exec.element">
- <ditaarch:xmlattr keyref="platform.ant.project.target.exec.executable">executable</ditaarch:xmlattr>
- <ditaarch:xmlattr keyref="platform.ant.project.target.exec.dir">dir</ditaarch:xmlattr>
- </exec>
- </target>
- </d2a:ditaarch.keys.p5ant>
- </xsl:param>
-
- <!-- how to treat dita tasks?
- ditaarch:apiname - use/about/implements
- topicmeta/keywords/keyword/text() - sets
-
- -->
-
- <!--
- set example
- <glossterm>File Separator<data><synph><delim>/</delim></synph></data></glossterm>
- -->
-
- <!--
- not so well set param
- <glossterm>
- <abbreviated-form keyref="platform.shell.bash.ARGS.parameter">-/-screenshot</abbreviated-form>
- </glossterm>
- -->
-
-
- <!-- takie przypisanie / nadpisanie sciezki
- <data keyref="wymagania.funkcje.output">
- <filepath>/Users/a.binder/Download/</filepath>
- <apiname keyref="wymagania.funkcje.output"/></data>
-
- zawsze kluczowi najpierw (parent) przypisuje wartosc (child)
- -->
-
- <!-- do poprawy
- <syntaxdiagram id="skladnia_bez_sciezki">
- <title>Nazwa pliku</title>
- <groupseq>
- <kwd keyref="platform.shell.bash.ARGS.filename"/>
- </groupseq>
- </syntaxdiagram>
- <syntaxdiagram id="skladnia_z_fullpath">
- <title>składnia z pełną ścieżką</title>
- <groupseq>
- <kwd keyref="platform.shell.bash.ARGS.filepath"/>
- <kwd keyref="platform.shell.bash.ARGS.separator"/>
- <kwd keyref="platform.shell.bash.ARGS.filename"/>
- <fragref href="#filename/skladnia_bez_sciezki"/>
- </groupseq>
- </syntaxdiagram>
- -->
-
-
-
-
- <!-- glossdef wyjasnia struktury kawalek gdzie jest domyślny folder -
- ten kawalek sie dokleja do struktury lokalziacji - w pliku
- <glossdef>Przeglądarka Intenretowa<syntaxdiagram id="folder_uruchomienia">
- <title>Domyślny folder w którym tworzą się pliki podczas tworzenia screenshot /</title>
- <groupseq>
- <kwd keyref="wymagania.funkcje.parameters.miejsce__kontekst__uruchomienia"/>
- <delim><varname keyref="platform.ant.file_separator"/></delim>
- </groupseq>
- </glossdef>
- -->
-
- <!--
- tytul nie mowi o wszytkim
- <glossterm>
- <abbreviated-form keyref="platform.shell.bash.methods.to_file"/>
- <abbreviated-form keyref="platform.shell.bash.ARGS.filename">screenshot.png</abbreviated-form>
- </glossterm>
-
- <glossdef>
- <syntaxdiagram id="syntaxdiagram_a2d_rhv_n2b">
- <title>struktura lokalizacji domyślnej tworzonego pliku
- <apiname keyref="wymagania.funkcje.output"/>
- <apiname keyref="platform.filesystem.wywolania_systemowe.write"/></title>
- <groupseq>
- <synnoteref href="google_chrome.dita#google_chrome/folder_uruchomienia"/>
- <var>screenshot.png</var>
- </groupseq>
- </syntaxdiagram>
- <p>Zawsze tworzy się ten plik jako screenshot i trzeba go zabrać.</p>
- <draft-comment author="a.binder">przyjęcie kawałka syntezy z Google Chrome - todo zlozyc to
- do interpretera<p>jako ciekawostka to jest to przez przypadek tez nazwa/cecha pliku, do
- wykorzystania kontekstowego</p></draft-comment>
- </glossdef>
-
- -->
-
- <!--<xsl:character-map name="myChars">
- <xsl:output-character character=""" string="&quot;"/>
- <xsl:output-character character="'" string="&apos;"/>
- </xsl:character-map>-->
-
- <xsl:function name="d2a:p5ant.ditamap.xmlatt">
- <xsl:param name="xmlattr.name"/>
- <xsl:param name="xmlattr.value"/>
- <xsl:attribute name="{$xmlattr.name}"><xsl:value-of select="$xmlattr.value"/></xsl:attribute>
- </xsl:function>
-
- <xsl:function name="d2a:p5ant.ditamap.xmlatt.ref">
- <xsl:param name="xmlattr.name"/>
- <xsl:param name="xmlattr.value"/>
- <xsl:attribute name="{$xmlattr.name}">${<xsl:value-of select="$xmlattr.value"/>}</xsl:attribute>
- </xsl:function>
-
- <xsl:function name="d2a:ditamap.INPUT.basedir.xmlatt.ref">
- <xsl:param name="xmlattr.name"/>
- <xsl:copy-of select="d2a:p5ant.ditamap.xmlatt.ref($xmlattr.name,concat($d2a.new_module.INPUT,'.basedir'))"/>
- <!--<xsl:attribute name="{$xmlattr.name}">${<xsl:value-of select="$d2a.new_module.INPUT"/>.basedir}</xsl:attribute>-->
- </xsl:function>
-
- <xsl:function name="d2a:ditamap.INPUT.basedir.xmlatt">
- <xsl:param name="xmlattr.name"/>
- <xsl:copy-of select="d2a:p5ant.ditamap.xmlatt($xmlattr.name,concat($d2a.new_module.INPUT,'.basedir'))"/>
- <!--<xsl:attribute name="{$xmlattr.name}">${<xsl:value-of select="$d2a.new_module.INPUT"/>.basedir}</xsl:attribute>-->
- </xsl:function>
-
- <xsl:function name="d2a:ditamap.INPUT.temp.xmlatt">
- <!-- example <property name="html2image.temp" location="/opt/local/pl.procesy5/p5build_SE/temp/WPS_Functions/html2image"/> -->
- <xsl:param name="p5dkp:ditafiles.xml"/>
- <xsl:param name="xmlattr.name"/>
- <!--<xsl:copy-of select="d2a:p5ant.ditamap.xmlatt($xmlattr.name,d2a:keyref.element.root($p5dkp:ditafiles.xml/ancestor-or-self::*,'public_html__WPS_Functions.WPS_Functions.temp'))"/>-->
- <xsl:attribute name="{$xmlattr.name}"><xsl:value-of select="d2a:keyref.element.root($p5dkp:ditafiles.xml/ancestor-or-self::*,'public_html__WPS_Functions.WPS_Functions.temp')"/><xsl:value-of select="$d2a.new_module.INPUT"/></xsl:attribute>
- <!--<xsl:attribute name="{$xmlattr.name}">${<xsl:value-of select="$d2a.new_module.INPUT"/>.basedir}</xsl:attribute>-->
- </xsl:function>
-
- <xsl:template mode="d2a:new_ant_project" match="*">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <!--<d2a:new_ant_project debug="matched28">-->
- <xsl:apply-templates mode="#current"> <!-- d2a:new_ant_project.child -->
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- <!--</d2a:new_ant_project>-->
- </xsl:template>
-
-
- <xsl:template match="p5dkp:ditafiles.xml" mode="d2a:new_ant_project.xml">
- <d2a:new_ant_project debug="matched36">
- <xsl:message>#40 OK cont </xsl:message>
- <xsl:apply-templates mode="d2a:new_ant_project" > <!-- select=".//p5dkp:ditafiles.file[@p5dkp:true.path=$d2a.ditamap.INPUT][1]" -->
- <xsl:with-param name="p5dkp:ditafiles.xml" select="root()"/>
- </xsl:apply-templates>
- </d2a:new_ant_project>
- </xsl:template>
-
-
- <xsl:template match="p5dkp:ditafiles.file[@p5dkp:true.path=$d2a.ditamap.INPUT]" mode="d2a:new_ant_project">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <create_new_WPS_Function PRODUCT.name="p5ant"
- vendor-domain="pl.procesy5.WPS_Functions.ant"
- p5ant.WPS_Functions.PRODUCT.name.input="{$d2a.new_module.INPUT}"
- p5ant.WPS_Functions.PRODUCT.prefix.input="{$d2a.new_module.INPUT}"
- basedir="{d2a:basedir(ancestor-or-self::*,$d2a:basedir_ROOT_DITA_KEYREF)}"
- p5dg:filename.true.path="{p5dg:filename(@p5dkp:true.path)}"
- p5dg:filepath.true.path="{p5dg:filepath.dir(@p5dkp:true.path)}"
- >
- <xsl:copy-of select="@*"/>
- <xsl:variable name="current" select="."/>
- <xsl:apply-templates mode="d2a:new_ant_project.child" select="doc(@p5dkp:true.path)">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="."/>
- </xsl:apply-templates>
- <xsl:apply-templates mode="d2a:PRODUCT.new_ant_project.child" select="doc(@p5dkp:true.path)">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="."/>
- </xsl:apply-templates>
- </create_new_WPS_Function>
-
- </xsl:template>
-
-
-
- <xsl:function name="d2a:exec.dir">
- <xsl:param name="p5dkp:ditafiles.xml"/> <!-- do wykrycia exec dir optymalnego dla build -->
-
- </xsl:function>
-
-
- <xsl:function name="d2a:keyref"> <!-- to detect main basedir -->
- <xsl:param name="p5dkp:ditafiles.xml"/>
- <xsl:param name="keyref"/>
- <xsl:for-each select="$p5dkp:ditafiles.xml//*[map.keys.eval[keys[@map.keys.eval=$keyref]]][1]">
- <xsl:choose>
- <xsl:when test="position()=1">
- <xsl:attribute name="location"><xsl:value-of select="@p5dkp:true.path"/></xsl:attribute>
- </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:function>
-
-
- <xsl:function name="d2a:keyref.keyword_prio"> <!-- to detect main basedir -->
- <xsl:param name="p5dkp:ditafiles.xml"/>
- <xsl:param name="keyref"/>
- <!--<d2a:keyref.keyword_prio debug="test97">-->
- <!-- todo
- <data><filepath><parmname keyref="platform.ant.project.target.exec.dir"/></filepath>
- <synph><sep><varname keyref="platform.ant.file_separator"
- >/</varname></sep><synph><var>screenshot.png</var></synph>
- </synph><apiname keyref="platform.filesystem.File"/><apiname
- keyref="wymagania.funkcje.output"/></data>
- -->
- <xsl:for-each select="$p5dkp:ditafiles.xml//*[map.keys.eval[keys[@map.keys.eval=$keyref]]][1]">
- <xsl:choose>
- <xsl:when test="position()=1 and topicmeta/keywords">
- <!--<keyword id="{@id}" name="{name()}">-->
- <!--<xsl:copy-of select="topicmeta//text()"/>-->
-
- <xsl:attribute name="value" select="topicmeta//text()"/>
- <!--</keyword>-->
- </xsl:when>
- <xsl:otherwise>
- <NOT_KEYWD_ELSE function="d2a:keyref.keyword_prio">
- <xsl:message terminate="no">#72 unintended another d2a:basedir <xsl:value-of select="@*"/>
- element: <xsl:value-of select="name()"/>
- </xsl:message>
- <!--<xsl:copy-of select="." copy-namespaces="no"/>-->
- <d2a:keyref>
- <xsl:apply-templates mode="d2a:keyref" select="*">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- </d2a:keyref>
- </NOT_KEYWD_ELSE>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- <!--</d2a:keyref.keyword_prio>-->
- <!--<xsl:for-each select="$p5dkp:ditafiles.xml/ancestor-or-self::*[descendant-or-self::map.keys.eval[keys[@map.keys.eval=$keyref]]][1]">
- <xsl:for-each select="descendant-or-self::*[ last() and descendant-or-self::map.keys.eval[keys[@map.keys.eval=$keyref]]]"> <!-\- [map.keys.eval[keys[@map.keys.eval=$keyref]]][1] -\->
- <TEST name="{name()}" id="{@id}" pos="{position()}" for="{$keyref}">
-
- </TEST>
- <!-\-<xsl:choose>
- <xsl:when test="position()=1">
- <xsl:choose>
- <xsl:when test="topicmeta/keywords/keyword/text()">
- <xsl:attribute name="value" select="topicmeta/keywords/keyword/text()"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="location"><xsl:value-of select="@p5dkp:true.path"/></xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
-
- </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:for-each>-->
-
- </xsl:function>
-
-
-
-
- <xsl:template mode="d2a:keyref" match="*">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:copy copy-namespaces="no">
- <xsl:apply-templates mode="#current">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- </xsl:copy>
- </xsl:template>
-
- <xsl:template mode="d2a:keyref" match="glossterm|data|filepath">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <!--<xsl:copy copy-namespaces="no">-->
- <xsl:apply-templates mode="#current">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- <!--</xsl:copy>-->
- </xsl:template>
-
- <xsl:template mode="d2a:keyref" match="*[@keyref]">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:copy copy-namespaces="no">
- <xsl:copy-of select="@*"></xsl:copy-of>
- <xsl:attribute name="TODO_RESOLVE_KEYREF" select="@keyref"/>
- <xsl:apply-templates mode="#current">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- </xsl:copy>
- </xsl:template>
-
- <xsl:template mode="d2a:keyref" match="map.keys.keyscope|map.keys.eval|map.keys.audience"/>
-
-
-
- <!--<xsl:template mode="d2a:keyref.keyword_prio" match="*|text()|comment()"/>-->
-
-
- <xsl:function name="d2a:basedir"> <!-- to detect main basedir -->
- <xsl:param name="p5dkp:ditafiles.xml"/>
- <xsl:param name="d2a:basedir_ROOT_DITA_KEYREF"/>
- <xsl:for-each select="$p5dkp:ditafiles.xml//*[map.keys.eval[keys[@map.keys.eval=$d2a:basedir_ROOT_DITA_KEYREF]]][1]">
- <xsl:choose>
- <xsl:when test="position()=1">
- <xsl:value-of select="p5dg:filepath.dir(@p5dkp:true.path)"/>
- </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:function>
-
- <xsl:template mode="d2a:new_ant_project.child" match="topic">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:apply-templates mode="#current">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- </xsl:template>
-
-
- <xsl:template match="task" mode="d2a:new_ant_project.child">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/> <!-- basedir_old="{d2a:basedir($p5dkp:ditafiles.xml,$d2a:basedir_ROOT_DITA_KEYREF)}" -->
- <project
- basedir="{d2a:basedir($p5dkp:ditafiles.xml/ancestor-or-self::*/descendant-or-self::*,$d2a:basedir_ROOT_DITA_KEYREF)}"
- default="default"
- name="{$d2a.new_module.INPUT}">
-
- <xsl:apply-templates mode="d2a:new_ant_project.child.task">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- </project>
- </xsl:template>
-
-
-
-
-
-
- <xsl:template match="kwd[text()]" mode="d2a:new_ant_project.child.task.bash.groupcomp">
- <arg value="{text()}"/>
- </xsl:template>
-
- <xsl:template match="var[text()]" mode="d2a:new_ant_project.child.task.bash.groupcomp">
- <arg value="{text()}"/>
- </xsl:template>
-
- <xsl:template match="var[not(text()) and *]" mode="d2a:new_ant_project.child.task.bash.groupcomp">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:apply-templates mode="d2a:new_ant_project.child.task.bash.groupcomp.var">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="*[@keyref]" mode="d2a:new_ant_project.child.task.bash.groupcomp.var">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <arg>
- <xsl:apply-templates mode="d2a:new_ant_project.child.task.bash.groupcomp.var" select="@*">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- </arg>
- </xsl:template>
-
- <xsl:template match="@*" mode="d2a:new_ant_project.child.task.bash.groupcomp.var"/>
-
-
-
- <xsl:template match="@keyref" mode="d2a:new_ant_project.child.task.bash.groupcomp.var">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:attribute name="value">${<xsl:value-of select="."/>}</xsl:attribute>
- </xsl:template>
-
- <xsl:template match="kwd[not(text()) and not(@keyref)]" mode="d2a:new_ant_project.child.task.bash.groupcomp">
- <xsl:comment>#92 kwd[not(text())]</xsl:comment>
- </xsl:template>
-
- <xsl:template match="kwd[not(text()) and @keyref]" mode="d2a:new_ant_project.child.task.bash.groupcomp">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <!--<arg debug_keyref="{@keyref}">-->
- <arg >
- <xsl:apply-templates mode="d2a:new_ant_project.child.task.bash.groupcomp.var" select="@*">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- </arg>
-
- <!--<xsl:attribute name="value"><xsl:value-of select="d2a:keyref($p5dkp:ditafiles.xml,@keyref)"/></xsl:attribute>--><!--</arg>-->
- </xsl:template>
-
- <xsl:template mode="d2a:new_ant_project.child" match="*">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <xsl:comment>#38 match <xsl:value-of select="name()"/></xsl:comment>
- <xsl:apply-templates mode="#current">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates>
- </xsl:template>
-
-
- <xsl:template mode="d2a:new_ant_project.child" match="title">
- <xsl:param name="p5dkp:ditafiles.xml" required="yes"/>
- <description><xsl:apply-templates mode="d2a:new_ant_project.child.finish">
- <xsl:with-param name="p5dkp:ditafiles.xml" select="$p5dkp:ditafiles.xml"/>
- </xsl:apply-templates></description>
- </xsl:template>
-
- <xsl:template mode="d2a:new_ant_project.child.finish" match="text()|comment()">
- <xsl:copy-of select="."/>
- </xsl:template>
-
- <xsl:template mode="d2a:new_ant_project.child.task.bash.groupcomp.var d2a:new_ant_project.child.task.bash.groupcomp d2a:new_ant_project.child.task.bash d2a:new_ant_project d2a:new_ant_project.child d2a:new_ant_project.child.task" match="text()|comment()"/>
- <xsl:template mode="d2a:new_ant_project.child.finish" match="*"/>
-
- </xsl:stylesheet>
|