Working with conditional transformation of some sort of elements, i've tried
to devide a processing into to steps of transformation.
The input-tree is like:
<glossary>
<glossentry>
<glossterm>XML</glossterm>
<glossdef>
<paragraph>...</paragraph>
<paragraph mode="note">...</paragraph>
</glossdef>
</glossentry>
</glossary>
In the first step the result tree should look like:
<div class="entry"><span class="term">XML</span>
<p>...</p>
<div class="note"><a href="/xpath-expression/to/this/element"></a></div>
</div>
The "/xpath-expression/to/this/element" then is passed to an second
transformation
style that only processes this element from the input tree and nothing else.
so i played around with several test, at least with no success. My last idea
was:
<xsl:template name="this">
<!-- generates the xpath-expression that matches the node where "this" is
called.
this whould make the template be usable in many cases.
-->
</xsl:template>
<xsl:template match="paragraph">
<xsl:parameter name="location">
<xsl:call-template name="this"/>
</xsl:parameter>
<xsl:choose>
<xsl:when test="@mode='note'">
<div class="note">
<a>
<xsl:attribute name="href">
<xsl:value-of select="$location"/>
</xsl:attribute>
</a>
</div>
</xsl:when>
<xsl:otherwise>
<p><xsl:apply-templates /></p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
perhapes someone can give me a hint, how to solve this problem
(solutions are welcome as well :-) )
thanx in advance
--
Eike Jordan <jordan(_at_)fiz-chemie(_dot_)de>
| FIZ CHEMIE BERLIN
| Franklin Str. 11 ------ ,__o
| 10587 Berlin ------ _-\_<,
| ------ (+)/'(+)
| Tel. : 0049-30-39977 214
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list