Hello,
I need some help with xslt. I try to transform xml to tex and all is working
except for one point. I have a paragraph tag and inside this a glossary tag
like this: <p>here is the text <glossterm>glossary term</glossterm> more
text</p>
I need to know if there is a punctuation mark after the glossary tag.
I tried following:
<xsl:variable name="text">
<xsl:value-of select="normalize-space(syntax:convert(parent::*))"/>
</xsl:variable>
<xsl:variable name="glossaryterm">
<xsl:value-of select="normalize-space(syntax:convert(.))"/>
</xsl:variable>
<xsl:variable name="testFall">
<xsl:value-of select="substring-after($text,$glossaryterm)"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="starts-with($testFall,',') or
starts-with($testFall,';') or starts-with($testFall,'.') or
starts-with($testFall,':') or starts-with($testFall,'?') or
starts-with($testFall,'!') or starts-with($testFall,'(') or
starts-with($testFall,')') or starts-with($testFall,'{') or
starts-with($testFall,'}') or starts-with($testFall,'[') or
starts-with($testFall,']') or starts-with($testFall,'-')">
<xsl:text>}</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>} </xsl:text>
</xsl:otherwise>
</xsl:choose>
This works only if the $glossaryterm appears only (or at least primarily)
inside the glossterm. Otherwise the $testFall contains not want I need.
Has anybody an idea how I can get the first character after the glossterm.
Many thanks
Michael
--
Michael Obermeier
UNICO Media GmbH
Softwareentwicklung & Support
Aldringenstraße 4
80639 München
UNICO Media GmbH
Geschäftsführer Christian Fuchs
Amtsgericht HRB 116178
Sitz der Gesellschaft ist München
Tel. +49-(0)89-1893533-21
Fax +49-(0)89-1893533-11
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--