| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- This file is part of the DITA Open Toolkit project hosted on
- Sourceforge.net. See the accompanying license.txt file for
- applicable licenses.-->
- <!-- (c) Copyright IBM Corp. 2007 All Rights Reserved. -->
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
- <!-- ========== Flagging with flags & revisions ========== -->
-
- <!-- Flags - based on audience, product, platform, and otherprops in the source
- AND prop elements in the val file:
- Flag the text with the artwork from the val file & insert the ALT text from the val file.
- For multiple attr values, output each flag in turn.
- -->
- <xsl:template match="*" mode="getrules">
- <xsl:variable name="domains">
- <xsl:value-of select="normalize-space(ancestor-or-self::*[contains(@class,' topic/topic ')][1]/@domains)"/>
- </xsl:variable>
- <xsl:variable name="tmp_props">
- <xsl:call-template name="getExtProps">
- <xsl:with-param name="domains" select="$domains"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="props">
- <xsl:value-of select="substring-after($tmp_props, ',')"/>
- </xsl:variable>
-
- <!-- Test for the flagging attributes. If found, call 'gen-prop' with the values to use. Otherwise return -->
- <xsl:if test="@audience and not($filterFile='')">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="'audience'"/>
- <xsl:with-param name="flag-att-val" select="@audience"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:if test="@platform and not($filterFile='')">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="'platform'"/>
- <xsl:with-param name="flag-att-val" select="@platform"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:if test="@product and not($filterFile='')">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="'product'"/>
- <xsl:with-param name="flag-att-val" select="@product"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:if test="@otherprops and not($filterFile='')">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="'otherprops'"/>
- <xsl:with-param name="flag-att-val" select="@otherprops"/>
- </xsl:call-template>
- </xsl:if>
-
- <xsl:if test="@rev and not($filterFile='')">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="'rev'"/>
- <xsl:with-param name="flag-att-val" select="@rev"/>
- </xsl:call-template>
- </xsl:if>
-
- <xsl:if test="not($props='') and not($filterFile='')">
- <xsl:call-template name="ext-getrules">
- <xsl:with-param name="props" select="$props"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
- <xsl:template name="getExtProps">
- <xsl:param name="domains"/>
-
- <xsl:choose>
- <xsl:when test="contains($domains, 'a(props')">
- <xsl:text>,</xsl:text><xsl:value-of select="normalize-space(concat('props',substring-before(substring-after($domains,'a(props'), ')')))"/>
- <xsl:call-template name="getExtProps">
- <xsl:with-param name="domains" select="substring-after(substring-after($domains,'a(props'), ')')"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise/>
- </xsl:choose>
- </xsl:template>
- <xsl:template name="ext-getrules">
- <xsl:param name="props"/>
- <xsl:param name="node"/>
-
- <xsl:choose>
- <xsl:when test="contains($props,',')">
- <xsl:variable name="propsValue">
- <xsl:call-template name="getPropsValue">
- <xsl:with-param name="propsPath" select="substring-before($props,',')"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="propName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="substring-before($props,',')"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="not($propsValue='')">
- <xsl:call-template name="ext-gen-prop">
- <xsl:with-param name="flag-att-path" select="substring-before($props,',')"/>
- <xsl:with-param name="flag-att-val" select="$propsValue"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:call-template name="ext-getrules">
- <xsl:with-param name="props" select="substring-after($props,',')"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="propsValue">
- <xsl:call-template name="getPropsValue">
- <xsl:with-param name="propsPath" select="$props"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="propName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="$props"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="not($propsValue='')">
- <xsl:call-template name="ext-gen-prop">
- <xsl:with-param name="flag-att-path" select="$props"/>
- <xsl:with-param name="flag-att-val" select="$propsValue"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="getPropsValue">
- <xsl:param name="propsPath"/>
- <xsl:variable name="propName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="$propsPath"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="@*[name()=$propName]">
- <xsl:value-of select="@*[name()=$propName]"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="getGeneralValue">
- <xsl:with-param name="propName" select="$propName"/>
- <xsl:with-param name="propsPath" select="normalize-space(substring-before($propsPath, $propName))"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="getGeneralValue">
- <xsl:param name="propsPath"/>
- <xsl:param name="propName"/>
- <xsl:variable name="propParentName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="$propsPath"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <xsl:when test="contains(@*[name()=$propParentName],concat($propName,'('))">
- <xsl:value-of select="substring-before(substring-after(@*[name()=$propParentName],concat($propName,'(')),')')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="contains($propsPath,' ')">
- <xsl:call-template name="getGeneralValue">
- <xsl:with-param name="propName" select="$propName"/>
- <xsl:with-param name="propsPath" select="normalize-space(substring-before($propsPath, $propParentName))"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise/>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:template>
-
- <xsl:template name="getLastPropName">
- <xsl:param name="propsPath"/>
- <xsl:choose>
- <xsl:when test="contains($propsPath,' ')">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="substring-after($propsPath,' ')"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$propsPath"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <!-- No flagging attrs allowed to process in phrases - output a message when in debug mode. -->
- <xsl:template name="flagcheck">
- </xsl:template>
- <xsl:template name="ext-flagcheck">
- <xsl:param name="props"/>
- <xsl:choose>
- <xsl:when test="contains($props,',')">
- <xsl:variable name="propsValue">
- <xsl:call-template name="getPropsValue">
- <xsl:with-param name="propsPath" select="substring-before($props,',')"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="propName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="substring-before($props,',')"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="not($propsValue='')">
-
- </xsl:if>
-
- <xsl:call-template name="ext-flagcheck">
- <xsl:with-param name="props" select="substring-after($props,',')"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="propsValue">
- <xsl:call-template name="getPropsValue">
- <xsl:with-param name="propsPath" select="$props"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="propName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="$props"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="not($propsValue='')">
-
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <xsl:template name="getrules-parent">
- <xsl:variable name="domains">
- <xsl:value-of select="normalize-space(ancestor::*[contains(@class,' topic/topic ')][1]/@domains)"/>
- </xsl:variable>
- <xsl:variable name="props">
- <xsl:if test="contains($domains, 'a(props')">
- <xsl:value-of select="normalize-space(substring-before(substring-after($domains,'a(props'), ')'))"/>
- </xsl:if>
- </xsl:variable>
-
- <!-- Test for the flagging attributes on the parent.
- If found and if the filterFile name was passed in,
- call 'gen-prop' with the values to use. Otherwise return -->
- <xsl:if test="../@audience and not($filterFile='')">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="'audience'"/>
- <xsl:with-param name="flag-att-val" select="../@audience"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:if test="../@platform and not($filterFile='')">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="'platform'"/>
- <xsl:with-param name="flag-att-val" select="../@platform"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:if test="../@product and not($filterFile='')">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="'product'"/>
- <xsl:with-param name="flag-att-val" select="../@product"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:if test="../@otherprops and not($filterFile='')">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="'otherprops'"/>
- <xsl:with-param name="flag-att-val" select="../@otherprops"/>
- </xsl:call-template>
- </xsl:if>
-
- <xsl:if test="../@rev and not(@rev) and not($filterFile='')">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="'rev'"/>
- <xsl:with-param name="flag-att-val" select="../@rev"/>
- </xsl:call-template>
- </xsl:if>
-
- <xsl:if test="not($props='') and not($filterFile='')">
- <xsl:call-template name="ext-getrules-parent">
- <xsl:with-param name="props" select="$props"/>
- </xsl:call-template>
- </xsl:if>
-
- </xsl:template>
- <xsl:template name="ext-getrules-parent">
- <xsl:param name="props"/>
- <xsl:choose>
- <xsl:when test="contains($props,',')">
- <xsl:variable name="propsValue">
- <xsl:call-template name="getPropsValue-parent">
- <xsl:with-param name="propsPath" select="substring-before($props,',')"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="propName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="substring-before($props,',')"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="not($propsValue='')">
- <xsl:call-template name="ext-gen-prop">
- <xsl:with-param name="flag-att-path" select="substring-before($props,',')"/>
- <xsl:with-param name="flag-att-val" select="$propsValue"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:call-template name="ext-getrules-parent">
- <xsl:with-param name="props" select="substring-after($props,',')"/>
- </xsl:call-template>
- </xsl:when>
-
- <xsl:otherwise>
- <xsl:variable name="propsValue">
- <xsl:call-template name="getPropsValue-parent">
- <xsl:with-param name="propsPath" select="$props"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="propName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="$props"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="not($propsValue='')">
- <xsl:call-template name="ext-gen-prop">
- <xsl:with-param name="flag-att-path" select="$props"/>
- <xsl:with-param name="flag-att-val" select="$propsValue"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:template>
-
- <xsl:template name="getPropsValue-parent">
- <xsl:param name="propsPath"/>
- <xsl:variable name="propName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="$propsPath"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="../@*[name()=$propName]">
- <xsl:value-of select="../@*[name()=$propName]"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="getGeneralValue-parent">
- <xsl:with-param name="propName" select="$propName"/>
- <xsl:with-param name="propsPath" select="normalize-space(substring-before($propsPath, $propName))"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="getGeneralValue-parent">
- <xsl:param name="propsPath"/>
- <xsl:param name="propName"/>
- <xsl:variable name="propParentName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="$propsPath"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <xsl:when test="contains(../@*[name()=$propParentName],concat($propName,'('))">
- <xsl:value-of select="substring-before(substring-after(../@*[name()=$propParentName],concat($propName,'(')),')')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="contains($propsPath,' ')">
- <xsl:call-template name="getGeneralValue-parent">
- <xsl:with-param name="propName" select="$propName"/>
- <xsl:with-param name="propsPath" select="normalize-space(substring-before($propsPath, $propParentName))"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise/>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:template>
-
- <!-- Use passed attr value to mark each active flag. -->
- <xsl:template name="ext-gen-prop">
- <xsl:param name="flag-att-path"/>
- <xsl:param name="flag-att-val"/>
- <xsl:variable name="propName">
- <xsl:call-template name="getLastPropName">
- <xsl:with-param name="propsPath" select="$flag-att-path"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="flag-result">
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att" select="$propName"/>
- <xsl:with-param name="flag-att-val" select="$flag-att-val"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$flag-result/prop">
- <xsl:copy-of select="$flag-result"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="contains($flag-att-path,' ')">
- <xsl:call-template name="ext-gen-prop">
- <xsl:with-param name="flag-att-path" select="normalize-space(substring-before($flag-att-path, $propName))"/>
- <xsl:with-param name="flag-att-val" select="$flag-att-val"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <xsl:template name="gen-prop">
- <xsl:param name="flag-att"/> <!-- attribute name -->
- <xsl:param name="flag-att-val"/> <!-- content of attribute -->
-
- <!-- Determine the first flag value, which is the value before the first space -->
- <xsl:variable name="firstflag">
- <xsl:choose>
- <xsl:when test="contains($flag-att-val,' ')">
- <xsl:value-of select="substring-before($flag-att-val,' ')"/>
- </xsl:when>
- <xsl:otherwise> <!-- no space, one value -->
- <xsl:value-of select="$flag-att-val"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Determine the other flag values, after the first space -->
- <xsl:variable name="moreflags">
- <xsl:choose>
- <xsl:when test="contains($flag-att-val,' ')">
- <xsl:value-of select="substring-after($flag-att-val,' ')"/>
- </xsl:when>
- <xsl:otherwise/> <!-- no space, one value -->
- </xsl:choose>
- </xsl:variable>
-
- <xsl:choose> <!-- Ensure there's an image to get, otherwise don't insert anything -->
- <xsl:when test="$flag-att='rev' and $flagsParams/val/revprop[@val=$firstflag][@action='flag']">
- <xsl:copy-of select="$flagsParams/val/revprop[@val=$firstflag][@action='flag']"/>
- </xsl:when>
- <xsl:when test="$flagsParams/val/prop[@att=$flag-att][@val=$firstflag][@action='flag']">
- <xsl:copy-of select="$flagsParams/val/prop[@att=$flag-att][@val=$firstflag][@action='flag']"/>
- </xsl:when>
- <xsl:otherwise/> <!-- that flag not active -->
- </xsl:choose>
-
- <!-- keep testing other values -->
- <xsl:choose>
- <xsl:when test="string-length($moreflags)>0">
- <!-- more values - call it again with remaining values -->
- <xsl:call-template name="gen-prop">
- <xsl:with-param name="flag-att"><xsl:value-of select="$flag-att"/></xsl:with-param>
- <xsl:with-param name="flag-att-val"><xsl:value-of select="$moreflags"/></xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise/> <!-- no more values -->
- </xsl:choose>
-
- </xsl:template>
- <!-- Use @rev to find the first active flagged revision.
- Return 1 for active.
- Return 0 for non-active. -->
- <xsl:template name="find-active-rev-flag">
- <xsl:param name="allrevs"/>
- <!-- Determine the first rev value, which is the value before the first space -->
- <xsl:variable name="firstrev">
- <xsl:choose>
- <xsl:when test="contains($allrevs,' ')">
- <xsl:value-of select="substring-before($allrevs,' ')"/>
- </xsl:when>
- <xsl:otherwise> <!-- no space, one value -->
- <xsl:value-of select="$allrevs"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Determine the other rev value, after the first space -->
- <xsl:variable name="morerevs">
- <xsl:choose>
- <xsl:when test="contains($allrevs,' ')">
- <xsl:value-of select="substring-after($allrevs,' ')"/>
- </xsl:when>
- <xsl:otherwise/> <!-- no space, one value -->
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$flagsParams/val/revprop[@val=$firstrev][@action='flag']">
- <xsl:value-of select="1"/> <!-- rev active -->
- </xsl:when>
- <xsl:otherwise> <!-- rev not active -->
- <!-- keep testing other values -->
- <xsl:choose>
- <xsl:when test="string-length($morerevs)>0">
- <!-- more values - call it again with remaining values -->
- <xsl:call-template name="find-active-rev-flag">
- <xsl:with-param name="allrevs"><xsl:value-of select="$morerevs"/></xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise> <!-- no more values - none found -->
- <xsl:value-of select="0"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <!-- Use @rev to find the first active styled revision.
- Return color setting when active.
- Return null for non-active. -->
- <xsl:template name="find-active-rev-style">
- <xsl:param name="allrevs"/>
- <!-- Determine the first rev value, which is the value before the first space -->
- <xsl:variable name="firstrev">
- <xsl:choose>
- <xsl:when test="contains($allrevs,' ')">
- <xsl:value-of select="substring-before($allrevs,' ')"/>
- </xsl:when>
- <xsl:otherwise> <!-- no space, one value -->
- <xsl:value-of select="$allrevs"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Determine the other rev value, after the first space -->
- <xsl:variable name="morerevs">
- <xsl:choose>
- <xsl:when test="contains($allrevs,' ')">
- <xsl:value-of select="substring-after($allrevs,' ')"/>
- </xsl:when>
- <xsl:otherwise/> <!-- no space, one value -->
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$flagsParams/val/revprop[@val=$firstrev]/@style">
- <!-- rev active -->
- <xsl:value-of select="$flagsParams/val/revprop[@val=$firstrev]/@style"/>
- </xsl:when>
- <xsl:otherwise> <!-- rev not active -->
- <!-- keep testing other values -->
- <xsl:choose>
- <xsl:when test="string-length($morerevs)>0">
- <!-- more values - call it again with remaining values -->
- <xsl:call-template name="find-active-rev-style">
- <xsl:with-param name="allrevs"><xsl:value-of select="$morerevs"/></xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise/> <!-- no more values - none found -->
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <xsl:template match="*" mode="conflict-check">
- <xsl:param name="flagrules"/>
- <xsl:choose>
- <xsl:when test="$flagrules/*">
- <xsl:apply-templates select="$flagrules/*[1]" mode="conflict-check"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'false'"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="prop|revprop" mode="conflict-check">
- <xsl:param name="color"/>
- <xsl:param name="backcolor"/>
-
- <xsl:choose>
- <xsl:when test="(@color and @color!='' and $color!='' and $color!=@color)or(@backcolor and @backcolor!='' and $backcolor!='' and $backcolor!=@backcolor)">
- <xsl:value-of select="'true'"/>
- </xsl:when>
- <xsl:when test="following-sibling::*">
- <xsl:apply-templates select="following-sibling::*[1]" mode="conflict-check">
- <xsl:with-param name="color" select="@color"/>
- <xsl:with-param name="backcolor" select="@backcolor"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'false'"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
- <!-- ===================================================================== -->
- </xsl:stylesheet>
|